source: tags/Mars-V0.9.2/mcalib/MCalibCalcFromPast.h

Last change on this file was 7005, checked in by tbretz, 20 years ago
*** empty log message ***
File size: 2.8 KB
Line 
1#ifndef MARS_MCalibCalcFromPast
2#define MARS_MCalibCalcFromPast
3
4#ifndef MARS_MTask
5#include "MTask.h"
6#endif
7
8class MParList;
9class MGeomCam;
10class MRawRunHeader;
11class MPedCalcFromLoGain;
12class MCalibrationChargeCalc;
13class MCalibrationRelTimeCalc;
14class MCalibrateData;
15class MCalibrationIntensityChargeCam;
16class MCalibrationIntensityBlindCam;
17class MCalibrationIntensityQECam;
18class MCalibrationIntensityRelTimeCam;
19class MBadPixelsIntensityCam;
20
21class MCalibCalcFromPast : public MTask
22{
23private:
24
25 static const UInt_t fgNumEventsDump; //! Default for fNumEventsDump
26
27 MGeomCam *fGeom; //! Camera Geometry
28 MParList *fParList; //! Parameter List
29 MRawRunHeader *fRunHeader; //! Run header storing the run number
30 MCalibrationIntensityChargeCam *fIntensCharge; //! Intensity Charge Cam (to be created)
31 MCalibrationIntensityBlindCam *fIntensBlind; //! Intensity Blind Cam (to be created)
32 MCalibrationIntensityQECam *fIntensQE; //! Intensity QE Cam (to be created)
33 MCalibrationIntensityRelTimeCam *fIntensRelTime; //! Intensity Rel. Time Cam (to be created)
34 MBadPixelsIntensityCam *fIntensBad; //! Intensity Bad Pixels Cam (to be created)
35
36 MCalibrationChargeCalc *fChargeCalc; //! Charge Calibration Task
37 MCalibrationRelTimeCalc *fRelTimeCalc; //! Rel. Times Calibratio Task
38 MCalibrateData *fCalibrate; //! Data Calibration Task
39
40 UInt_t fNumEventsDump; // Number of event after which the MCalibrationCams gets updated
41 UInt_t fNumEvents; //! Event counter only for calibration events
42 UInt_t fNumCam; //! Number of currently used Calibration Cam
43
44 Bool_t fUpdateWithFFactorMethod; // Update the interlaced calib events with the full F-Factor method
45
46 Int_t PreProcess(MParList *pList);
47 Int_t Process();
48 Int_t PostProcess();
49
50 Bool_t ReInitialize();
51 Bool_t Finalize(const char* name);
52
53 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print);
54
55public:
56
57 MCalibCalcFromPast(const char *name=NULL, const char *title=NULL);
58 ~MCalibCalcFromPast() {}
59
60 UInt_t GetNumEventsDump() const { return fNumEventsDump; }
61
62 void SetNumEventsDump( const UInt_t i=fgNumEventsDump ) { fNumEventsDump = i; }
63
64 void SetCalibrate ( MCalibrateData *c ) { fCalibrate = c; }
65 void SetChargeCalc ( MCalibrationChargeCalc *c ) { fChargeCalc = c; }
66 void SetRelTimeCalc ( MCalibrationRelTimeCalc *c ) { fRelTimeCalc = c; }
67
68 void SetUpdateWithFFactorMethod(const Bool_t b=kTRUE){ fUpdateWithFFactorMethod = b; }
69
70 ClassDef(MCalibCalcFromPast, 1) // Task to steer the processing of interlace calibration events
71};
72
73#endif
74
Note: See TracBrowser for help on using the repository browser.