prevent running if CDB snapshot setting failed
[u/mrichter/AliRoot.git] / STEER / STEER / AliCTPRawStream.h
1 #ifndef ALICTPRAWSTREAM_H
2 #define ALICTPRAWSTREAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 ///////////////////////////////////////////////////////////////////////////////
7 ///
8 /// This is a class for reading the CTP (trigger) DDL raw data
9 /// The format of the raw data is taken form the trigger TDR
10 ///
11 ///////////////////////////////////////////////////////////////////////////////
12
13 #include <TObject.h>
14 #include <TClonesArray.h>
15
16 class AliRawReader;
17 class AliTriggerIR;
18
19 class AliCTPRawStream: public TObject {
20   public :
21     AliCTPRawStream(AliRawReader* rawReader);
22     virtual ~AliCTPRawStream();
23
24
25     virtual void             Reset();
26     virtual Bool_t           Next();
27
28     UInt_t    GetOrbitID() const { return fOrbit; }
29     UShort_t  GetBCID()    const { return fBC; }
30
31     UInt_t    GetL0Inputs() const { return fL0TriggerInputs; }
32     UInt_t    GetL1Inputs() const { return fL1TriggerInputs; }
33     UShort_t  GetL2Inputs() const { return fL2TriggerInputs; }
34
35     ULong64_t GetClassMask()   const { return fClassMask; }  // Provide the trigger class mask
36     ULong64_t GetClassMaskNext50()   const { return fClassMaskNext50; }  // Provide the trigger class mask
37     UChar_t   GetClusterMask() const { return fClusterMask; }// Provide the trigger cluster mask
38     Bool_t    GetPayloadRun1(UChar_t* data);
39     Bool_t    GetPayloadRun2(UChar_t* data);
40
41     Int_t     GetNIRs() const { return fIRArray.GetEntriesFast(); }
42     const TClonesArray &GetAllIRs() const { return fIRArray; }
43     const AliTriggerIR *GetIR(Int_t index) const { return (const AliTriggerIR*)fIRArray.UncheckedAt(index); }
44
45
46   protected:
47     AliCTPRawStream(const AliCTPRawStream& stream);
48     AliCTPRawStream& operator = (const AliCTPRawStream& stream);
49
50   private:
51     TClonesArray     fIRArray;     // array with trigger interaction records
52
53     UInt_t           fOrbit;       // orbit ID as sent by CTP
54     UShort_t         fBC;          // bunch-crossing number as sent by CTP
55
56     UInt_t           fL0TriggerInputs; // L0 trigger inputs (24 bits)
57     UInt_t           fL1TriggerInputs; // L1 trigger inputs (24 bits)
58     UShort_t         fL2TriggerInputs; // L2 trigger inputs (12 bits)
59
60     ULong64_t        fClassMask;   // trigger class mask
61     ULong64_t        fClassMaskNext50;   // trigger class mask
62     UChar_t          fClusterMask; // trigger cluster mask
63
64     AliRawReader*    fRawReader;   // object for reading the raw data
65
66     ClassDef(AliCTPRawStream, 0)   // class for reading CTP DDL raw data
67 };
68
69 #endif