source: branches/Mars_MC/mjobs/MJMerpp.h@ 17063

Last change on this file since 17063 was 9388, checked in by tbretz, 16 years ago
*** empty log message ***
File size: 1.9 KB
Line 
1#ifndef MARS_MJMerpp
2#define MARS_MJMerpp
3
4#ifndef MARS_MJob
5#include "MJob.h"
6#endif
7
8class MReportFileReadCC;
9class MWriteRootFile;
10class MFilter;
11class MRawFileRead;
12
13class MJMerpp : public MJob
14{
15 // Merpp general
16 Byte_t fCompression;
17 Bool_t fUpdate;
18
19 // Setup Raw
20 Bool_t fInterleave;
21 Bool_t fForceProcessing;
22
23 // Setup Reports
24 Short_t fTelescope;
25
26 UInt_t fHeaderRun;
27 UInt_t fHeaderFile;
28
29 UInt_t fReportRun;
30 Int_t fReportFile;
31
32 TString fOnly;
33
34 // Setup reports, currents
35 MTime fTimeStart;
36 MTime fTimeStop;
37
38 Bool_t fAutoStartTime;
39 Bool_t fAutoStopTime;
40
41private:
42 void AddTree(MReportFileReadCC &read, const TString &rep, const TString &only) const;
43
44 void SetupCurrents(MReportFileReadCC &read, MWriteRootFile *write) const;
45 MFilter *SetupReports(MReportFileReadCC &read, MWriteRootFile *write) const;
46 void SetupRaw(MRawFileRead &read, MWriteRootFile *write) const;
47
48 Bool_t GetTimeFromFile();
49 Bool_t CheckFilePermissions();
50
51public:
52 MJMerpp(const char *name=0, const char *title=0);
53
54 void SetCompression(Byte_t comp) { fCompression=comp; }
55 void SetUpdate(Bool_t upd) { fUpdate=upd; }
56 void SetInterleave(Bool_t il) { fInterleave=il; }
57 void SetForceProcessing(Bool_t fp) { fForceProcessing=fp; }
58 void SetOnly(const char *tree) { fOnly=tree; }
59 void SetConstrainHeader(Short_t tel, Int_t run, Int_t file)
60 { fTelescope=tel; fHeaderRun=run; fHeaderFile=file; }
61 void SetConstrainRunRep(UInt_t run, Int_t file)
62 { fReportRun=run; fReportFile=file; }
63 void SetTime(const MTime &start, const MTime &stop)
64 { fTimeStart=start; fTimeStop=stop; }
65 void SetAutoTime(Bool_t start, Bool_t stop)
66 { fAutoStartTime=start; fAutoStopTime=stop; }
67
68 Int_t Process();
69 Int_t ProcessSeq(TString fname);
70
71 ClassDef(MJMerpp, 0) // Merging and preprocessing
72};
73
74#endif
Note: See TracBrowser for help on using the repository browser.