HARPO  5.1.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HarpoConfig.h
Go to the documentation of this file.
1 #ifndef HARPOCONFIG_H
2 #define HARPOCONFIG_H
3 
5 // HarpoConfig.h
6 //
7 // A class representing the configuration of the analysis program,
8 // gathered from the configuration file and the command line
9 //
10 
11 
12 #include "Rtypes.h"
13 #include "TString.h"
14 #include "HarpoDet.h"
15 #include "HarpoDetSet.h"
16 #include "HarpoDebug.h"
17 #include "HarpoConfigFile.h"
18 
19 class HarpoPedMgr;
20 class HarpoPedestal;
21 
22 
23 // FIXME
24 #define XPLANE 0
25 #define YPLANE 1
26 
28 typedef enum hReaderType_ {
33 } hReaderType;
34 
36 typedef enum hDccType_ {
37  hDccT2K, // T2K DCC redaout card
38  hDccMINOS, // MINOS DCC redaout card (feminos)
39 } hDccType;
40 
42 typedef enum pReadMode_ { // PMM2 file type
43  pTEXT = 0,
44  pWIN,
45  pBIN,
48 } pReadMode;
49 
50 class HarpoConfig : public HarpoConfigFile {
51  public:
53  HarpoConfig();
54 
56  // detmask use is detector id for Dummy reader
57  // as we process only one detector and read only one file
58  HarpoConfig(int argc, char **argv,ULong64_t detmask = 0x3);
59 
60  // Destructor: Deletes the entries in the list of configuration file lines
61  virtual ~HarpoConfig();
62 
63  void Init() {}
64  // Arguments Processing
65  void ParseArgs(int argc, char **argv, ULong64_t detmask = 0x3);
66 
68  void SetInFile(char *fin,Int_t plane=0);
70  void SetOutFile(char *fout);
72  void SetHistFile(char *fcfg);
74  void SetAnalyses(char *fcfg);
76  void SetVerbose(Long64_t v=1) { Verbose = v; }
77 
79  void SetMaxEvents(Long64_t nevt ) { MaxEvents = nevt; }
81  void SetFromEvent(Long64_t nevt ) { FromEvent = nevt; }
83  void SetToEvent(Long64_t nevt ) { ToEvent = nevt; }
85  void SetNEvent(Long64_t nevt ) { nEvent = nevt; }
87  void SetRunNo(Long64_t nrun ) { RunNo = nrun; }
88 
89  void SetSkipEvents(Long64_t skip){fSkipEvents = skip;}
90  Long64_t GetSkipEvents(){return fSkipEvents;};
91 
92  void SetSplit(Long64_t split){fSplit = split;}
93  Long64_t GetSplit(){return fSplit;};
94 
96  TString *GetInFile(Int_t idet) { return fInFile[idet]; }
98  TString *GetOutFile() { return fOutFile; }
100  TString *GetHistFile() { return fHistFile; }
102  TString *GetAnalyses() { return fAnalyses; }
103 
105  TString *GetProgramName() { return ProgramName; }
108  TString *GetWorkDir() { return WorkDir; }
110  TString *GetDataDir() { return DataDir; }
112  void SetDataDir(char *datadir);
113 
115  Long64_t GetVerbose() { return Verbose; }
116 
118  Long64_t GetMaxEvents() { return MaxEvents; }
120  Long64_t GetFromEvent( ) { return FromEvent; }
122  Long64_t GetToEvent() { return ToEvent; }
124  Long64_t GetNEvent() { return nEvent; }
125 
127  Long64_t GetRunNo() { return RunNo; }
128 
130  Long64_t GetType() { return gHReaderType; }
131 
133  // (more ...)
134  // 0 - T2K Dcc, Pmm2Text (default)
135  // 1 - Feminos, Pmm2Win
136  // 2 - Aget, Pmm2Client (a.k.a. clientUDP)
137  Long64_t GetDetRdrType(HarpoDetType nDet);
138 
139  void SetDetRdrType(HarpoDetType nDet,Long64_t rtype);
140 
142  Long64_t GetDet() { return DetNo; }
143 
146 
148  TString *GetPedFile() { return fPedFile; }
150  void SetPedFile(char * pfile);
151 
153  TString *GetDbUrl() { return fDbUrl; }
155  void SetDbUrl(char * url);
156 
157  /* /// Get list of tables for reading */
158  /* TObjArray* GetDbTables() { return &fDbTables; } */
159  /* /// Set list of tables for reading */
160  /* void SetDbTables(TObjArray *tables); */
161 
165  void SetHarpoPedMgr(HarpoPedMgr *pm) { fPedMgr = pm; }
166 
168  Bool_t isWriterEnabled() { return fWriterEnabled; }
170  void SetWriterEnable(Bool_t enable = true) { fWriterEnabled = enable; }
171  // ReadConfif file
172  Bool_t ReadCfgFile();
173  // Print all options
174  void print() const;
176  void help();
177 
180  protected:
181  //void help();
182 
183  Bool_t fWriterEnabled;
184 
185  Long64_t fSkipEvents;
186  Long64_t fSplit;
187 
188  Long64_t Verbose;
189  Long64_t MaxEvents;
190  Long64_t FromEvent;
191  Long64_t ToEvent;
192  Long64_t nEvent;
193  Long64_t RunNo;
194 
195  Long64_t detmask;
196  Long64_t DetNo;
197  Long64_t tDetRdr[gkNDetectors]; //Detector reader implementation
198 
199  TString **fInFile;
200  TString * fOutFile;
201  TString * fHistFile;
202  TString * fAnalyses;
203 
204  TString * fPedFile;
205  TString * fDbUrl;
206  // TObjArray fDbTables; /// Db tables for read, separated by comma
207 
208  TString * ProgramName;
209  TString * WorkDir;
210  TString * DataDir;
211 
213 
214 };
215 // Global Pointer to Configuration Object
217 
218 
219 #endif // #ifndef HARPOCONFIG_H
220 
void SetNEvent(Long64_t nevt)
Set Event number with we looking for.
Definition: HarpoConfig.h:85
Bool_t isWriterEnabled()
Check if Writer Enabled.
Definition: HarpoConfig.h:168
TString * GetProgramName()
Get Program Name.
Definition: HarpoConfig.h:105
Long64_t GetRunNo()
Set Run Number.
Definition: HarpoConfig.h:127
TString * GetDbUrl()
Get harpo database server URL.
Definition: HarpoConfig.h:153
void SetToEvent(Long64_t nevt)
Set Last Event number to process.
Definition: HarpoConfig.h:83
hDccType_
DCC card Type.
Definition: HarpoConfig.h:36
void SetRunNo(Long64_t nrun)
Set Run Number.
Definition: HarpoConfig.h:87
TString * ProgramName
db serevr url
Definition: HarpoConfig.h:208
void SetDbUrl(char *url)
Set harpo database server URL.
TString * GetOutFile()
Get Output root file name.
Definition: HarpoConfig.h:98
void SetMaxEvents(Long64_t nevt)
Set Max Event for prosess.
Definition: HarpoConfig.h:79
void SetInFile(char *fin, Int_t plane=0)
Set Input file name for detector.
void SetAnalyses(char *fcfg)
Set List of HarpoAnalyses to run.
R__EXTERN HarpoConfig * gHConfig
Definition: HarpoConfig.h:216
hReaderType_
Harpo Reader Type.
Definition: HarpoConfig.h:28
Long64_t GetDet()
Get Detector Number for single detector readers.
Definition: HarpoConfig.h:142
void SetFromEvent(Long64_t nevt)
Set First Event to process.
Definition: HarpoConfig.h:81
TString * DataDir
Definition: HarpoConfig.h:210
bin mode like mclientUDP feminis data
Definition: HarpoConfig.h:46
TString * fDbUrl
root file with feminos pedstals
Definition: HarpoConfig.h:205
TString * fOutFile
Array of input row files.
Definition: HarpoConfig.h:200
void SetSplit(Long64_t split)
Definition: HarpoConfig.h:92
Long64_t fSplit
Events to skeep.
Definition: HarpoConfig.h:186
void SetPedFile(char *pfile)
Set Pedestal File.
TString ** fInFile
Definition: HarpoConfig.h:199
TString * GetInFile(Int_t idet)
Get Input file name for detector.
Definition: HarpoConfig.h:96
HarpoConfig()
Constructor which does basically nothing.
TString * fHistFile
Output file for root tries.
Definition: HarpoConfig.h:201
void SetDetRdrType(HarpoDetType nDet, Long64_t rtype)
Set type of reader impementation for given Harpo Detector.
TString * GetDataDir()
Get Top Data directory.
Definition: HarpoConfig.h:110
Long64_t GetSkipEvents()
Definition: HarpoConfig.h:90
A generic class for HARPO datectors The class is ....
Definition: HarpoDetSet.h:21
Long64_t ToEvent
Fist event for analyse.
Definition: HarpoConfig.h:191
TString * fAnalyses
Output file for histograms.
Definition: HarpoConfig.h:202
void SetWriterEnable(Bool_t enable=true)
Set Writer Enabled Flag.
Definition: HarpoConfig.h:170
Bool_t ReadCfgFile()
TString * WorkDir
Definition: HarpoConfig.h:209
Long64_t GetType()
Return global Harpo Reader type.
Definition: HarpoConfig.h:130
void Init()
Definition: HarpoConfig.h:63
void SetSkipEvents(Long64_t skip)
Definition: HarpoConfig.h:89
A class which keeps track of the entire configuration file.
llr time stamp and trigger format
Definition: HarpoConfig.h:47
TString * fPedFile
List of HarpoAnalyses to run.
Definition: HarpoConfig.h:204
Long64_t RunNo
Event number to show/print etc.
Definition: HarpoConfig.h:193
pReadMode_
Definition: HarpoConfig.h:42
HarpoPedMgr * GetHarpoPedMgr()
Get pointer to Harpo Feminos pdestal manager.
Definition: HarpoConfig.h:163
Long64_t MaxEvents
Verbose level.
Definition: HarpoConfig.h:189
enum hDccType_ hDccType
DCC card Type.
Long64_t nEvent
Last event for analyse.
Definition: HarpoConfig.h:192
Long64_t GetToEvent()
Get Last Event number to process.
Definition: HarpoConfig.h:122
Long64_t DetNo
Detector mask (default 0x3)
Definition: HarpoConfig.h:196
void SetDataDir(char *datadir)
Get Top Data directory.
Long64_t fSkipEvents
Enabke/Disble Output Tree writer.
Definition: HarpoConfig.h:185
void SetVerbose(Long64_t v=1)
Set program verbosity level.
Definition: HarpoConfig.h:76
void SetHarpoPedMgr(HarpoPedMgr *pm)
Set Harpo Feminos pdestal manager.
Definition: HarpoConfig.h:165
HarpoPedMgr * fPedMgr
Definition: HarpoConfig.h:212
enum pReadMode_ pReadMode
Long64_t GetDetRdrType(HarpoDetType nDet)
Return type of reader impementation for given Harpo Detector.
virtual ~HarpoConfig()
Destructor:
Long64_t GetNEvent()
Get Event number with we looking for.
Definition: HarpoConfig.h:124
void ParseArgs(int argc, char **argv, ULong64_t detmask=0x3)
Init Config data.
Harpo Event Simulation.
Definition: HarpoConfig.h:32
Harpo Raw Files.
Definition: HarpoConfig.h:31
Bool_t fWriterEnabled
Definition: HarpoConfig.h:183
void print() const
Read config file in libconfig format.
Long64_t GetFromEvent()
Get First Event to process.
Definition: HarpoConfig.h:120
void SetHistFile(char *fcfg)
Set Name of Histogram output file.
HarpoDetType
Definition: HarpoDet.h:16
Long64_t tDetRdr[gkNDetectors]
Detector id (for dummy reader)
Definition: HarpoConfig.h:197
HarpoDetSet * GetDetSet()
Get set of active detectors.
dummy reader, for one detector test
Definition: HarpoConfig.h:30
TString * GetPedFile()
Get Pedestal file.
Definition: HarpoConfig.h:148
Long64_t FromEvent
Max number events to process.
Definition: HarpoConfig.h:190
TString * GetHistFile()
Get Name of Histogram output file.
Definition: HarpoConfig.h:100
bin mode as written by Windows PMMv2_DAQ program
Definition: HarpoConfig.h:45
TString * GetAnalyses()
Get List of HarpoAnalyses.
Definition: HarpoConfig.h:102
const ULong_t gkNDetectors
Definition: HarpoDet.h:14
Long64_t Verbose
Definition: HarpoConfig.h:188
void SetOutFile(char *fout)
Set Output root file name.
static hReaderType gHReaderType
Reader Type.
Definition: HarpoConfig.h:179
TString * GetWorkDir()
Definition: HarpoConfig.h:108
Long64_t detmask
Current run number.
Definition: HarpoConfig.h:195
Long64_t GetSplit()
Definition: HarpoConfig.h:93
enum hReaderType_ hReaderType
Harpo Reader Type.
A class which keeps track of the entire configuration of the analysis.
Definition: HarpoConfig.h:50
TEXT mode (?? csv), UNIMPLEMENTED.
Definition: HarpoConfig.h:44
void help()
help
Long64_t GetVerbose()
Get program verbosity level.
Definition: HarpoConfig.h:115
Long64_t GetMaxEvents()
Get Max Event for prosess.
Definition: HarpoConfig.h:118