00001 // $ID: REROOT_Event.h,v 1.2 2000/01/05 16:25 gmieg Exp $ 00002 // 00003 // Define Class REROOT_Event -- Interacts with REROOT_Event Data Classes 00004 // Adapted from Matt Langston's STL based Event Class. G. Irwin 12/96 00005 00006 #ifndef REROOT_EVENT_H 00007 #define REROOT_EVENT_H 00008 00009 #include <iosfwd> 00010 00011 #include "TClonesArray.h" 00012 00013 #include "REROOT_Classes/REROOT_DigitPln.h" 00014 #include "REROOT_Classes/REROOT_EmuDigit.h" 00015 #include "REROOT_Classes/REROOT_EmuHit.h" 00016 #include "REROOT_Classes/REROOT_EventHistory.h" 00017 #include "REROOT_Classes/REROOT_FLSDigiCell.h" 00018 #include "REROOT_Classes/REROOT_FLSDigiPln.h" 00019 #include "REROOT_Classes/REROOT_FLSDigit.h" 00020 #include "REROOT_Classes/REROOT_FLSDigiView.h" 00021 #include "REROOT_Classes/REROOT_FLSHit.h" 00022 #include "REROOT_Classes/REROOT_FluxInfo.h" 00023 #include "REROOT_Classes/REROOT_FluxWgt.h" 00024 #include "REROOT_Classes/REROOT_GAFKey.h" 00025 #include "REROOT_Classes/REROOT_HitPln.h" 00026 #include "REROOT_Classes/REROOT_LSTHit.h" 00027 #include "REROOT_Classes/REROOT_LSTProto.h" 00028 #include "REROOT_Classes/REROOT_LSTStrip.h" 00029 #include "REROOT_Classes/REROOT_LSTWire.h" 00030 #include "REROOT_Classes/REROOT_MuonTrkHeader.h" 00031 #include "REROOT_Classes/REROOT_MuonTrkPoint.h" 00032 #include "REROOT_Classes/REROOT_NeuKin.h" 00033 #include "REROOT_Classes/REROOT_NeuVtx.h" 00034 #include "REROOT_Classes/REROOT_PEArrival.h" 00035 #include "REROOT_Classes/REROOT_RecoMuon.h" 00036 #include "REROOT_Classes/REROOT_RecoShwDir.h" 00037 #include "REROOT_Classes/REROOT_RecoShwEnergy.h" 00038 #include "REROOT_Classes/REROOT_RecoVtx.h" 00039 #include "REROOT_Classes/REROOT_RPCHit.h" 00040 #include "REROOT_Classes/REROOT_StdHep.h" 00041 #include "REROOT_Classes/REROOT_StdHepHead.h" 00042 #include "REROOT_Classes/REROOT_TstHit.h" 00043 00044 #include "REROOT_Classes/REROOT_Record.h" 00045 #include "REROOT_Classes/ADAMO_Shell.h" 00046 #include "REROOT_Classes/REROOT_Visitor.h" 00047 00048 class REROOT_Event : public REROOT_Record 00049 { 00050 private: 00051 Int_t m_idcurgeom; // C Index of current REROOT_Geom 00052 00053 TClonesArray *m_digitplns; //-> Ptr to static storage location 00054 TClonesArray *m_emudigits; //-> Ptr to static storage location 00055 TClonesArray *m_emuhits; //-> Ptr to static storage location 00056 TClonesArray *m_eventhistorys; //-> Ptr to static storage location 00057 TClonesArray *m_flsdigicells; //-> Ptr to static storage location 00058 TClonesArray *m_flsdigiplns; //-> Ptr to static storage location 00059 TClonesArray *m_flsdigits; //-> Ptr to static storage location 00060 TClonesArray *m_flsdigiviews; //-> Ptr to static storage location 00061 TClonesArray *m_flshits; //-> Ptr to static storage location 00062 TClonesArray *m_fluxinfos; //-> Ptr to static storage location 00063 TClonesArray *m_fluxwgts; //-> Ptr to static storage location 00064 TClonesArray *m_gafkeys; //-> Ptr to static storage location 00065 TClonesArray *m_hitplns; //-> Ptr to static storage location 00066 TClonesArray *m_lsthits; //-> Ptr to static storage location 00067 TClonesArray *m_lstprotos; //-> Ptr to static storage location 00068 TClonesArray *m_lststrips; //-> Ptr to static storage location 00069 TClonesArray *m_lstwires; //-> Ptr to static storage location 00070 TClonesArray *m_muontrkheaders; //-> Ptr to static storage location 00071 TClonesArray *m_muontrkpoints; //-> Ptr to static storage location 00072 TClonesArray *m_neukins; //-> Ptr to static storage location 00073 TClonesArray *m_neuvtxs; //-> Ptr to static storage location 00074 TClonesArray *m_pearrivals; //-> Ptr to static storage location 00075 TClonesArray *m_recomuons; //-> Ptr to static storage location 00076 TClonesArray *m_recoshwdirs; //-> Ptr to static storage location 00077 TClonesArray *m_recoshwenergys; //-> Ptr to static storage location 00078 TClonesArray *m_recovtxs; //-> Ptr to static storage location 00079 TClonesArray *m_rpchits; //-> Ptr to static storage location 00080 TClonesArray *m_stdheps; //-> Ptr to static storage location 00081 TClonesArray *m_stdhepheads; //-> Ptr to static storage location 00082 TClonesArray *m_tsthits; //-> Ptr to static storage location 00083 00084 static TClonesArray *s_digitplns; 00085 static TClonesArray *s_emudigits; 00086 static TClonesArray *s_emuhits; 00087 static TClonesArray *s_eventhistorys; 00088 static TClonesArray *s_flsdigicells; 00089 static TClonesArray *s_flsdigiplns; 00090 static TClonesArray *s_flsdigits; 00091 static TClonesArray *s_flsdigiviews; 00092 static TClonesArray *s_flshits; 00093 static TClonesArray *s_fluxinfos; 00094 static TClonesArray *s_fluxwgts; 00095 static TClonesArray *s_gafkeys; 00096 static TClonesArray *s_hitplns; 00097 static TClonesArray *s_lsthits; 00098 static TClonesArray *s_lstprotos; 00099 static TClonesArray *s_lststrips; 00100 static TClonesArray *s_lstwires; 00101 static TClonesArray *s_muontrkheaders; 00102 static TClonesArray *s_muontrkpoints; 00103 static TClonesArray *s_neukins; 00104 static TClonesArray *s_neuvtxs; 00105 static TClonesArray *s_pearrivals; 00106 static TClonesArray *s_recomuons; 00107 static TClonesArray *s_recoshwdirs; 00108 static TClonesArray *s_recoshwenergys; 00109 static TClonesArray *s_recovtxs; 00110 static TClonesArray *s_rpchits; 00111 static TClonesArray *s_stdheps; 00112 static TClonesArray *s_stdhepheads; 00113 static TClonesArray *s_tsthits; 00114 00115 static REROOT_Event *s_curevent; 00116 00117 static Bool_t DigitPln_isWanted; 00118 static Bool_t EmuDigit_isWanted; 00119 static Bool_t EmuHit_isWanted; 00120 static Bool_t EventHistory_isWanted; 00121 static Bool_t FLSDigiCell_isWanted; 00122 static Bool_t FLSDigiPln_isWanted; 00123 static Bool_t FLSDigit_isWanted; 00124 static Bool_t FLSDigiView_isWanted; 00125 static Bool_t FLSHit_isWanted; 00126 static Bool_t FluxInfo_isWanted; 00127 static Bool_t FluxWgt_isWanted; 00128 static Bool_t GAFKey_isWanted; 00129 static Bool_t HitPln_isWanted; 00130 static Bool_t LSTHit_isWanted; 00131 static Bool_t LSTProto_isWanted; 00132 static Bool_t LSTStrip_isWanted; 00133 static Bool_t LSTWire_isWanted; 00134 static Bool_t MuonTrkHeader_isWanted; 00135 static Bool_t MuonTrkPoint_isWanted; 00136 static Bool_t NeuKin_isWanted; 00137 static Bool_t NeuVtx_isWanted; 00138 static Bool_t PEArrival_isWanted; 00139 static Bool_t RecoMuon_isWanted; 00140 static Bool_t RecoShwDir_isWanted; 00141 static Bool_t RecoShwEnergy_isWanted; 00142 static Bool_t RecoVtx_isWanted; 00143 static Bool_t RPCHit_isWanted; 00144 static Bool_t StdHepHead_isWanted; 00145 static Bool_t StdHep_isWanted; 00146 static Bool_t TstHit_isWanted; 00147 00148 public: 00149 REROOT_Event(); 00150 ~REROOT_Event(); 00151 00152 void init(); 00153 void Clear(Option_t *option=""); 00154 void fill_objects_from_GAF(ADAMO_Shell*); 00155 00156 void Print(Option_t *option="") const; 00157 00158 void Setidcurgeom(Int_t idcurgeom) {m_idcurgeom = idcurgeom;} 00159 Int_t idcurgeom() {return m_idcurgeom;} 00160 00161 virtual void accept(REROOT_Visitor& v) {v.visit(this);} 00162 00163 static void Set_curevent(REROOT_Event *revt) {s_curevent = revt;} 00164 static REROOT_Event *curevent() {return s_curevent;} 00165 00166 static void set_DigitPln_isWanted(Bool_t lj) {DigitPln_isWanted = lj;} 00167 static void set_EmuDigit_isWanted(Bool_t lj) {EmuDigit_isWanted = lj;} 00168 static void set_EmuHit_isWanted(Bool_t lj) {EmuHit_isWanted = lj;} 00169 static void set_EventHistory_isWanted(Bool_t lj) 00170 {EventHistory_isWanted = lj;} 00171 static void set_FLSDigiCell_isWanted(Bool_t lj) 00172 {FLSDigiCell_isWanted = lj;} 00173 static void set_FLSDigiPln_isWanted(Bool_t lj) 00174 {FLSDigiPln_isWanted = lj;} 00175 static void set_FLSDigit_isWanted(Bool_t lj) {FLSDigit_isWanted = lj;} 00176 static void set_FLSDigiView_isWanted(Bool_t lj) 00177 {FLSDigiView_isWanted = lj;} 00178 static void set_FLSHit_isWanted(Bool_t lj) {FLSHit_isWanted = lj;} 00179 static void set_FluxInfo_isWanted(Bool_t lj) {FluxInfo_isWanted = lj;} 00180 static void set_FluxWgt_isWanted(Bool_t lj) {FluxWgt_isWanted = lj;} 00181 static void set_GAFKey_isWanted(Bool_t lj) {GAFKey_isWanted = lj;} 00182 static void set_HitPln_isWanted(Bool_t lj) {HitPln_isWanted = lj;} 00183 static void set_LSTHit_isWanted(Bool_t lj) {LSTHit_isWanted = lj;} 00184 static void set_LSTProto_isWanted(Bool_t lj) {LSTProto_isWanted = lj;} 00185 static void set_LSTStrip_isWanted(Bool_t lj) {LSTStrip_isWanted = lj;} 00186 static void set_LSTWire_isWanted(Bool_t lj) {LSTWire_isWanted = lj;} 00187 static void set_MuonTrkHeader_isWanted(Bool_t lj) 00188 {MuonTrkHeader_isWanted = lj;} 00189 static void set_MuonTrkPoint_isWanted(Bool_t lj) 00190 {MuonTrkPoint_isWanted = lj;} 00191 static void set_NeuKin_isWanted(Bool_t lj) {NeuKin_isWanted = lj;} 00192 static void set_NeuVtx_isWanted(Bool_t lj) {NeuVtx_isWanted = lj;} 00193 static void set_PEArrival_isWanted(Bool_t lj) 00194 {PEArrival_isWanted = lj;} 00195 static void set_RecoMuon_isWanted(Bool_t lj) {RecoMuon_isWanted = lj;} 00196 static void set_RecoShwDir_isWanted(Bool_t lj) 00197 {RecoShwDir_isWanted = lj;} 00198 static void set_RecoShwEnergy_isWanted(Bool_t lj) 00199 {RecoShwEnergy_isWanted = lj;} 00200 static void set_RecoVtx_isWanted(Bool_t lj) {RecoVtx_isWanted = lj;} 00201 static void set_RPCHit_isWanted(Bool_t lj) {RPCHit_isWanted = lj;} 00202 static void set_StdHep_isWanted(Bool_t lj) {StdHep_isWanted = lj;} 00203 static void set_StdHepHead_isWanted(Bool_t lj) 00204 {StdHepHead_isWanted=lj;} 00205 static void set_TstHit_isWanted(Bool_t lj) {TstHit_isWanted=lj;} 00206 00207 static Bool_t get_DigitPln_isWanted() {return DigitPln_isWanted;} 00208 static Bool_t get_EmuDigit_isWanted() {return EmuDigit_isWanted;} 00209 static Bool_t get_EmuHit_isWanted() {return EmuHit_isWanted;} 00210 static Bool_t get_EventHistory_isWanted() 00211 {return EventHistory_isWanted;} 00212 static Bool_t get_FLSDigiCell_isWanted(){return FLSDigiCell_isWanted;} 00213 static Bool_t get_FLSDigiPln_isWanted() {return FLSDigiPln_isWanted;} 00214 static Bool_t get_FLSDigit_isWanted() {return FLSDigit_isWanted;} 00215 static Bool_t get_FLSDigiView_isWanted(){return FLSDigiView_isWanted;} 00216 static Bool_t get_FLSHit_isWanted() {return FLSHit_isWanted;} 00217 static Bool_t get_FluxInfo_isWanted() {return FluxInfo_isWanted;} 00218 static Bool_t get_FluxWgt_isWanted() {return FluxWgt_isWanted;} 00219 static Bool_t get_GAFKey_isWanted() {return GAFKey_isWanted;} 00220 static Bool_t get_HitPln_isWanted() {return HitPln_isWanted;} 00221 static Bool_t get_LSTHit_isWanted() {return LSTHit_isWanted;} 00222 static Bool_t get_LSTProto_isWanted() {return LSTProto_isWanted;} 00223 static Bool_t get_LSTStrip_isWanted() {return LSTStrip_isWanted;} 00224 static Bool_t get_LSTWire_isWanted() {return LSTWire_isWanted;} 00225 static Bool_t get_MuonTrkHeader_isWanted() 00226 {return MuonTrkHeader_isWanted;} 00227 static Bool_t get_MuonTrkPoint_isWanted() 00228 {return MuonTrkPoint_isWanted;} 00229 static Bool_t get_NeuKin_isWanted() {return NeuKin_isWanted;} 00230 static Bool_t get_NeuVtx_isWanted() {return NeuVtx_isWanted;} 00231 static Bool_t get_RecoMuon_isWanted() {return RecoMuon_isWanted;} 00232 static Bool_t get_RecoShwDir_isWanted() {return RecoShwDir_isWanted;} 00233 static Bool_t get_RecoShwEnergy_isWanted() 00234 {return RecoShwEnergy_isWanted;} 00235 static Bool_t get_RecoVtx_isWanted() {return RecoVtx_isWanted;} 00236 static Bool_t get_RPCHit_isWanted() {return RPCHit_isWanted;} 00237 static Bool_t get_StdHep_isWanted() {return StdHep_isWanted;} 00238 static Bool_t get_StdHepHead_isWanted() {return StdHepHead_isWanted;} 00239 static Bool_t get_TstHit_isWanted() {return TstHit_isWanted;} 00240 00241 typedef Int_t DigitPln_list_size_type; 00242 typedef Int_t EmuDigit_list_size_type; 00243 typedef Int_t EmuHit_list_size_type; 00244 typedef Int_t EventHistory_list_size_type; 00245 typedef Int_t FLSDigiCell_list_size_type; 00246 typedef Int_t FLSDigiPln_list_size_type; 00247 typedef Int_t FLSDigit_list_size_type; 00248 typedef Int_t FLSDigiView_list_size_type; 00249 typedef Int_t FLSHit_list_size_type; 00250 typedef Int_t FluxInfo_list_size_type; 00251 typedef Int_t FluxWgt_list_size_type; 00252 typedef Int_t GAFKey_list_size_type; 00253 typedef Int_t HitPln_list_size_type; 00254 typedef Int_t LSTHit_list_size_type; 00255 typedef Int_t LSTProto_list_size_type; 00256 typedef Int_t LSTStrip_list_size_type; 00257 typedef Int_t LSTWire_list_size_type; 00258 typedef Int_t MuonTrkHeader_list_size_type; 00259 typedef Int_t MuonTrkPoint_list_size_type; 00260 typedef Int_t NeuKin_list_size_type; 00261 typedef Int_t NeuVtx_list_size_type; 00262 typedef Int_t PEArrival_list_size_type; 00263 typedef Int_t RecoMuon_list_size_type; 00264 typedef Int_t RecoShwDir_list_size_type; 00265 typedef Int_t RecoShwEnergy_list_size_type; 00266 typedef Int_t RecoVtx_list_size_type; 00267 typedef Int_t RPCHit_list_size_type; 00268 typedef Int_t StdHep_list_size_type; 00269 typedef Int_t StdHepHead_list_size_type; 00270 typedef Int_t TstHit_list_size_type; 00271 00272 DigitPln_list_size_type n_digitplns() const; 00273 EmuDigit_list_size_type n_emudigits() const; 00274 EmuHit_list_size_type n_emuhits() const; 00275 EventHistory_list_size_type n_eventhistorys() const; 00276 FLSDigiCell_list_size_type n_flsdigicells() const; 00277 FLSDigiPln_list_size_type n_flsdigiplns() const; 00278 FLSDigit_list_size_type n_flsdigits() const; 00279 FLSDigiView_list_size_type n_flsdigiviews() const; 00280 FLSHit_list_size_type n_flshits() const; 00281 FluxInfo_list_size_type n_fluxinfos() const; 00282 FluxWgt_list_size_type n_fluxwgts() const; 00283 GAFKey_list_size_type n_gafkeys() const; 00284 HitPln_list_size_type n_hitplns() const; 00285 LSTHit_list_size_type n_lsthits() const; 00286 LSTProto_list_size_type n_lstprotos() const; 00287 LSTStrip_list_size_type n_lststrips() const; 00288 LSTWire_list_size_type n_lstwires() const; 00289 MuonTrkHeader_list_size_type n_muontrkheaders() const; 00290 MuonTrkPoint_list_size_type n_muontrkpoints() const; 00291 NeuKin_list_size_type n_neukins() const; 00292 NeuVtx_list_size_type n_neuvtxs() const; 00293 PEArrival_list_size_type n_pearrivals() const; 00294 RecoMuon_list_size_type n_recomuons() const; 00295 RecoShwDir_list_size_type n_recoshwdirs() const; 00296 RecoShwEnergy_list_size_type n_recoshwenergys() const; 00297 RecoVtx_list_size_type n_recovtxs() const; 00298 RPCHit_list_size_type n_rpchits() const; 00299 StdHep_list_size_type n_stdheps() const; 00300 StdHepHead_list_size_type n_stdhepheads() const; 00301 TstHit_list_size_type n_tsthits() const; 00302 00303 const TClonesArray *digitplns() const {return m_digitplns;} 00304 const TClonesArray *emudigits() const {return m_emudigits;} 00305 const TClonesArray *emuhits() const {return m_emuhits;} 00306 const TClonesArray *eventhistorys() const {return m_eventhistorys;} 00307 const TClonesArray *flsdigicells() const {return m_flsdigicells;} 00308 const TClonesArray *flsdigiplns() const {return m_flsdigiplns;} 00309 const TClonesArray *flsdigits() const {return m_flsdigits;} 00310 const TClonesArray *flsdigiviews() const {return m_flsdigiviews;} 00311 const TClonesArray *flshits() const {return m_flshits;} 00312 const TClonesArray *fluxinfos() const {return m_fluxinfos;} 00313 const TClonesArray *fluxwgts() const {return m_fluxwgts;} 00314 const TClonesArray *gafkeys() const {return m_gafkeys;} 00315 const TClonesArray *hitplns() const {return m_hitplns;} 00316 const TClonesArray *lsthits() const {return m_lsthits;} 00317 const TClonesArray *lstprotos() const {return m_lstprotos;} 00318 const TClonesArray *lststrips() const {return m_lststrips;} 00319 const TClonesArray *lstwires() const {return m_lstwires;} 00320 const TClonesArray *muontrkheaders() const {return m_muontrkheaders;} 00321 const TClonesArray *muontrkpoints() const {return m_muontrkpoints;} 00322 const TClonesArray *neukins() const {return m_neukins;} 00323 const TClonesArray *neuvtxs() const {return m_neuvtxs;} 00324 const TClonesArray *pearrivals() const {return m_pearrivals;} 00325 const TClonesArray *recomuons() const {return m_recomuons;} 00326 const TClonesArray *recoshwdirs() const {return m_recoshwdirs;} 00327 const TClonesArray *recoshwenergys() const {return m_recoshwenergys;} 00328 const TClonesArray *recovtxs() const {return m_recovtxs;} 00329 const TClonesArray *rpchits() const {return m_rpchits;} 00330 const TClonesArray *stdheps() const {return m_stdheps;} 00331 const TClonesArray *stdhepheads() const {return m_stdhepheads;} 00332 const TClonesArray *tsthits() const {return m_tsthits;} 00333 00334 ClassDef(REROOT_Event,2) // REROOT_Event Class 00335 00336 }; 00337 00338 #endif // REROOT_EVENT_H
1.3.9.1