ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

 /* $Id$ */

#include "AliMUONDDLTracker.h"
#include "AliMUONBusStruct.h"
#include "AliMUONDspHeader.h"
#include "AliMUONBlockHeader.h"


//-----------------------------------------------------------------------------
/// \class AliMUONDDLTracker
///
/// A wrapper object for 1 DDL of the MUON tracking chambers.
///
/// \author C. Finck
//-----------------------------------------------------------------------------

/// \cond CLASSIMP
ClassImp(AliMUONDDLTracker)
/// \endcond

//___________________________________________
AliMUONDDLTracker::AliMUONDDLTracker(TRootIOCtor* /*dummy*/)
:  TObject(),
fBlkHeaderArray(0x0)
{
  ///
  ///ctor
  ///
}

//___________________________________________
AliMUONDDLTracker::AliMUONDDLTracker()
  :  TObject(),
     fBlkHeaderArray(new TClonesArray("AliMUONBlockHeader", 2))
{
  ///
  ///ctor
  ///

}

//___________________________________________
AliMUONDDLTracker::~AliMUONDDLTracker()
{
  ///
  ///dtor
  ///
  fBlkHeaderArray->Delete();
  delete fBlkHeaderArray;

}

//___________________________________________
void AliMUONDDLTracker::AddBusPatch(const AliMUONBusStruct& busPatch, Int_t iBlock, Int_t iDsp )
{
  /// adding bus patch informations
  /// for a given block & Dsp structure
  /// using TClonesArrays

  AliMUONBlockHeader* blockHeader = (AliMUONBlockHeader*)fBlkHeaderArray->At(iBlock);
  AliMUONDspHeader* dspHeader     = (AliMUONDspHeader*)blockHeader->GetDspHeaderEntry(iDsp);

  TClonesArray* busPatchArray = (TClonesArray*)dspHeader->GetBusPatchArray();

  TClonesArray &eventArray = *busPatchArray;
  new(eventArray[eventArray.GetEntriesFast()]) AliMUONBusStruct(busPatch);
}

//___________________________________________
void AliMUONDDLTracker::AddDspHeader(const AliMUONDspHeader& dspHeader, Int_t iBlock)
{
  /// adding DspHeader informations
  /// for a given block structure
  /// using TClonesArrays

  AliMUONBlockHeader* blockHeader = (AliMUONBlockHeader*)fBlkHeaderArray->At(iBlock);

  TClonesArray* dspHeaderArray = (TClonesArray*)blockHeader->GetDspHeaderArray();

  TClonesArray &dspArray = *dspHeaderArray;
  new(dspArray[dspArray.GetEntriesFast()]) AliMUONDspHeader(dspHeader);
}

//___________________________________________
void AliMUONDDLTracker::AddBlkHeader(const AliMUONBlockHeader& blkHeader)
{
  /// adding Block header informations
  /// for a given block structure
  /// using TClonesArrays

  TClonesArray &blkArray = *fBlkHeaderArray;
  new(blkArray[blkArray.GetEntriesFast()]) AliMUONBlockHeader(blkHeader);
}

