Interaction record array added.
[u/mrichter/AliRoot.git] / STEER / AliESDHeader.h
CommitLineData
d5ebf00e 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
8258ca76 15#include <TClonesArray.h>
9ae2e5e6 16#include "AliVHeader.h"
bf1f98c4 17#include "AliTriggerScalersESD.h"
18#include "AliTriggerScalersRecordESD.h"
19
20class AliTriggerScalersESD;
21class AliTriggerScalersRecordESD;
d5ebf00e 22
9ae2e5e6 23class AliESDHeader: public AliVHeader {
d5ebf00e 24public:
25 AliESDHeader();
9ae2e5e6 26 virtual ~AliESDHeader();
d5ebf00e 27 AliESDHeader(const AliESDHeader& header);
28 AliESDHeader& operator=(const AliESDHeader& header);
732a24fe 29 virtual void Copy(TObject &obj) const;
d5ebf00e 30
31 void SetTriggerMask(ULong64_t n) {fTriggerMask=n;}
32 void SetOrbitNumber(UInt_t n) {fOrbitNumber=n;}
33 void SetTimeStamp(UInt_t timeStamp){fTimeStamp = timeStamp;}
34 void SetEventType(UInt_t eventType){fEventType = eventType;}
35 void SetEventNumberInFile(Int_t n) {fEventNumberInFile=n;}
36 void SetBunchCrossNumber(UShort_t n) {fBunchCrossNumber=n;}
9ae2e5e6 37 void SetPeriodNumber(UInt_t n) {fPeriodNumber=n;}
d5ebf00e 38 void SetTriggerCluster(UChar_t n) {fTriggerCluster = n;}
39
b21623e0 40//************Setters/Getters for Trigger Inputs and TriggerScalersRecordESD
41 void SetL0TriggerInputs(UInt_t n) {fL0TriggerInputs=n;}
42 void SetL1TriggerInputs(UInt_t n) {fL1TriggerInputs=n;}
43 void SetL2TriggerInputs(UShort_t n) {fL2TriggerInputs=n;}
44 UInt_t GetL0TriggerInputs() const {return fL0TriggerInputs;}
45 UInt_t GetL1TriggerInputs() const {return fL1TriggerInputs;}
46 UShort_t GetL2TriggerInputs() const {return fL2TriggerInputs;}
bf1f98c4 47 void SetTriggerScalersRecord(AliTriggerScalersESD *scalerRun) {fTriggerScalers.AddTriggerScalers(scalerRun); }
48 const AliTriggerScalersRecordESD* GetTriggerScalersRecord() const {return &fTriggerScalers; }
b21623e0 49//**************************************************************************
50
d5ebf00e 51 ULong64_t GetTriggerMask() const {return fTriggerMask;}
52 UInt_t GetOrbitNumber() const {return fOrbitNumber;}
53 UInt_t GetTimeStamp() const { return fTimeStamp;}
54 UInt_t GetEventType() const { return fEventType;}
55 Int_t GetEventNumberInFile() const {return fEventNumberInFile;}
56 UShort_t GetBunchCrossNumber() const {return fBunchCrossNumber;}
9ae2e5e6 57 UInt_t GetPeriodNumber() const {return fPeriodNumber;}
d5ebf00e 58 UChar_t GetTriggerCluster() const {return fTriggerCluster;}
59
d5ebf00e 60 void Reset();
9ae2e5e6 61 void Print(const Option_t *opt=0) const;
d5ebf00e 62private:
63
64 // Event Identification
65 ULong64_t fTriggerMask; // Trigger Type (mask)
66 UInt_t fOrbitNumber; // Orbit Number
67 UInt_t fTimeStamp; // Time stamp
68 UInt_t fEventType; // Type of Event
4f036e6e 69 UInt_t fPeriodNumber; // Period Number
87d395bd 70 Int_t fEventNumberInFile; // Running Event count in the file
d5ebf00e 71 UShort_t fBunchCrossNumber; // Bunch Crossing Number
72 UChar_t fTriggerCluster; // Trigger cluster (mask)
b21623e0 73 UInt_t fL0TriggerInputs; //L0 Trigger Inputs
74 UInt_t fL1TriggerInputs; //L1 Trigger Inputs
75 UShort_t fL2TriggerInputs; //L2 Trigger Inputs
8258ca76 76 AliTriggerScalersRecordESD fTriggerScalers; //Trigger counters of triggered classes in event
77 TClonesArray fIRArray; // Array with trigger interaction records (3)
b21623e0 78
8258ca76 79 ClassDef(AliESDHeader,6)
d5ebf00e 80};
81
82#endif