00001 00002 #ifndef DigiEvent_H 00003 #define DigiEvent_H 00004 00005 #include "TObject.h" 00006 #include "L1T.h" 00007 //#include "Tagger.h" 00008 #include "TClonesArray.h" 00009 #include "TObjArray.h" 00010 00011 #include "AcdHeader.h" 00012 #include "CalHeader.h" 00013 #include "TkrHeader.h" 00014 00015 #include "AcdTile.h" 00016 #include "CalLog.h" 00017 #include "TkrLayer.h" 00018 00019 #include "LiveTime.h" 00020 00032 class DigiEvent: public TObject { 00033 private: 00035 UInt_t m_run; 00037 UInt_t m_eventId; 00038 00040 L1T m_L1T; 00041 00042 //Tagger *m_Tagger; // Tagger object 00043 00045 TClonesArray *m_AcdDigiVec; //-> 00046 Int_t m_numTiles; 00047 static TClonesArray *m_staticAcdDigiVec; 00048 AcdHeader m_AcdHeader; 00049 00051 TClonesArray *m_XgtDigiVec; //-> 00052 Int_t m_numXgts; 00053 static TClonesArray *m_staticXgtDigiVec; 00054 00056 TClonesArray *m_CalDigiVec; //-> 00057 Int_t m_numLogs; 00058 static TClonesArray *m_staticCalDigiVec; 00059 CalHeader m_CalHeader; 00060 00062 static TObjArray *m_staticTkrDigiVec; 00063 TObjArray* m_TkrDigiVec; //-> List of Tracker layers 00064 Int_t m_numLayers; 00065 TkrHeader m_TkrHeader; 00066 00067 00069 LiveTime m_liveTime; 00070 00071 public: 00072 00073 DigiEvent(); 00074 virtual ~DigiEvent(); 00075 00076 void Clean(Option_t *option=""); 00077 00078 00080 inline void setEventId(UInt_t id) { m_eventId = id; }; 00081 inline Int_t getEventId() { return m_eventId; }; 00082 00084 inline void setRunId(UInt_t run) { m_run = run; }; 00085 inline Int_t getRunId() { return m_run; }; 00086 00088 AcdHeader* getAcdHeader() { return &m_AcdHeader; }; 00090 TClonesArray* getAcdDigi() { return m_AcdDigiVec; }; 00092 AcdTile* addAcdTile(UInt_t id, short base=10, short used=1); 00095 const AcdTile* getAcdTile(UInt_t id); 00097 const AcdTile* getAcdTile(short l, short f, short r, short c); 00099 const AcdTile* getAcdTile(AcdId &id); 00100 00102 TClonesArray* getXgtDigi() { return m_XgtDigiVec; }; 00104 AcdTile* addXgt(UInt_t id, short base = 10); 00107 const AcdTile* getXgt(UInt_t id); 00108 00110 CalHeader* getCalHeader() { return &m_CalHeader; }; 00112 TClonesArray* getCalDigi() { return m_CalDigiVec; }; 00114 CalLog* addCalLog(); 00116 const CalLog* getCalLog(LogId &id); 00118 const CalLog* getCalLog(UShort_t tower, UShort_t layer, UShort_t column); 00119 00121 TkrHeader* getTkrHeader() { return &m_TkrHeader; }; 00123 TObjArray* getTkrDigi() { return m_TkrDigiVec; }; 00125 void addTkrLayer(TkrLayer *layer); 00127 const TkrLayer* getTkrLayer(unsigned int layerNum); 00128 00130 inline L1T* getL1T() { return &m_L1T; }; 00131 00132 inline LiveTime* getLiveTime() { return &m_liveTime; }; 00133 00134 // inline void setTagger(Tagger *TaggerVal) { m_Tagger = TaggerVal; }; 00135 //inline Tagger *getTagger() const { return m_Tagger; }; 00136 00137 ClassDef(DigiEvent,3) // Storage for Raw(Digi) event and subsystem data 00138 }; 00139 00140 #endif 00141 00142 00143 00144 00145
1.2.3 written by Dimitri van Heesch,
© 1997-2000