00001 // TDragonEvent.h. 00002 // author JEP, J. Chuma, K.Olchanski. 00003 // brief TDragonEvent class for unpacked data. 00004 // version 1.2. 00005 // date August 2003. 00006 // 00007 #ifndef TDRAGONEVENT_H 00008 #define TDRAGONEVENT_H 00009 00010 #include <vector> 00011 00012 #include "TSubEvent.h" 00013 00014 using std::vector; 00015 00016 class TDragonEvent { 00017 public: 00018 TDragonEvent(); 00019 virtual ~TDragonEvent(); 00020 void Clear(const Char_t * = ""); 00021 void Print(const Char_t * = "") const; 00022 void AddHmemSubEvent(const TSubEvent &); 00023 void AddGmemSubEvent(const TSubEvent &); 00024 void AddChmeSubEvent(const TSubEvent &); 00025 void AddCgmeSubEvent(const TSubEvent &); 00026 const vector<TSubEvent> & GetHmemSubEvents() const; 00027 const vector<TSubEvent> & GetGmemSubEvents() const; 00028 const vector<TSubEvent> & GetChmeSubEvents() const; 00029 const vector<TSubEvent> & GetCgmeSubEvents() const; 00030 00031 private: 00036 vector<TSubEvent> fHmemSubEvents; 00041 vector<TSubEvent> fGmemSubEvents; 00046 vector<TSubEvent> fChmeSubEvents; 00051 vector<TSubEvent> fCgmeSubEvents; 00052 00053 // Class definition tag for ROOT. 00054 // 00055 ClassDef(TDragonEvent, 2) 00056 }; 00057 00058 inline void TDragonEvent::AddHmemSubEvent(const TSubEvent &subEvent) 00059 { 00064 fHmemSubEvents.push_back(subEvent); 00065 } 00066 00067 inline void TDragonEvent::AddGmemSubEvent(const TSubEvent &subEvent) 00068 { 00073 fGmemSubEvents.push_back(subEvent); 00074 } 00075 00076 inline void TDragonEvent::AddChmeSubEvent(const TSubEvent &subEvent) 00077 { 00086 fChmeSubEvents.push_back(subEvent); 00087 } 00088 00089 inline void TDragonEvent::AddCgmeSubEvent(const TSubEvent &subEvent) 00090 { 00099 fCgmeSubEvents.push_back(subEvent); 00100 } 00101 00102 inline const vector<TSubEvent> & TDragonEvent::GetHmemSubEvents() const 00103 { 00120 return fHmemSubEvents; 00121 } 00122 00123 inline const vector<TSubEvent> & TDragonEvent::GetGmemSubEvents() const 00124 { 00141 return fGmemSubEvents; 00142 } 00143 00144 inline const vector<TSubEvent> & TDragonEvent::GetChmeSubEvents() const 00145 { 00166 return fChmeSubEvents; 00167 } 00168 00169 inline const vector<TSubEvent> & TDragonEvent::GetCgmeSubEvents() const 00170 { 00191 return fCgmeSubEvents; 00192 } 00193 00194 #endif // TDragonEvent.h