source: trunk/MagicSoft/Mars/mjobs/MJCalibrateSignalFromOutside.h@ 5937

Last change on this file since 5937 was 5858, checked in by gaug, 20 years ago
*** empty log message ***
File size: 2.5 KB
Line 
1#ifndef MARS_MJCalibrateSignalFromOutside
2#define MARS_MJCalibrateSignalFromOutside
3
4#ifndef MARS_MJob
5#include "MJob.h"
6#endif
7#ifndef MARS_MBadPixelsCam
8#include "MBadPixelsCam.h"
9#endif
10
11class TEnv;
12class TList;
13
14class MTask;
15class MParList;
16class MGeomCam;
17class MSequence;
18class MExtractor;
19class MPedestalCam;
20class MBadPixelsCam;
21class MRunIter;
22class MCalibrationChargeCam;
23class MCalibrationQECam;
24class MCalibrationRelTimeCam;
25
26class MJCalibrateSignalFromOutside : public MJob
27{
28private:
29 Bool_t fIsDataCheck;
30 TString fGeometry; // Class name geometry
31
32 MRunIter *fRuns; // Data files
33 MExtractor *fExtractor; // Signal extractor
34
35 MBadPixelsCam fBadPixels; // Bad Pixels cam, can be set from previous runs
36
37 enum Storage_t // Possible devices for calibration
38 {
39 kNoStorage,
40 kHistsStorage
41 }; // Possible flags for the storage of results
42
43 Byte_t fStorage; // Bit-field for chosen storage type
44
45 Bool_t fInterlaced; // Distinguish interlaced from other calibrations
46
47 Bool_t IsNoStorage () const { return TESTBIT(fStorage,kNoStorage); }
48 Bool_t IsHistsStorage () const { return TESTBIT(fStorage,kHistsStorage); }
49
50 Bool_t WriteResult();
51
52 Bool_t IsDataCheck() const { return fIsDataCheck; }
53 void SetDataCheck(Bool_t b) { fIsDataCheck = b; }
54
55public:
56 MJCalibrateSignalFromOutside(const char *name=NULL, const char *title=NULL);
57
58 // const char* GetOutputFile() const;
59
60 void SetBadPixels ( const MBadPixelsCam &bad) { bad.Copy(fBadPixels); }
61 void SetExtractor ( MExtractor* ext) { fExtractor = ext; }
62 void SetInput ( MRunIter *iter) { fRuns = iter; }
63
64 // Camera Geomtry
65 void SetGeometry(const char *geom) { fGeometry = geom; }
66
67 // Storage
68 void SetNoStorage ( const Bool_t b=kTRUE ) { b ? SETBIT(fStorage,kNoStorage) : CLRBIT(fStorage,kNoStorage); }
69 void SetHistsStorage ( const Bool_t b=kTRUE ) { b ? SETBIT(fStorage,kHistsStorage) : CLRBIT(fStorage,kHistsStorage); }
70 void SetInterlaced ( const Bool_t b=kTRUE ) { fInterlaced = b; }
71
72 Bool_t ProcessFile(MPedestalCam &camab, MPedestalCam &cam, MCalibrationChargeCam &chargecam,
73 MCalibrationQECam &qecam, MCalibrationRelTimeCam &relcam, Byte_t filetype=2);
74
75 ClassDef(MJCalibrateSignalFromOutside, 0) // Tool to create a pedestal file (MPedestalCam)
76};
77
78#endif
Note: See TracBrowser for help on using the repository browser.