]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONRegHeader.h
PHOS calibration macros
[u/mrichter/AliRoot.git] / MUON / AliMUONRegHeader.h
index cd49c2322b230cfcabe873c05b84fa0f4c3134be..2794521fde61527141e1647b751fd2c7befdd200 100644 (file)
 //  Author Christian Finck
 
 #include <TObject.h>
+#include <TClonesArray.h>
 
-class TClonesArray;
 class AliMUONLocalStruct;
 
 class AliMUONRegHeader : public TObject{
  
 public:
    AliMUONRegHeader();
+  AliMUONRegHeader(TRootIOCtor* dummy);
    AliMUONRegHeader(const AliMUONRegHeader& event);
    AliMUONRegHeader& operator=(const AliMUONRegHeader& event);
 
    virtual ~AliMUONRegHeader();
 
+   /// Return darc word
    UInt_t   GetDarcWord()      const {return fDarcWord;}
+   /// Return first reg word
    UInt_t   GetWord()          const {return fWord;}
+   /// Return regional input
    UInt_t   GetInput(Int_t n)  const {return fInput[n];}
+   /// Return L0
    UShort_t GetL0()            const {return fL0   & 0xFFFF;}
+   /// Return mask
    UShort_t GetMask()          const {return fMask & 0xFFFF;}
 
    //word: phys type:1, reset: 6, serialNb:5, Id:4, version: 8, regional output:8
    //true for phys, false for soft
+   /// Return RegPhysFlag
    Bool_t    GetRegPhysFlag() const {return (fWord & 0x80000000);} 
-   UChar_t   GetResetNb()    const {return (UChar_t)(fWord >> 25) &  0x20;}
+   /// Return ResetNb
+   UChar_t   GetResetNb()    const {return (UChar_t)(fWord >> 25) &  0x3F;}
+   /// Return SerialNb
    UChar_t   GetSerialNb()   const {return (UChar_t)(fWord >> 20) &  0x1F;}
+   /// Return Id
    UChar_t   GetId()         const {return (UChar_t)(fWord >> 16) &  0x0F;}
+   /// Return Version
    UChar_t   GetVersion()    const {return (UChar_t)(fWord >> 8)  &  0xFF;}
+   /// Return Output
    UChar_t   GetOutput()     const {return (UChar_t)(fWord       &  0xFF);}
 
    //Darc Status: error:10, #fpag:3, MBZ:3, phys type:1, present:1, not_full:1
    // not_empty:1, L2Rej:1, L2Acc:1, L1:1, L0:1, #evt:4, busy:4
-   UShort_t GetErrorBits()       const {return (UShort_t)(fDarcWord >> 21) &  0x3FF;}
-   UChar_t  GetFPGANumber()      const {return (UChar_t)  (fDarcWord >> 18) &  0x7;}
-   Bool_t   GetDarcPhysFlag()    const {return (fDarcWord  &  0x1000);}
-   Bool_t   GetPresentFlag()     const {return (fDarcWord  &  0x800);}
-   Bool_t   GetRamNotFullFlag()  const {return (fDarcWord  &  0x400);}
-   Bool_t   GetRamNotEmptyFlag() const {return (fDarcWord  &  0x200);}
-   Bool_t   GetL2RejStatus()     const {return (fDarcWord  &  0x100);}
-   Bool_t   GetL2AccStatus()     const {return (fDarcWord  &  0x80);}
-   Bool_t   GetL1Status()        const {return (fDarcWord  &  0x40);}
-   Bool_t   GetL0Status()        const {return (fDarcWord  &  0x20);}
+   /// Return ErrorBits
+   UShort_t GetErrorBits()       const {return (UShort_t)(fDarcWord >> 22) &  0x3FF;}
+   /// Return FPGANumber
+   UChar_t  GetFPGANumber()      const {return (UChar_t)  (fDarcWord >> 19) &  0x7;}
+   /// Return DarcPhysFlag
+   Bool_t   GetDarcPhysFlag()    const {return (fDarcWord  &  0x8000);}
+   /// Return PresentFlag
+   Bool_t   GetPresentFlag()     const {return (fDarcWord  &  0x4000);}
+   /// Return RamNotFullFlag
+   Bool_t   GetRamNotFullFlag()  const {return (fDarcWord  &  0x2000);}
+   /// Return RamNotEmptyFlag
+   Bool_t   GetRamNotEmptyFlag() const {return (fDarcWord  &  0x1000);}
+   /// Return L2RejStatus
+   Bool_t   GetL2RejStatus()     const {return (fDarcWord  &  0x800);}
+   /// Return L2AccStatus
+   Bool_t   GetL2AccStatus()     const {return (fDarcWord  &  0x400);}
+   /// Return L1Status
+   Bool_t   GetL1Status()        const {return (fDarcWord  &  0x200);}
+   /// Return L0Status
+   Bool_t   GetL0Status()        const {return (fDarcWord  &  0x100);}
+   /// Return EventInRam
    UChar_t  GetEventInRam()      const {return (UChar_t)  (fDarcWord >> 4)  &  0x4;}
+   /// Return Busy
    UChar_t  GetBusy()            const {return (UChar_t)  (fDarcWord)       &  0x4;}
 
+   /// Set darc word
    void    SetDarcWord(UInt_t w) {fDarcWord = w;}
+   /// Set first reg word
    void    SetWord(UInt_t w)     {fWord = w;}
+   /// Set local mask ("poids faible" 16 bits)
    void    SetMask(UShort_t m)   {fMask = m;}
+   /// Set L0
    void    SetL0(UShort_t l)     {fL0   = (l & 0xFFFF);}
+   /// Set regional input
    void    SetInput(UInt_t in, Int_t n) {fInput[n] = in;}
  
 
+   /// Return header length in word
    Int_t   GetHeaderLength() const {return fgkHeaderLength;}
+   /// Return end of regional info word
    UInt_t  GetEndOfReg()     const {return fgkEndOfReg;}
+  /// Return error word
+   UInt_t  GetErrorWord()    const {return fgkErrorWord;}
 
-
+   /// Return header
    UInt_t* GetHeader() {return &fDarcWord;}
 
   // scalar methods
+   /// Return regional clock
    UInt_t  GetClock()   const {return fClk;}
+    /// Return regional ouput
    const UInt_t* GetScaler()  const {return fScaler;}
+   /// Return regional hold (dead time)
    UInt_t  GetHold()    const {return fHold;}
 
+   /// Return scalers
    UInt_t* GetScalers()    {return &fClk;}   
 
-   // get scaler length
+   /// get scaler length
    Int_t GetScalerLength()  const {return fgkScalerLength;} 
 
-  // set random numbers to fill variable
+   /// set random numbers to fill variable
    void SetScalersNumbers();
 
-  // get TClonesArray
+   /// get TClonesArray
    TClonesArray*  GetLocalArray()  const {return fLocalArray;}
 
-   // get entries
+   /// get entries
    Int_t GetLocalEntries()  const {return fLocalArray->GetEntriesFast();}
 
-   // get entry
+   /// get entry
    AliMUONLocalStruct* GetLocalEntry(Int_t i) const {
      return (AliMUONLocalStruct*)fLocalArray->At(i);}
 
@@ -111,9 +148,10 @@ public:
    static const Int_t  fgkScalerLength;  ///< length of regional scaler in word
    static const Int_t  fgkHeaderLength;  ///< header length in word
    static const UInt_t fgkEndOfReg;      ///< end of regional info word
-
+   static const UInt_t fgkErrorWord;     ///< error word when a regional board is missing
+   
    TClonesArray* fLocalArray;   ///< array of local structure
 
-   ClassDef(AliMUONRegHeader,3)
+   ClassDef(AliMUONRegHeader,4) //MUON regional header for trigger
 };
 #endif