]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliCTPRawStream.h
Warnings
[u/mrichter/AliRoot.git] / STEER / AliCTPRawStream.h
index d8e2ce9f6a5857d74d87f79ac302cbc6e8c29de6..7fb4801e3522a5cffd5dead3d7cb9ad666f24249 100644 (file)
 ///////////////////////////////////////////////////////////////////////////////
 
 #include <TObject.h>
+#include <TClonesArray.h>
 
 class AliRawReader;
+class AliTriggerIR;
 
 class AliCTPRawStream: public TObject {
   public :
     AliCTPRawStream(AliRawReader* rawReader);
     virtual ~AliCTPRawStream();
 
+
     virtual void             Reset();
     virtual Bool_t           Next();
 
-    inline ULong64_t GetClassMask()   const { return fClassMask; }  // Provide the trigger class mask
-    inline UChar_t   GetClusterMask() const { return fClusterMask; }// Provide the trigger cluster mask
+    UInt_t    GetOrbitID() const { return fOrbit; }
+    UShort_t  GetBCID()    const { return fBC; }
+
+    UInt_t    GetL0Inputs() const { return fL0TriggerInputs; }
+    UInt_t    GetL1Inputs() const { return fL1TriggerInputs; }
+    UShort_t  GetL2Inputs() const { return fL2TriggerInputs; }
+
+    ULong64_t GetClassMask()   const { return fClassMask; }  // Provide the trigger class mask
+    UChar_t   GetClusterMask() const { return fClusterMask; }// Provide the trigger cluster mask
+
+    Int_t     GetNIRs() const { return fIRArray.GetEntriesFast(); }
+    const TClonesArray &GetAllIRs() const { return fIRArray; }
+    const AliTriggerIR *GetIR(Int_t index) const { return (const AliTriggerIR*)fIRArray.UncheckedAt(index); }
+
 
   protected:
     AliCTPRawStream(const AliCTPRawStream& stream);
     AliCTPRawStream& operator = (const AliCTPRawStream& stream);
 
   private:
+    TClonesArray     fIRArray;     // array with trigger interaction records
+
+    UInt_t           fOrbit;       // orbit ID as sent by CTP
+    UShort_t         fBC;          // bunch-crossing number as sent by CTP
+
+    UInt_t           fL0TriggerInputs; // L0 trigger inputs (24 bits)
+    UInt_t           fL1TriggerInputs; // L1 trigger inputs (24 bits)
+    UShort_t         fL2TriggerInputs; // L2 trigger inputs (12 bits)
 
     ULong64_t        fClassMask;   // trigger class mask
     UChar_t          fClusterMask; // trigger cluster mask
 
     AliRawReader*    fRawReader;   // object for reading the raw data
 
-    enum {kCTPIndex = 17};         //CTP detector index (AliDAQConfig.h)
-
     ClassDef(AliCTPRawStream, 0)   // class for reading CTP DDL raw data
 };