#ifndef HRich700Calibrater_H #define HRich700Calibrater_H #include "hlocation.h" #include "hreconstructor.h" class HRich700ThresholdPar; class HRich700DigiPar; class HIterator; class HRich700Calibrater: public HReconstructor { protected: HLocation fRawLoc; //< current location of raw pixel object (pmt,pixel) HLocation fCalLoc; //< current location of calibrated object (sector, row, column) HRich700ThresholdPar* fThresholds; // TRB3 lookup table HCategory* fRawCat; // category for raw event data, input of calibrater HCategory* fCalCat; // category for calibrated event data, output of calibrater HCategory* fStartHitCat; // category for HStart2Hit Bool_t fDoTimeCut; // do time + tot cut (default kTRUE) Bool_t fUseSTART; // use STARTHIT(default kTRUE) HIterator* iterRaw; //! iterator over raw data // add hit of specified charge to cal category at specified location Int_t addCalHitCharge(Int_t sector, Int_t col, Int_t row, Float_t time,Float_t tot); public: HRich700Calibrater(const Text_t* name ="Rich700Calibrater", const Text_t* title= "Rich700Calibrater"); virtual ~HRich700Calibrater(void) { if(iterRaw) delete iterRaw;} virtual Bool_t init(void); virtual Bool_t reinit(void); virtual Int_t execute(void); virtual Bool_t finalize(void) { return kTRUE;} void setDoTimeCut(Bool_t doCut) {fDoTimeCut = doCut;} ClassDef(HRich700Calibrater, 0) // Calibrater : HRich700Raw -> HRichCal }; #endif /* !HRich700Calibrater_H */