]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONDDLTracker.cxx
Removing leftover return
[u/mrichter/AliRoot.git] / MUON / AliMUONDDLTracker.cxx
index 0f9b61b4ad49e1d78f328cb0433e389cb0926581..afd30c3761326798e734ad0359ed1351500d719b 100644 (file)
  * about the suitability of this software for any purpose. It is          *
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
+
+ /* $Id$ */
+
 #include "AliMUONDDLTracker.h"
-#include "AliRawDataHeader.h"
+#include "AliMUONBusStruct.h"
+#include "AliMUONDspHeader.h"
+#include "AliMUONBlockHeader.h"
 
-ClassImp(AliMUONDDLTracker)
 
-///
+//-----------------------------------------------------------------------------
 /// \class AliMUONDDLTracker
 ///
 /// A wrapper object for 1 DDL of the MUON tracking chambers.
 ///
 /// \author C. Finck
+//-----------------------------------------------------------------------------
+
+/// \cond CLASSIMP
+ClassImp(AliMUONDDLTracker)
+/// \endcond
 
- const Int_t AliMUONDDLTracker::fgkBlkHeaderLength = 8;
- const Int_t AliMUONDDLTracker::fgkDspHeaderLength = 8;
- const Int_t AliMUONDDLTracker::fgkEndOfDDL = 0x0FFFFFFFF;
+//___________________________________________
+AliMUONDDLTracker::AliMUONDDLTracker(TRootIOCtor* /*dummy*/)
+:  TObject(),
+fBlkHeaderArray(0x0)
+{
+  ///
+  ///ctor
+  ///
+}
 
 //___________________________________________
 AliMUONDDLTracker::AliMUONDDLTracker()
   :  TObject(),
-     fTotalBlkLength(0),
-     fBlkLength(0),
-     fDSPId(0),
-     fPadding(0x0DEADDEAD),
-     fTotalDspLength(0),
-     fDspLength(0),
-     fDSPId1(0),
-     fEventWord(0) 
+     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 )
 {
-  //ctor
-  for (Int_t i = 0; i < 4; i++)
-    fBlkTriggerWord[i] = fDspTriggerWord[i] = 0;
+  /// 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");
+
 }