]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSEventHeader.h
New macro to keep track of timing performances of the segmentation methods (Laurent)
[u/mrichter/AliRoot.git] / ITS / AliITSEventHeader.h
CommitLineData
38300302 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
14typedef enum { kSimulated, kReal, kCalibration1, kCalibration2 } EventType_t;
15
16class AliITSEventHeader : public AliDetectorEventHeader {
17
18 public:
19
20
21 AliITSEventHeader(const char* name);
22 AliITSEventHeader();
23
24 virtual ~AliITSEventHeader() {}
25
26 EventType_t GetEventTypeSDD() const {return fEventTypeSDD;};
27 UChar_t GetL1TriggerType(Int_t i) const {return fL1TriggerType[i];}
28 UInt_t GetOrbitNumber(Int_t i) const {return fOrbitNumber[i];}
29 UShort_t GetBunchCross(Int_t i) const {return fBunchCross[i];}
30 UChar_t GetBlockAttributes(Int_t i) const {return fBlockAttr[i];}
31 ULong64_t GetTriggerClass(Int_t i) const {return fTriggerClass[i];}
32 UInt_t GetStatusBits(Int_t i) const {return fStatusBits[i];}
33 UInt_t GetMiniEvId(Int_t i) const {return fMiniEvId[i];}
34 UInt_t GetSubDet(Int_t i) const {return fSubDet[i];}
35 UInt_t GetVersion(Int_t i) const {return fVersion[i];}
36 Int_t GetJitterSDD() const {return fJitterSDD;}
37
38 void SetEventTypeSDD(EventType_t type=kSimulated){fEventTypeSDD=type;}
39 void SetL1TriggerType(Int_t i,UChar_t l1trig) {fL1TriggerType[i]=l1trig;}
40 void SetOrbitNumber(Int_t i,UInt_t orbitnum) {fOrbitNumber[i]=orbitnum;}
41 void SetBunchCross(Int_t i,UShort_t bunchcross) {fBunchCross[i]=bunchcross;}
42 void SetBlockAttributes(Int_t i,UChar_t attr) {fBlockAttr[i]=attr;}
43 void SetTriggerClass(Int_t i,ULong64_t trigclass){fTriggerClass[i]=trigclass;}
44 void SetStatusBits(Int_t i,UInt_t bits) {fStatusBits[i]=bits;}
45 void SetMiniEvId(Int_t i,UInt_t minievid) {fMiniEvId[i]=minievid;}
46 void SetSubDet(Int_t i,UInt_t subdet) {fSubDet[i]=subdet;}
47 void SetVersion(Int_t i,UInt_t version) {fVersion[i]=version;}
48 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 ClassDef(AliITSEventHeader,1) // An Alice ITS event header
65
66 };
67
68
69#endif
70
71