#ifndef ALIITSEVENTHEADER_H
#define ALIITSEVENTHEADER_H
#include "AliDetectorEventHeader.h"
typedef enum { kSimulated, kReal, kCalibration1, kCalibration2 } EventType_t;
class AliITSEventHeader : public AliDetectorEventHeader {
public:
AliITSEventHeader(const char* name);
AliITSEventHeader();
virtual ~AliITSEventHeader() {}
EventType_t GetEventTypeSDD() const {return fEventTypeSDD;};
UChar_t GetL1TriggerType(Int_t i) const {return fL1TriggerType[i];}
UInt_t GetOrbitNumber(Int_t i) const {return fOrbitNumber[i];}
UShort_t GetBunchCross(Int_t i) const {return fBunchCross[i];}
UChar_t GetBlockAttributes(Int_t i) const {return fBlockAttr[i];}
ULong64_t GetTriggerClass(Int_t i) const {return fTriggerClass[i];}
UInt_t GetStatusBits(Int_t i) const {return fStatusBits[i];}
UInt_t GetMiniEvId(Int_t i) const {return fMiniEvId[i];}
UInt_t GetSubDet(Int_t i) const {return fSubDet[i];}
UInt_t GetVersion(Int_t i) const {return fVersion[i];}
Int_t GetJitterSDD() const {return fJitterSDD;}
void SetEventTypeSDD(EventType_t type=kSimulated){fEventTypeSDD=type;}
void SetL1TriggerType(Int_t i,UChar_t l1trig) {fL1TriggerType[i]=l1trig;}
void SetOrbitNumber(Int_t i,UInt_t orbitnum) {fOrbitNumber[i]=orbitnum;}
void SetBunchCross(Int_t i,UShort_t bunchcross) {fBunchCross[i]=bunchcross;}
void SetBlockAttributes(Int_t i,UChar_t attr) {fBlockAttr[i]=attr;}
void SetTriggerClass(Int_t i,ULong64_t trigclass){fTriggerClass[i]=trigclass;}
void SetStatusBits(Int_t i,UInt_t bits) {fStatusBits[i]=bits;}
void SetMiniEvId(Int_t i,UInt_t minievid) {fMiniEvId[i]=minievid;}
void SetSubDet(Int_t i,UInt_t subdet) {fSubDet[i]=subdet;}
void SetVersion(Int_t i,UInt_t version) {fVersion[i]=version;}
void SetJitterSDD(Int_t jitter) {fJitterSDD=jitter;}
protected:
EventType_t fEventTypeSDD;
UChar_t fL1TriggerType[3];
UInt_t fOrbitNumber[3];
UShort_t fBunchCross[3];
UChar_t fBlockAttr[3];
ULong64_t fTriggerClass[3];
UInt_t fStatusBits[3];
UInt_t fMiniEvId[3];
UInt_t fSubDet[3];
UInt_t fVersion[3];
Int_t fJitterSDD;
ClassDef(AliITSEventHeader,1)
};
#endif