CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/RecoLocalCalo/CastorReco/interface/CastorSimpleRecAlgo.h

Go to the documentation of this file.
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 #include <memory>
00010 
00022 class CastorSimpleRecAlgo {
00023 public:
00025   CastorSimpleRecAlgo(int firstSample, int samplesToAdd, bool correctForTimeslew, 
00026                     bool correctForContainment, float fixedPhaseNs);
00028   CastorSimpleRecAlgo(int firstSample, int samplesToAdd);
00029 
00030   CastorRecHit reconstruct(const CastorDataFrame& digi, const CastorCoder& coder, const CastorCalibrations& calibs) const;
00031 
00032   void resetTimeSamples(int f,int t){
00033     firstSample_=f;
00034     samplesToAdd_=t;
00035   }
00036 private:
00037   int firstSample_, samplesToAdd_;
00038   bool correctForTimeslew_;
00039   std::auto_ptr<CastorPulseContainmentCorrection> pulseCorr_;
00040 };
00041 
00042 #endif