]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONBlockHeader.h
Fixed a bug in the Digit reader, moved clusterfinder to initialize from OCDB, Added...
[u/mrichter/AliRoot.git] / MUON / AliMUONBlockHeader.h
index edf24387818b25eda4b231103ae0653cd7d2ceac..509b9b13456d85d61698f0ef95fd1b9f4bd61cff 100644 (file)
@@ -7,9 +7,9 @@
 
 /// \ingroup raw
 /// \class AliMUONBlockHeader
-/// \brief MUON block header for tracker event
+/// \brief MUON block (Crocus CRT)  header for tracker event
 ///
-/// \author Christian Finck
+//  Author Christian Finck
 
 #include <TObject.h>
 #include <TClonesArray.h>
@@ -25,49 +25,91 @@ public:
 
    virtual ~AliMUONBlockHeader();
 
+   //
    // Block header
+   //
+           /// Return data key word for CRT header
+   Int_t   GetDataKey()        const {return fDataKey;}
+           /// Return total length of block structure (w/o padding word)
    Int_t   GetTotalLength()    const {return fTotalLength;}
+           /// Return length of raw data
    Int_t   GetLength()         const {return fLength;}
+           /// Return Dsp id
    Int_t   GetDspId()          const {return fDspId;}
-   Int_t   GetTriggerWord(Int_t n) const {return fTriggerWord[n];}
-   Int_t   GetPadding()        const {return fPadding;}
+           /// Return L0 trigger word
+   Int_t   GetL0Trigger()      const {return fL0Trigger;}
+           /// Return Bunch Crossing for mini-event id (see TDR chapter 8)
+   Int_t   GetMiniEventId()    const {return fMiniEventId;}
+           /// Return Event Id in bunch crossing
+   Int_t   GetEventId1()       const {return fEventId1;}
+           /// Return Event Id in orbit number
+   Int_t   GetEventId2()       const {return fEventId2;}
+
+           /// Return header length in word
    Int_t   GetHeaderLength()   const {return fgkHeaderLength;}
-
+           /// Return default data key word for CRT header
+   UInt_t  GetDefaultDataKey() const {return fgkDefaultDataKey;}
+         /// Return  data key end word for CRT header
+   UInt_t  GetDdlDataKey() const {return fgkDdlDataKey;}
+
+           /// Set data key word for CRT header
+   void    SetDataKey(Int_t d)     {fDataKey = d;}
+           /// Set total length of block structure (w/o padding word)
    void    SetTotalLength(Int_t l) {fTotalLength = l;}
+           /// Set length of raw data
    void    SetLength(Int_t l)      {fLength = l;}
+           /// Set Dsp id
    void    SetDspId(Int_t d)       {fDspId = d;}  
-   void    SetTriggerWord(Int_t w, Int_t n) {fTriggerWord[n] = w;}
-
-   Int_t* GetHeader() {return &fTotalLength;}
+           /// Set L0 trigger word
+   void    SetL0Trigger(Int_t l)   {fL0Trigger = l;}
+           /// Set Bunch Crossing for mini-event id (see TDR chapter 8)
+   void    SetMiniEventId(Int_t e) {fMiniEventId = e;}
+           /// Set Event Id in bunch crossing
+   void    SetEventId1(Int_t e)    {fEventId1 = e;}
+           /// Set Event Id in orbit number
+   void    SetEventId2(Int_t e)    {fEventId2 = e;}
+   
+   
+   /// Return header
+   Int_t* GetHeader() {return &fDataKey;}
 
    void   AddDspHeader(const AliMUONDspHeader& dspHeader);
 
-   // get TClonesArray
+   /// get TClonesArray
    TClonesArray*      GetDspHeaderArray()  const {return fDspHeaderArray;}
 
-   // get entries
+   /// get entries
    Int_t              GetDspHeaderEntries() const {return fDspHeaderArray->GetEntriesFast();}
 
-   // get entry
+   /// get entry
    AliMUONDspHeader*  GetDspHeaderEntry(Int_t i) const {
      return (AliMUONDspHeader*)fDspHeaderArray->At(i);}
 
    // clear
    void Clear(Option_t* opt);
 
+   // print out
+   void Print(Option_t* /*opt*/) const;
+
  private:
 
    // block header
+   Int_t     fDataKey;        ///< Data key word for CRT header 
    Int_t     fTotalLength;    ///< total length of block structure (w/o padding word)
    Int_t     fLength;         ///< length of raw data
    Int_t     fDspId;          ///< Dsp id
-   Int_t     fTriggerWord[4]; ///< counter trigger word
-   Int_t     fPadding;        ///< padding dummy word for 64 bits transfer
+   Int_t     fL0Trigger;      ///< L0 trigger word
+   Int_t     fMiniEventId;    ///< Bunch Crossing for mini-event id (see TDR chapter 8)
+   Int_t     fEventId1;       ///< Event Id in bunch crossing
+   Int_t     fEventId2;       ///< Event Id in orbit number
+
+
+   static const Int_t  fgkHeaderLength;    ///< header length in word
+   static const UInt_t fgkDefaultDataKey;  ///< default data key word for CRT header 
+   static const UInt_t fgkDdlDataKey;      ///< data key end word for CRT header 
 
-   static const Int_t fgkHeaderLength; ///< header length in word
    TClonesArray*  fDspHeaderArray;  ///< array of block header
 
-   ClassDef(AliMUONBlockHeader,1)  // MUON block header for Tracker event
+   ClassDef(AliMUONBlockHeader,3)  // MUON block header for Tracker event
 };
 #endif