]>
Commit | Line | Data |
---|---|---|
1 | // -*- mode: C++ -*- | |
2 | #ifndef ALIESDHEADER_H | |
3 | #define ALIESDHEADER_H | |
4 | ||
5 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
6 | * See cxx source for full Copyright notice */ | |
7 | ||
8 | //------------------------------------------------------------------------- | |
9 | // Class AliESDHeader | |
10 | // Header data | |
11 | // for the ESD | |
12 | // Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch | |
13 | //------------------------------------------------------------------------- | |
14 | ||
15 | #include <TClonesArray.h> | |
16 | #include "AliVHeader.h" | |
17 | #include "AliTriggerScalersESD.h" | |
18 | #include "AliTriggerScalersRecordESD.h" | |
19 | ||
20 | class AliTriggerScalersESD; | |
21 | class AliTriggerScalersRecordESD; | |
22 | class AliTriggerIR; | |
23 | ||
24 | class AliESDHeader: public AliVHeader { | |
25 | public: | |
26 | AliESDHeader(); | |
27 | virtual ~AliESDHeader(); | |
28 | AliESDHeader(const AliESDHeader& header); | |
29 | AliESDHeader& operator=(const AliESDHeader& header); | |
30 | virtual void Copy(TObject &obj) const; | |
31 | ||
32 | void SetTriggerMask(ULong64_t n) {fTriggerMask=n;} | |
33 | void SetOrbitNumber(UInt_t n) {fOrbitNumber=n;} | |
34 | void SetTimeStamp(UInt_t timeStamp){fTimeStamp = timeStamp;} | |
35 | void SetEventType(UInt_t eventType){fEventType = eventType;} | |
36 | void SetEventSpecie(UInt_t eventSpecie){fEventSpecie = eventSpecie;} | |
37 | void SetEventNumberInFile(Int_t n) {fEventNumberInFile=n;} | |
38 | void SetBunchCrossNumber(UShort_t n) {fBunchCrossNumber=n;} | |
39 | void SetPeriodNumber(UInt_t n) {fPeriodNumber=n;} | |
40 | void SetTriggerCluster(UChar_t n) {fTriggerCluster = n;} | |
41 | Bool_t AddTriggerIR(const AliTriggerIR* ir); | |
42 | ||
43 | //************Setters/Getters for Trigger Inputs and TriggerScalersRecordESD | |
44 | void SetL0TriggerInputs(UInt_t n) {fL0TriggerInputs=n;} | |
45 | void SetL1TriggerInputs(UInt_t n) {fL1TriggerInputs=n;} | |
46 | void SetL2TriggerInputs(UShort_t n) {fL2TriggerInputs=n;} | |
47 | UInt_t GetL0TriggerInputs() const {return fL0TriggerInputs;} | |
48 | UInt_t GetL1TriggerInputs() const {return fL1TriggerInputs;} | |
49 | UShort_t GetL2TriggerInputs() const {return fL2TriggerInputs;} | |
50 | void SetTriggerScalersRecord(AliTriggerScalersESD *scalerRun) {fTriggerScalers.AddTriggerScalers(scalerRun); } | |
51 | const AliTriggerScalersRecordESD* GetTriggerScalersRecord() const {return &fTriggerScalers; } | |
52 | const AliTriggerIR* GetTriggerIR(Int_t i) const { return fIRArray[i]; } | |
53 | //************************************************************************** | |
54 | ||
55 | ULong64_t GetTriggerMask() const {return fTriggerMask;} | |
56 | UInt_t GetOrbitNumber() const {return fOrbitNumber;} | |
57 | UInt_t GetTimeStamp() const { return fTimeStamp;} | |
58 | UInt_t GetEventType() const { return fEventType;} | |
59 | UInt_t GetEventSpecie() const { return fEventSpecie;} | |
60 | Int_t GetEventNumberInFile() const {return fEventNumberInFile;} | |
61 | UShort_t GetBunchCrossNumber() const {return fBunchCrossNumber;} | |
62 | UInt_t GetPeriodNumber() const {return fPeriodNumber;} | |
63 | UChar_t GetTriggerCluster() const {return fTriggerCluster;} | |
64 | ||
65 | void Reset(); | |
66 | void Print(const Option_t *opt=0) const; | |
67 | private: | |
68 | ||
69 | // Event Identification | |
70 | ULong64_t fTriggerMask; // Trigger Type (mask) | |
71 | UInt_t fOrbitNumber; // Orbit Number | |
72 | UInt_t fTimeStamp; // Time stamp | |
73 | UInt_t fEventType; // Type of Event | |
74 | UInt_t fEventSpecie; // Reconstruction event specie (1-default,2-lowM,4-highM,8-cosmic,16-cal) | |
75 | UInt_t fPeriodNumber; // Period Number | |
76 | Int_t fEventNumberInFile; // Running Event count in the file | |
77 | UShort_t fBunchCrossNumber; // Bunch Crossing Number | |
78 | UChar_t fTriggerCluster; // Trigger cluster (mask) | |
79 | UInt_t fL0TriggerInputs; //L0 Trigger Inputs | |
80 | UInt_t fL1TriggerInputs; //L1 Trigger Inputs | |
81 | UShort_t fL2TriggerInputs; //L2 Trigger Inputs | |
82 | AliTriggerScalersRecordESD fTriggerScalers; //Trigger counters of triggered classes in event | |
83 | enum {kNMaxIR = 3}; // Max number of interaction records (IR) | |
84 | AliTriggerIR* fIRArray[kNMaxIR];// Array with trigger IRs | |
85 | ||
86 | ClassDef(AliESDHeader,7) | |
87 | }; | |
88 | ||
89 | #endif |