#ifndef MARS_MJCalibrateSignalFromOutside #define MARS_MJCalibrateSignalFromOutside #ifndef MARS_MJob #include "MJob.h" #endif #ifndef MARS_MBadPixelsCam #include "MBadPixelsCam.h" #endif class TEnv; class TList; class MTask; class MParList; class MGeomCam; class MSequence; class MExtractor; class MPedestalCam; class MBadPixelsCam; class MRunIter; class MCalibrationChargeCam; class MCalibrationQECam; class MCalibrationRelTimeCam; class MJCalibrateSignalFromOutside : public MJob { private: Bool_t fIsDataCheck; TString fGeometry; // Class name geometry MRunIter *fRuns; // Data files MExtractor *fExtractor; // Signal extractor MBadPixelsCam fBadPixels; // Bad Pixels cam, can be set from previous runs enum Storage_t // Possible devices for calibration { kNoStorage, kHistsStorage }; // Possible flags for the storage of results Byte_t fStorage; // Bit-field for chosen storage type Bool_t fInterlaced; // Distinguish interlaced from other calibrations Bool_t IsNoStorage () const { return TESTBIT(fStorage,kNoStorage); } Bool_t IsHistsStorage () const { return TESTBIT(fStorage,kHistsStorage); } Bool_t WriteResult(); Bool_t IsDataCheck() const { return fIsDataCheck; } void SetDataCheck(Bool_t b) { fIsDataCheck = b; } public: MJCalibrateSignalFromOutside(const char *name=NULL, const char *title=NULL); // const char* GetOutputFile() const; void SetBadPixels ( const MBadPixelsCam &bad) { bad.Copy(fBadPixels); } void SetExtractor ( MExtractor* ext) { fExtractor = ext; } void SetInput ( MRunIter *iter) { fRuns = iter; } // Camera Geomtry void SetGeometry(const char *geom) { fGeometry = geom; } // Storage void SetNoStorage ( const Bool_t b=kTRUE ) { b ? SETBIT(fStorage,kNoStorage) : CLRBIT(fStorage,kNoStorage); } void SetHistsStorage ( const Bool_t b=kTRUE ) { b ? SETBIT(fStorage,kHistsStorage) : CLRBIT(fStorage,kHistsStorage); } void SetInterlaced ( const Bool_t b=kTRUE ) { fInterlaced = b; } Bool_t ProcessFile(MPedestalCam &camab, MPedestalCam &cam, MCalibrationChargeCam &chargecam, MCalibrationQECam &qecam, MCalibrationRelTimeCam &relcam, Byte_t filetype=2); ClassDef(MJCalibrateSignalFromOutside, 0) // Tool to create a pedestal file (MPedestalCam) }; #endif