ROOT logo
#ifndef ALIITSEVENTHEADER_H
#define ALIITSEVENTHEADER_H

////////////////////////////////////////////////////
//  Base class to define                          //
//  ITS Event Header                              //
//  
//  Origin: E. Crescio crescio@to.infn.it         //
//                                                //
////////////////////////////////////////////////////

#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;       //event type for SDD 
  UChar_t   fL1TriggerType[3];     //Level 1 trigger type (0 spd,1 sdd,2 ssd) 
  UInt_t    fOrbitNumber[3];       //Orbit Number (0 spd,1 sdd,2 ssd)
  UShort_t  fBunchCross[3];        //Bunch Crossing Number (0 spd,1 sdd,2 ssd)
  UChar_t   fBlockAttr[3];         //Block Attributes (0 spd,1 sdd,2 ssd)
  ULong64_t fTriggerClass[3];      //Trigger classes (0 spd,1 sdd,2 ssd)
  UInt_t    fStatusBits[3];        //Status Bits (0 spd,1 sdd,2 ssd)
  UInt_t    fMiniEvId[3];          //MiniEvent ID (0 spd,1 sdd,2 ssd)
  UInt_t    fSubDet[3];            //partic. sub-detectors (0 spd,1 sdd,2 ssd)
  UInt_t    fVersion[3];           //Header Version (0 spd,1 sdd,2 ssd)
  Int_t     fJitterSDD;            // SDD jitter between L0 and pascal stop

  ClassDef(AliITSEventHeader,1)  // An Alice ITS event header 

 };


#endif

    
 AliITSEventHeader.h:1
 AliITSEventHeader.h:2
 AliITSEventHeader.h:3
 AliITSEventHeader.h:4
 AliITSEventHeader.h:5
 AliITSEventHeader.h:6
 AliITSEventHeader.h:7
 AliITSEventHeader.h:8
 AliITSEventHeader.h:9
 AliITSEventHeader.h:10
 AliITSEventHeader.h:11
 AliITSEventHeader.h:12
 AliITSEventHeader.h:13
 AliITSEventHeader.h:14
 AliITSEventHeader.h:15
 AliITSEventHeader.h:16
 AliITSEventHeader.h:17
 AliITSEventHeader.h:18
 AliITSEventHeader.h:19
 AliITSEventHeader.h:20
 AliITSEventHeader.h:21
 AliITSEventHeader.h:22
 AliITSEventHeader.h:23
 AliITSEventHeader.h:24
 AliITSEventHeader.h:25
 AliITSEventHeader.h:26
 AliITSEventHeader.h:27
 AliITSEventHeader.h:28
 AliITSEventHeader.h:29
 AliITSEventHeader.h:30
 AliITSEventHeader.h:31
 AliITSEventHeader.h:32
 AliITSEventHeader.h:33
 AliITSEventHeader.h:34
 AliITSEventHeader.h:35
 AliITSEventHeader.h:36
 AliITSEventHeader.h:37
 AliITSEventHeader.h:38
 AliITSEventHeader.h:39
 AliITSEventHeader.h:40
 AliITSEventHeader.h:41
 AliITSEventHeader.h:42
 AliITSEventHeader.h:43
 AliITSEventHeader.h:44
 AliITSEventHeader.h:45
 AliITSEventHeader.h:46
 AliITSEventHeader.h:47
 AliITSEventHeader.h:48
 AliITSEventHeader.h:49
 AliITSEventHeader.h:50
 AliITSEventHeader.h:51
 AliITSEventHeader.h:52
 AliITSEventHeader.h:53
 AliITSEventHeader.h:54
 AliITSEventHeader.h:55
 AliITSEventHeader.h:56
 AliITSEventHeader.h:57
 AliITSEventHeader.h:58
 AliITSEventHeader.h:59
 AliITSEventHeader.h:60
 AliITSEventHeader.h:61
 AliITSEventHeader.h:62
 AliITSEventHeader.h:63
 AliITSEventHeader.h:64
 AliITSEventHeader.h:65
 AliITSEventHeader.h:66
 AliITSEventHeader.h:67
 AliITSEventHeader.h:68
 AliITSEventHeader.h:69
 AliITSEventHeader.h:70
 AliITSEventHeader.h:71