#ifndef MARS_MPedCalcPedRun #define MARS_MPedCalcPedRun #ifndef MARS_MExtractor #include "MExtractor.h" #endif #ifndef ROOT_TArrayD #include #endif #ifndef ROOT_TArrayI #include #endif class MGeomCam; class MPedCalcPedRun : public MExtractor { static const Byte_t fgHiGainFirst; // First FADC slice Hi-Gain (currently set to: 3) static const Byte_t fgHiGainLast; // Last FADC slice Hi-Gain (currently set to: 14) static const Byte_t fgLoGainFirst; // First FADC slice Lo-Gain (currently set to: 3) static const Byte_t fgLoGainLast; // Last FADC slice Lo-Gain (currently set to: 14) static const Byte_t fgHiGainWindowSize; // The extraction window Hi-Gain static const Byte_t fgLoGainWindowSize; // The extraction window Lo-Gain UInt_t fNumSamplesTot; Byte_t fWindowSizeHiGain; // Number of Hi Gain slices in window Byte_t fWindowSizeLoGain; // Number of Lo Gain slices in window MGeomCam *fGeom; // Camera geometry TArrayD fSumx; // sum of values TArrayD fSumx2; // sum of squared values TArrayD fAreaSumx; // averaged sum of values per area idx TArrayD fAreaSumx2; // averaged sum of squared values per area idx TArrayI fAreaValid; // number of valid pixel with area idx TArrayD fSectorSumx; // averaged sum of values per sector TArrayD fSectorSumx2; // averaged sum of squared values per sector TArrayI fSectorValid; // number of valid pixel with sector idx Int_t PreProcess (MParList *pList); Bool_t ReInit (MParList *pList); Int_t Process (); Int_t PostProcess(); Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print); public: MPedCalcPedRun(const char *name=NULL, const char *title=NULL); void Clear(const Option_t *o=""); void SetRange(Byte_t hifirst=0, Byte_t hilast=0, Byte_t lofirst=0, Byte_t lolast=0); void SetWindowSize(Byte_t windowh=0, Byte_t windowl=0); ClassDef(MPedCalcPedRun, 0) // Task to calculate pedestals from pedestal runs raw data }; #endif