//___________________________________________
void AliMUONDDLTracker::Clear(Option_t* )
{
  /// Clear TClones arrays
  /// instead of deleting
  ///
  fBlkHeaderArray->Clear("C");

}
 AliMUONDDLTracker.cxx:1
 AliMUONDDLTracker.cxx:2
 AliMUONDDLTracker.cxx:3
 AliMUONDDLTracker.cxx:4
 AliMUONDDLTracker.cxx:5
 AliMUONDDLTracker.cxx:6
 AliMUONDDLTracker.cxx:7
 AliMUONDDLTracker.cxx:8
 AliMUONDDLTracker.cxx:9
 AliMUONDDLTracker.cxx:10
 AliMUONDDLTracker.cxx:11
 AliMUONDDLTracker.cxx:12
 AliMUONDDLTracker.cxx:13
 AliMUONDDLTracker.cxx:14
 AliMUONDDLTracker.cxx:15
 AliMUONDDLTracker.cxx:16
 AliMUONDDLTracker.cxx:17
 AliMUONDDLTracker.cxx:18
 AliMUONDDLTracker.cxx:19
 AliMUONDDLTracker.cxx:20
 AliMUONDDLTracker.cxx:21
 AliMUONDDLTracker.cxx:22
 AliMUONDDLTracker.cxx:23
 AliMUONDDLTracker.cxx:24
 AliMUONDDLTracker.cxx:25
 AliMUONDDLTracker.cxx:26
 AliMUONDDLTracker.cxx:27
 AliMUONDDLTracker.cxx:28
 AliMUONDDLTracker.cxx:29
 AliMUONDDLTracker.cxx:30
 AliMUONDDLTracker.cxx:31
 AliMUONDDLTracker.cxx:32
 AliMUONDDLTracker.cxx:33
 AliMUONDDLTracker.cxx:34
 AliMUONDDLTracker.cxx:35
 AliMUONDDLTracker.cxx:36
 AliMUONDDLTracker.cxx:37
 AliMUONDDLTracker.cxx:38
 AliMUONDDLTracker.cxx:39
 AliMUONDDLTracker.cxx:40
 AliMUONDDLTracker.cxx:41
 AliMUONDDLTracker.cxx:42
 AliMUONDDLTracker.cxx:43
 AliMUONDDLTracker.cxx:44
 AliMUONDDLTracker.cxx:45
 AliMUONDDLTracker.cxx:46
 AliMUONDDLTracker.cxx:47
 AliMUONDDLTracker.cxx:48
 AliMUONDDLTracker.cxx:49
 AliMUONDDLTracker.cxx:50
 AliMUONDDLTracker.cxx:51
 AliMUONDDLTracker.cxx:52
 AliMUONDDLTracker.cxx:53
 AliMUONDDLTracker.cxx:54
 AliMUONDDLTracker.cxx:55
 AliMUONDDLTracker.cxx:56
 AliMUONDDLTracker.cxx:57
 AliMUONDDLTracker.cxx:58
 AliMUONDDLTracker.cxx:59
 AliMUONDDLTracker.cxx:60
 AliMUONDDLTracker.cxx:61
 AliMUONDDLTracker.cxx:62
 AliMUONDDLTracker.cxx:63
 AliMUONDDLTracker.cxx:64
 AliMUONDDLTracker.cxx:65
 AliMUONDDLTracker.cxx:66
 AliMUONDDLTracker.cxx:67
 AliMUONDDLTracker.cxx:68
 AliMUONDDLTracker.cxx:69
 AliMUONDDLTracker.cxx:70
 AliMUONDDLTracker.cxx:71
 AliMUONDDLTracker.cxx:72
 AliMUONDDLTracker.cxx:73
 AliMUONDDLTracker.cxx:74
 AliMUONDDLTracker.cxx:75
 AliMUONDDLTracker.cxx:76
 AliMUONDDLTracker.cxx:77
 AliMUONDDLTracker.cxx:78
 AliMUONDDLTracker.cxx:79
 AliMUONDDLTracker.cxx:80
 AliMUONDDLTracker.cxx:81
 AliMUONDDLTracker.cxx:82
 AliMUONDDLTracker.cxx:83
 AliMUONDDLTracker.cxx:84
 AliMUONDDLTracker.cxx:85
 AliMUONDDLTracker.cxx:86
 AliMUONDDLTracker.cxx:87
 AliMUONDDLTracker.cxx:88
 AliMUONDDLTracker.cxx:89
 AliMUONDDLTracker.cxx:90
 AliMUONDDLTracker.cxx:91
 AliMUONDDLTracker.cxx:92
 AliMUONDDLTracker.cxx:93
 AliMUONDDLTracker.cxx:94
 AliMUONDDLTracker.cxx:95
 AliMUONDDLTracker.cxx:96
 AliMUONDDLTracker.cxx:97
 AliMUONDDLTracker.cxx:98
 AliMUONDDLTracker.cxx:99
 AliMUONDDLTracker.cxx:100
 AliMUONDDLTracker.cxx:101
 AliMUONDDLTracker.cxx:102
 AliMUONDDLTracker.cxx:103
 AliMUONDDLTracker.cxx:104
 AliMUONDDLTracker.cxx:105
 AliMUONDDLTracker.cxx:106
 AliMUONDDLTracker.cxx:107
 AliMUONDDLTracker.cxx:108
 AliMUONDDLTracker.cxx:109
 AliMUONDDLTracker.cxx:110
 AliMUONDDLTracker.cxx:111
 AliMUONDDLTracker.cxx:112
 AliMUONDDLTracker.cxx:113
 AliMUONDDLTracker.cxx:114
 AliMUONDDLTracker.cxx:115
 AliMUONDDLTracker.cxx:116
 AliMUONDDLTracker.cxx:117
 AliMUONDDLTracker.cxx:118