source: JEM-EUSO/esaf_lal/tags/v1_r0/esaf/packages/reconstruction/framework/include/RecoFramework.hh @ 117

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

ESAF version compilable on mac OS

File size: 1.9 KB
Line 
1// ESAF : Euso Simulation and Analysis Framework
2// Reconstruction framework
3// $Id: RecoFramework.hh 2625 2006-03-24 18:32:22Z thea $
4// Marco Pallavicini created Oct, 16 2003
5
6#ifndef __RECOFRAMEWORK_HH_
7#define __RECOFRAMEWORK_HH_
8
9#include <iostream>
10#include <string>
11#include <vector>
12
13#include "euso.hh"
14#include "EsafConfigurable.hh"
15#include "EsafMsgSource.hh"
16
17class TTree;
18class RecoRootEvent;
19class RecoModule;
20class InputModule;
21class RecoEvent;
22class TFile;
23
24class RecoFramework : public EsafConfigurable, public EsafMsgSource {
25public:
26    // ctor
27    RecoFramework(int argc, char** argv);
28
29    // dtor
30    virtual ~RecoFramework();
31
32    // initialization
33    void Init();
34
35    // complete the execution
36    void End();
37   
38    // parse a command line
39    void ParseCommandLine(int&, char**);
40   
41    // load module list from file
42    Bool_t Load(const string&) { return kFALSE; }
43
44    // execute module list
45    void Execute();
46   
47    // execute on a single event
48    void Execute( RecoEvent* ) {}
49
50    // dump module list and infos
51    void Dump( ostream& = cout) const;
52
53    EsafConfigClass(Reco,RecoFramework)
54
55private:
56    enum ERecoFiles { kLog, kDump, kRoot };
57
58    // add module to list
59    Bool_t AddModule(const string&);
60   
61    //vector of reco modules
62    vector<RecoModule*> fModules;
63
64    // filenames
65    map< ERecoFiles , string > fFileNames;
66    string fOutPath;
67    string fOutBaseName;
68
69    vector<string> fUsrKeys;
70    vector<string> fUsrValues;
71    vector<string> fUsrCfgs;
72    // input module is unique
73    InputModule *fInputModule;
74    inline InputModule* GetInputModule() { return fInputModule;}
75    Int_t  fCurrentEvent;
76    // rootfile
77    TFile *fRootFile;
78    TTree* fRecoTree;
79    RecoRootEvent* fRecoRootEvent;
80    void CreateRecoRootEvent();
81    void OpenRoot();
82    void CloseRoot();
83    ClassDef(RecoFramework,0)
84};
85
86#endif  /* __RECOFRAMEWORK_HH_ */
87
Note: See TracBrowser for help on using the repository browser.