Line data Source code
1 : #ifndef ALIITSEVENTHEADER_H
2 : #define ALIITSEVENTHEADER_H
3 :
4 : ////////////////////////////////////////////////////
5 : // Base class to define //
6 : // ITS Event Header //
7 : //
8 : // Origin: E. Crescio crescio@to.infn.it //
9 : // //
10 : ////////////////////////////////////////////////////
11 :
12 : #include "AliDetectorEventHeader.h"
13 :
14 : typedef enum { kSimulated, kReal, kCalibration1, kCalibration2 } EventType_t;
15 :
16 0 : class AliITSEventHeader : public AliDetectorEventHeader {
17 :
18 : public:
19 :
20 :
21 : AliITSEventHeader(const char* name);
22 : AliITSEventHeader();
23 :
24 0 : virtual ~AliITSEventHeader() {}
25 :
26 0 : EventType_t GetEventTypeSDD() const {return fEventTypeSDD;};
27 0 : UChar_t GetL1TriggerType(Int_t i) const {return fL1TriggerType[i];}
28 0 : UInt_t GetOrbitNumber(Int_t i) const {return fOrbitNumber[i];}
29 0 : UShort_t GetBunchCross(Int_t i) const {return fBunchCross[i];}
30 0 : UChar_t GetBlockAttributes(Int_t i) const {return fBlockAttr[i];}
31 0 : ULong64_t GetTriggerClass(Int_t i) const {return fTriggerClass[i];}
32 0 : UInt_t GetStatusBits(Int_t i) const {return fStatusBits[i];}
33 0 : UInt_t GetMiniEvId(Int_t i) const {return fMiniEvId[i];}
34 0 : UInt_t GetSubDet(Int_t i) const {return fSubDet[i];}
35 0 : UInt_t GetVersion(Int_t i) const {return fVersion[i];}
36 0 : Int_t GetJitterSDD() const {return fJitterSDD;}
37 :
38 0 : void SetEventTypeSDD(EventType_t type=kSimulated){fEventTypeSDD=type;}
39 0 : void SetL1TriggerType(Int_t i,UChar_t l1trig) {fL1TriggerType[i]=l1trig;}
40 0 : void SetOrbitNumber(Int_t i,UInt_t orbitnum) {fOrbitNumber[i]=orbitnum;}
41 0 : void SetBunchCross(Int_t i,UShort_t bunchcross) {fBunchCross[i]=bunchcross;}
42 0 : void SetBlockAttributes(Int_t i,UChar_t attr) {fBlockAttr[i]=attr;}
43 0 : void SetTriggerClass(Int_t i,ULong64_t trigclass){fTriggerClass[i]=trigclass;}
44 0 : void SetStatusBits(Int_t i,UInt_t bits) {fStatusBits[i]=bits;}
45 0 : void SetMiniEvId(Int_t i,UInt_t minievid) {fMiniEvId[i]=minievid;}
46 0 : void SetSubDet(Int_t i,UInt_t subdet) {fSubDet[i]=subdet;}
47 0 : void SetVersion(Int_t i,UInt_t version) {fVersion[i]=version;}
48 0 : void SetJitterSDD(Int_t jitter) {fJitterSDD=jitter;}
49 :
50 : protected:
51 :
52 : EventType_t fEventTypeSDD; //event type for SDD
53 : UChar_t fL1TriggerType[3]; //Level 1 trigger type (0 spd,1 sdd,2 ssd)
54 : UInt_t fOrbitNumber[3]; //Orbit Number (0 spd,1 sdd,2 ssd)
55 : UShort_t fBunchCross[3]; //Bunch Crossing Number (0 spd,1 sdd,2 ssd)
56 : UChar_t fBlockAttr[3]; //Block Attributes (0 spd,1 sdd,2 ssd)
57 : ULong64_t fTriggerClass[3]; //Trigger classes (0 spd,1 sdd,2 ssd)
58 : UInt_t fStatusBits[3]; //Status Bits (0 spd,1 sdd,2 ssd)
59 : UInt_t fMiniEvId[3]; //MiniEvent ID (0 spd,1 sdd,2 ssd)
60 : UInt_t fSubDet[3]; //partic. sub-detectors (0 spd,1 sdd,2 ssd)
61 : UInt_t fVersion[3]; //Header Version (0 spd,1 sdd,2 ssd)
62 : Int_t fJitterSDD; // SDD jitter between L0 and pascal stop
63 :
64 118 : ClassDef(AliITSEventHeader,1) // An Alice ITS event header
65 :
66 : };
67 :
68 :
69 : #endif
70 :
71 :
|