]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONDDLTracker.h
Raw2SDigits() restored and improved.
[u/mrichter/AliRoot.git] / MUON / AliMUONDDLTracker.h
index 311b9856136252061db3d1f8a578f0259b68ee03..162f8762c4570039db45ec0b8829d93ca93aeb3b 100644 (file)
@@ -3,40 +3,53 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
+/*$Id$*/
+
+/// \ingroup raw
+/// \class AliMUONDDLTracker
+/// \brief MUON DDL tracker
+///
+//  Author Christian Finck
 
 #include <TObject.h>
-static const Int_t  bufsize = 1024;
+#include <TClonesArray.h>
+
+class AliMUONBusStruct;
+class AliMUONDspHeader;
+class AliMUONBlockHeader;
 
 class AliMUONDDLTracker : public TObject {
 
 public:
    AliMUONDDLTracker();
-   virtual ~AliMUONDDLTracker(){;}
+   virtual ~AliMUONDDLTracker();
+   void    AddBusPatch(const AliMUONBusStruct& busPatch, Int_t iBlock, Int_t iDsp);
+   void    AddDspHeader(const AliMUONDspHeader& dspHeader, Int_t iBlock);
+   void    AddBlkHeader(const AliMUONBlockHeader& blkHeader);
 
-   UInt_t  GetRawData(Int_t n) const {return fData[n];}
-   Int_t   GetLength()  const {return fLength;}
-   Int_t   GetBusPatchId()  const {return fBusPatchId;}
-   Int_t   GetEoD()     const {return fEndOfDDL;}  
+   /// get TClonesArray
+   TClonesArray*  GetBlkHeaderArray() const {return fBlkHeaderArray;}
 
-   Char_t   GetParity(Int_t n)    {return (Char_t)(fData[n] >> 29) &  0x7;}
-   UShort_t GetManuId(Int_t n)    {return (UShort_t)(fData[n] >> 18) &  0x7FF;}
-   Char_t   GetChannelId(Int_t n) {return (Char_t)(fData[n] >> 12) & 0x3F;}
-   UShort_t GetCharge(Int_t n)    {return (UShort_t)(fData[n] & 0xFFF);}
+   /// get entries
+   Int_t GetBlkHeaderEntries() const {return fBlkHeaderArray->GetEntriesFast();}
+   /// get entry
+   AliMUONBlockHeader* GetBlkHeaderEntry(Int_t i) const {
+     return (AliMUONBlockHeader*)fBlkHeaderArray->At(i);}
 
-   void    SetRawData(UInt_t w) {fData[fLength++] = w;}
-   void    SetLength(Int_t l) {fLength = l;}
-   void    SetBusPatchId(Int_t b) {fBusPatchId = b;}  
-   void    SetEoD(Int_t e) {fEndOfDDL = e;}  
+   // clear
+   void Clear(Option_t* opt);
 
-   Int_t* GetAddress() {return &fLength;}
 
  private:
-   
-   Int_t     fLength;           // length of data
-   Int_t     fBusPatchId;       // bus patch id
-   UInt_t    fData[bufsize];    // data 
-   Int_t     fEndOfDDL  ;       // end of DDL
+   /// Not implemented
+   AliMUONDDLTracker(const AliMUONDDLTracker& event);
+   /// Not implemented
+   AliMUONDDLTracker& operator=(const AliMUONDDLTracker& event);
 
+   TClonesArray* fBlkHeaderArray;  ///< array of block header
    ClassDef(AliMUONDDLTracker,1)  // MUON DDL Tracker
 };
 #endif