source: trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.h@ 6072

Last change on this file since 6072 was 6047, checked in by gaug, 20 years ago
*** empty log message ***
File size: 2.0 KB
Line 
1#ifndef MARS_MJCalibrateSignal
2#define MARS_MJCalibrateSignal
3
4#ifndef MARS_MJob
5#include "MJob.h"
6#endif
7
8class TEnv;
9class TList;
10
11class MTask;
12class MParList;
13class MGeomCam;
14class MSequence;
15class MExtractor;
16class MPedestalCam;
17class MBadPixelsCam;
18
19class MJCalibrateSignal : public MJob
20{
21private:
22
23 enum DataType_t {
24 kIsRawData,
25 kIsRootData,
26 kIsMC
27 };
28
29 Byte_t fDataFlag; // Bit-field to store the data type
30 Bool_t fIsInterlaced; // Distinguish interlaced from other calibration
31 Bool_t fIsRelTimesUpdate; // Choose to update relative times from interlaced
32 Bool_t fIsHiLoCalibration; // Choose to calibrate the high-gain vs. low-gains
33
34 Bool_t CheckEnvLocal();
35
36 void DisplayResult(MParList &plist);
37
38 Bool_t WriteResult(TObjArray &cont);
39 Bool_t ReadCalibration(TObjArray &o, MBadPixelsCam &bpix,
40 MExtractor* &ext1, MExtractor* &ext2, TString &geom) const;
41
42 Bool_t IsRawData() const { return TESTBIT(fDataFlag,kIsRawData); }
43 Bool_t IsRootData() const { return TESTBIT(fDataFlag,kIsRootData); }
44 Bool_t IsMC() const { return TESTBIT(fDataFlag,kIsMC); }
45
46 void SetRawData ( const Bool_t b=kTRUE ) { b ? SETBIT(fDataFlag,kIsRawData) : CLRBIT(fDataFlag,kIsRawData); }
47 void SetRootData( const Bool_t b=kTRUE ) { b ? SETBIT(fDataFlag,kIsRootData) : CLRBIT(fDataFlag,kIsRootData); }
48 void SetMC ( const Bool_t b=kTRUE ) { b ? SETBIT(fDataFlag,kIsMC) : CLRBIT(fDataFlag,kIsMC); }
49
50public:
51 MJCalibrateSignal(const char *name=NULL, const char *title=NULL);
52
53 Bool_t ProcessFile(MPedestalCam &camab, MPedestalCam &cam1, MPedestalCam &cam2);
54
55 void SetInterlaced ( const Bool_t b=kTRUE ) { fIsInterlaced = b; }
56 void SetRelTimesUpdate ( const Bool_t b=kTRUE ) { fIsRelTimesUpdate = b; }
57 void SetHiLoCalibration( const Bool_t b=kTRUE ) { fIsHiLoCalibration = b; }
58
59 ClassDef(MJCalibrateSignal, 0) // Tool to create a pedestal file (MPedestalCam)
60};
61
62#endif
Note: See TracBrowser for help on using the repository browser.