Fork me on GitHub

source: git/external/ExRootAnalysis/ExRootConfReader.h@ 35cdc46

ImprovedOutputFile Timing dual_readout llp
Last change on this file since 35cdc46 was d7d2da3, checked in by pavel <pavel@…>, 12 years ago

move branches/ModularDelphes to trunk

  • Property mode set to 100644
File size: 1.7 KB
Line 
1#ifndef ExRootConfReader_h
2#define ExRootConfReader_h
3
4/** \class ExRootConfReader
5 *
6 * Class handling output ROOT tree
7 *
8 * $Date: 2008-06-04 13:57:24 $
9 * $Revision: 1.1 $
10 *
11 *
12 * \author P. Demin - UCL, Louvain-la-Neuve
13 *
14 */
15
16#include "TNamed.h"
17
18#include <map>
19#include <utility>
20
21struct Tcl_Obj;
22struct Tcl_Interp;
23
24class ExRootConfParam
25{
26public:
27
28 ExRootConfParam(const char *name = 0, Tcl_Obj *object = 0, Tcl_Interp *interp = 0);
29
30 int GetInt(int defaultValue = 0);
31 long GetLong(long defaultValue = 0);
32 double GetDouble(double defaultValue = 0.0);
33 bool GetBool(bool defaultValue = false);
34 const char *GetString(const char *defaultValue = "");
35
36 int GetSize();
37 ExRootConfParam operator[](int index);
38
39private:
40
41 const char *fName; //!
42 Tcl_Obj *fObject; //!
43 Tcl_Interp *fTclInterp; //!
44};
45
46//------------------------------------------------------------------------------
47
48class ExRootConfReader : public TNamed
49{
50public:
51 typedef std::map<TString, TString> ExRootTaskMap;
52
53 ExRootConfReader();
54 ~ExRootConfReader();
55
56 void ReadFile(const char *fileName);
57
58 int GetInt(const char *name, int defaultValue, int index = -1);
59 long GetLong(const char *name, long defaultValue, int index = -1);
60 double GetDouble(const char *name, double defaultValue, int index = -1);
61 bool GetBool(const char *name, bool defaultValue, int index = -1);
62 const char *GetString(const char *name, const char *defaultValue, int index = -1);
63 ExRootConfParam GetParam(const char *name);
64
65 const ExRootTaskMap *GetModules() const { return &fModules; }
66
67 void AddModule(const char *className, const char *moduleName);
68
69private:
70
71 Tcl_Interp *fTclInterp; //!
72
73 ExRootTaskMap fModules; //!
74
75 ClassDef(ExRootConfReader, 1)
76};
77
78#endif
79
Note: See TracBrowser for help on using the repository browser.