]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - STEER/AliESDHeader.h
Fix for Savannah bug report 59287
[u/mrichter/AliRoot.git] / STEER / AliESDHeader.h
... / ...
CommitLineData
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
20class AliTriggerScalersESD;
21class AliTriggerScalersRecordESD;
22class AliTriggerIR;
23
24class AliESDHeader: public AliVHeader {
25public:
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;
67private:
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