#ifndef MARS_MJPedestal #define MARS_MJPedestal #ifndef MARS_MPedestalCam #include "MPedestalCam.h" #endif #ifndef MARS_MBadPixelsCam #include "MBadPixelsCam.h" #endif class TCanvas; class MParList; class MRunIter; class MHCamera; class TH1D; class MExtractor; class MJPedestal : public MParContainer { private: static const Double_t fgPedestalMin; static const Double_t fgPedestalMax; static const Double_t fgPedRmsMin; static const Double_t fgPedRmsMax; static const Float_t fgRefPedClosedLids; static const Float_t fgRefPedExtraGalactic; static const Float_t fgRefPedGalactic; static const Float_t fgRefPedRmsClosedLids; static const Float_t fgRefPedRmsExtraGalactic; static const Float_t fgRefPedRmsGalactic; TString fOutputPath; MRunIter *fRuns; MExtractor *fExtractor; // Signal extractor, used to find the nr. of used FADC slices MPedestalCam fPedestalCam; MBadPixelsCam fBadPixels; Bool_t fDataCheck; // Flag if the data check is run on raw data Bool_t ReadPedestalCam(); Bool_t WriteResult(); void DisplayResult(MParList &plist); void DisplayReferenceLines(MHCamera *cam, const Int_t what) const; void DisplayOutliers( TH1D *hist) const; public: MJPedestal(const char *name=NULL, const char *title=NULL); MPedestalCam &GetPedestalCam() { return fPedestalCam; } const MBadPixelsCam &GetBadPixels() const { return fBadPixels; } const char* GetOutputFile() const; const Bool_t IsDataCheck() const { return fDataCheck; } Bool_t Process(); Bool_t ProcessFile(); void SetBadPixels ( const MBadPixelsCam &bad) { bad.Copy(fBadPixels); } void SetDataCheck ( const Bool_t b=kTRUE ) { fDataCheck = b; } void SetExtractor ( MExtractor* ext ) { fExtractor = ext; } void SetInput ( MRunIter *iter ) { fRuns = iter; } void SetOutputPath( const char *path="." ); ClassDef(MJPedestal, 0) // Tool to create a pedestal file (MPedestalCam) }; #endif