source: trunk/Mars/mjobs/MJSimulation.h@ 18477

Last change on this file since 18477 was 18450, checked in by ftemme, 9 years ago
Restructured the whole MJSimulation::Process method and added a lot of comments for a better overview what is done in ceres
File size: 1.8 KB
Line 
1#ifndef MARS_MJSimulation
2#define MARS_MJSimulation
3
4#ifndef MARS_MJob
5#include "MJob.h"
6#endif
7
8class MHn;
9class MArgs;
10class MParList;
11class MSequence;
12class MWriteRootFile;
13class MWriteFitsFile;
14class MRawRunHeader;
15
16class MJSimulation : public MJob
17{
18public:
19 enum Mode_t { kModeData, kModePed, kModeCal, kModePointRun };
20
21private:
22 Bool_t fForceMode; // Force execution even if RUNE-section was not foundm
23
24 Bool_t fCamera; // Switch on/off camera (for fast reflector processing)
25 Bool_t fForceTrigger; // Force the use of the trigger "electronics"
26 Bool_t fWriteFitsFile;
27
28 Int_t fOperationMode; // Operation mode (data, ped, cal, pointrun)
29 Int_t fRunNumber; // 8 digits run number to be used for the file names
30
31 TString fFileOut; // Output file name if all runs should be combines
32
33 Bool_t WriteResult(const MParList &plist, const MSequence &seq, Int_t run);
34 Bool_t CheckEnvLocal();
35
36 template<class T>
37 void SetupCommonFileStructure(T &write) const;
38
39 void SetupHist(MHn &hist) const;
40 void SetupHeaderKeys(MWriteFitsFile& write, MRawRunHeader &header) const;
41 void SetupVetoColumns(MWriteFitsFile& write) const;
42 void SetupHeaderOperationMode(MRawRunHeader &header) const;
43 void CreateBinningObjects(MParList &plist) const;
44
45public:
46 MJSimulation(const char *name=NULL, const char *title=NULL);
47
48 void SetForceMode(Bool_t force=kTRUE) { fForceMode = force; }
49 void SetMode(Int_t mode) { fOperationMode = mode; }
50 void SetWriteFitsFile(Bool_t fits) { fWriteFitsFile = fits; }
51 void SetFileOut(const char *file="") { fFileOut = file; }
52
53 void SetRunNumber(Int_t n=-1) { fRunNumber = n%100000000; }
54
55 // Process
56 Bool_t Process(const MArgs &args, const MSequence &seq);
57
58 ClassDef(MJSimulation, 0) // Job to run the simulation (ceres)
59};
60
61#endif
Note: See TracBrowser for help on using the repository browser.