1 | #ifndef MARS_MJMerpp
|
---|
2 | #define MARS_MJMerpp
|
---|
3 |
|
---|
4 | #ifndef MARS_MJob
|
---|
5 | #include "MJob.h"
|
---|
6 | #endif
|
---|
7 |
|
---|
8 | class MReportFileReadCC;
|
---|
9 | class MWriteRootFile;
|
---|
10 | class MFilter;
|
---|
11 | class MRawFileRead;
|
---|
12 |
|
---|
13 | class 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 |
|
---|
41 | private:
|
---|
42 | void AddTree(MReportFileReadCC &read, const TString &rep, const TString &only) const;
|
---|
43 |
|
---|
44 | MFilter *SetupCurrents(MReportFileReadCC &read, MWriteRootFile &write) const;
|
---|
45 | MFilter *SetupReports(MReportFileReadCC &read, MWriteRootFile &write) const;
|
---|
46 |
|
---|
47 | void SetupRaw(MRawFileRead &read, MWriteRootFile &write) const;
|
---|
48 |
|
---|
49 | Bool_t GetTimeFromFile();
|
---|
50 | Bool_t CheckFilePermissions();
|
---|
51 |
|
---|
52 | public:
|
---|
53 | MJMerpp(const char *name=0, const char *title=0);
|
---|
54 |
|
---|
55 | void SetCompression(Byte_t comp) { fCompression=comp; }
|
---|
56 | void SetUpdate(Bool_t upd) { fUpdate=upd; }
|
---|
57 | void SetInterleave(Bool_t il) { fInterleave=il; }
|
---|
58 | void SetForceProcessing(Bool_t fp) { fForceProcessing=fp; }
|
---|
59 | void SetOnly(const char *tree) { fOnly=tree; }
|
---|
60 | void SetConstrainHeader(Short_t tel, Int_t run, Int_t file)
|
---|
61 | { fTelescope=tel; fHeaderRun=run; fHeaderFile=file; }
|
---|
62 | void SetConstrainRunRep(UInt_t run, Int_t file)
|
---|
63 | { fReportRun=run; fReportFile=file; }
|
---|
64 | void SetTime(const MTime &start, const MTime &stop)
|
---|
65 | { fTimeStart=start; fTimeStop=stop; }
|
---|
66 | void SetAutoTime(Bool_t start, Bool_t stop)
|
---|
67 | { fAutoStartTime=start; fAutoStopTime=stop; }
|
---|
68 |
|
---|
69 | Int_t Process();
|
---|
70 | Int_t ProcessSeq(TString fname);
|
---|
71 |
|
---|
72 | ClassDef(MJMerpp, 0) // Merging and preprocessing
|
---|
73 | };
|
---|
74 |
|
---|
75 | #endif
|
---|