source: JEM-EUSO/esaf_cc_at_lal/packages/reconstruction/framework/include/ModuleFactory.hh @ 114

Last change on this file since 114 was 114, checked in by moretto, 11 years ago

actual version of ESAF at CCin2p3

File size: 1.1 KB
Line 
1// ESAF : Euso Simulation and Analysis Framework
2// Reconstruction module factory
3// $Id: ModuleFactory.hh 2631 2006-03-25 11:36:07Z thea $
4// Marco Pallavicini created Oct, 16 2003
5
6#ifndef __MODULEFACTORY_HH_
7#define __MODULEFACTORY_HH_
8
9#include "euso.hh"
10#include <string>
11#include <vector>
12#include "EsafMsgSource.hh"
13
14class RecoModule;
15class InputModule;
16
17class ModuleFactory : public EsafMsgSource {
18public:
19    // ctor
20    ModuleFactory(const string&);
21
22    // dtor
23    virtual ~ModuleFactory();
24
25    // get input module
26    inline InputModule *GetInputModule() { return fInputModule;}
27
28    // get modules: NULL when all modules are done
29    RecoModule *GetModule();
30
31private:
32    // physically build the modules
33    void MakeModule(const string& mName);
34    void MakeInputModule(const string& mName);
35    void MakeSequence(const string& mName);
36
37    // modules and sequences
38    vector<RecoModule*> fModules;
39
40    // current module counter used in Get()
41    size_t fCurrent;
42
43    // input module
44    InputModule *fInputModule;
45    ClassDef(ModuleFactory,0)
46};
47
48#endif  /* MODULEFACTORY_HH_ */
49
Note: See TracBrowser for help on using the repository browser.