// ESAF : Euso Simulation and Analysis Framework // Reconstruction module factory // $Id: ModuleFactory.hh,v 1.4 2004/09/14 12:40:17 naumov Exp $ // Marco Pallavicini created Oct, 16 2003 #ifndef __MODULEFACTORY_HH_ #define __MODULEFACTORY_HH_ #include "euso.hh" #include #include class RecoModule; class InputModule; class ModuleFactory { public: // ctor ModuleFactory(const string&); // dtor virtual ~ModuleFactory(); // get input module inline InputModule *GetInputModule() { return fInputModule;} // get modules: NULL when all modules are done RecoModule *GetModule(); private: // physically build the modules void MakeModule(const string& mName); void MakeInputModule(const string& mName); void MakeSequence(const string& mName); // modules and sequences vector fModules; // current module counter used in Get() size_t fCurrent; // input module InputModule *fInputModule; ClassDef(ModuleFactory,0) }; #endif /* MODULEFACTORY_HH_ */