Line data Source code
1 : #ifndef ALITRIGGERIR_H
2 : #define ALITRIGGERIR_H
3 :
4 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 : * See cxx source for full Copyright notice */
6 :
7 : ///////////////////////////////////////////////////////////////////////////////
8 : //
9 : // Class represents CTP interaction record
10 : //
11 : // The definition of the IR follows the ALICE internal note:
12 : // ALICE-INT-2002-010
13 : // The CTP raw-data payload will contain IRs within +- 1 orbit
14 : // around the triggered event.
15 : // The same IRs are propagated to the ESD (and AOD).
16 : //
17 : // cvetan.cheshkov@cern.ch 10/07/2008
18 : // Adding data for DDL2.
19 : // 09/10/2015 roman.lietava@cern.ch
20 : //
21 : ///////////////////////////////////////////////////////////////////////////////
22 :
23 : #include <TObject.h>
24 :
25 : class AliTriggerIR : public TObject {
26 :
27 : public:
28 : AliTriggerIR();
29 : AliTriggerIR(UInt_t orbit, UInt_t nwords, UInt_t *words, Bool_t incomplete = kFALSE, Bool_t transerr = kFALSE);
30 : AliTriggerIR(UInt_t orbit, UInt_t nwords, ULong64_t *words,Bool_t incomplete = kFALSE, Bool_t transerr = kFALSE);
31 :
32 : AliTriggerIR(const AliTriggerIR &rec);
33 : AliTriggerIR& operator= (const AliTriggerIR& rec);
34 :
35 : virtual ~AliTriggerIR();
36 :
37 : // Setters
38 0 : void SetOrbit(UInt_t orbit) {fOrbit=orbit;}
39 0 : void SetIncomplete(Bool_t flag) {fIncomplete=flag;}
40 0 : void SetTransErr(Bool_t flag) {fTransErr=flag;}
41 0 : void SetDDLflag(Int_t flag){fDDLflag=flag;};
42 :
43 : // Getters
44 0 : UInt_t GetOrbit() const {return fOrbit;}
45 0 : UInt_t GetNWord() const {return fNWord;}
46 0 : UInt_t GetNWord2() const {return fNWord2;}
47 0 : Bool_t* GetInt1s() const {return fInt1;}
48 0 : Bool_t* GetInt2s() const {return fInt2;}
49 0 : ULong64_t* GetIntsRun2() const {return fIntRun2;}
50 0 : UShort_t* GetBCs() const {return fBC;}
51 0 : UShort_t* GetBC2s() const {return fBC2;}
52 0 : Bool_t GetIncomplete() const {return fIncomplete;}
53 0 : Bool_t GetIncomplete2() const {return fIncomplete2;}
54 0 : Bool_t GetTransErr() const {return fTransErr;}
55 0 : Bool_t GetTransErr2() const {return fTransErr2;}
56 0 : Int_t GetDDLflag(){return fDDLflag;};
57 : virtual void Print( const Option_t* opt ="" ) const;
58 :
59 : private:
60 : UInt_t fOrbit; // Orbit number
61 : UInt_t fNWord; // Number of recorded interaction signals
62 : Bool_t *fInt1; //[fNWord] signals for interaction 1
63 : Bool_t *fInt2; //[fNWord] signals for interaction 2
64 : UShort_t *fBC; //[fNWord] bunch-crossing number
65 : Bool_t fIncomplete; // flag which says if the IR is incomplete or not
66 : Bool_t fTransErr; // flag which says if there was a transmission error (gap) or not
67 : UInt_t fNWord2;
68 : ULong64_t *fIntRun2; // [fNWord2]
69 : UShort_t *fBC2; //[fNWord2]
70 : Bool_t fIncomplete2; // flag which says if the IR is incomplete or not
71 : Bool_t fTransErr2; // flag which says if there was a transmission error (gap) or not
72 : Int_t fDDLflag; // 1=DDL1, 2=DDL2, 3=DDL1+DDL2
73 :
74 180 : ClassDef( AliTriggerIR, 4 ) // Trigger Interaction Record (one per orbit)
75 : };
76 :
77 : #endif
|