00001 #ifndef CASTORSIMPLERECALGO_H 00002 #define CASTORSIMPLERECALGO_H 1 00003 00004 #include "DataFormats/HcalDigi/interface/CastorDataFrame.h" 00005 #include "DataFormats/HcalRecHit/interface/CastorRecHit.h" 00006 #include "CalibFormats/CastorObjects/interface/CastorCoder.h" 00007 #include "CalibFormats/CastorObjects/interface/CastorCalibrations.h" 00008 #include "CalibCalorimetry/CastorCalib/interface/CastorPulseContainmentCorrection.h" 00009 00021 class CastorSimpleRecAlgo { 00022 public: 00024 CastorSimpleRecAlgo(int firstSample, int samplesToAdd, bool correctForTimeslew, 00025 bool correctForContainment, float fixedPhaseNs); 00027 CastorSimpleRecAlgo(int firstSample, int samplesToAdd); 00028 00029 CastorRecHit reconstruct(const CastorDataFrame& digi, const CastorCoder& coder, const CastorCalibrations& calibs) const; 00030 00031 private: 00032 int firstSample_, samplesToAdd_; 00033 bool correctForTimeslew_; 00034 std::auto_ptr<CastorPulseContainmentCorrection> pulseCorr_; 00035 }; 00036 00037 #endif