// ESAF : Euso Simulation and Analysis Framework // Reconstruction framework // $Id: RecoFramework.hh,v 1.13 2005/06/17 16:37:44 thea Exp $ // Marco Pallavicini created Oct, 16 2003 #ifndef __RECOFRAMEWORK_HH_ #define __RECOFRAMEWORK_HH_ #include #include #include #include "euso.hh" #include "EsafConfigurable.hh" #include "EsafMsgSource.hh" class TTree; class RecoRootEvent; class RecoModule; class InputModule; class RecoEvent; class TFile; class RecoFramework : public EsafConfigurable, public EsafMsgSource { public: // ctor RecoFramework(int argc, char** argv); // dtor virtual ~RecoFramework(); // parse a command line void ParseCommandLine(int&, char**); // load module list from file Bool_t Load(const string&) { return kFALSE; } // execute module list void Execute(); // execute on a single event void Execute( RecoEvent* ) {} // dump module list and infos void Dump( ostream& = cout) const; EsafConfigClass(Reco,RecoFramework) private: // add module to list Bool_t AddModule(const string&); //vector of reco modules vector fModules; // input module is unique InputModule *fInputModule; inline InputModule* GetInputModule() { return fInputModule;} Int_t fCurrentEvent; // rootfile TFile *fRootFile; TTree* fRecoTree; RecoRootEvent* fRecoRootEvent; void CreateRecoRootEvent(); void OpenRoot(); void CloseRoot(); ClassDef(RecoFramework,0) }; #endif /* __RECOFRAMEWORK_HH_ */