CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/RecoLocalCalo/EcalRecAlgos/interface/ESRecHitAnalyticAlgo.h

Go to the documentation of this file.
00001 #ifndef RecoLocalCalo_EcalRecAlgos_ESRecHitAnalyticAlgo_HH
00002 #define RecoLocalCalo_EcalRecAlgos_ESRecHitAnalyticAlgo_HH
00003 
00004 #include "DataFormats/EcalDigi/interface/ESDataFrame.h"
00005 #include "DataFormats/EcalRecHit/interface/EcalRecHit.h"
00006 #include "CondFormats/ESObjects/interface/ESPedestals.h"
00007 #include "CondFormats/ESObjects/interface/ESIntercalibConstants.h"
00008 #include "CondFormats/ESObjects/interface/ESChannelStatus.h"
00009 #include "CondFormats/ESObjects/interface/ESRecHitRatioCuts.h"
00010 #include "CondFormats/ESObjects/interface/ESAngleCorrectionFactors.h"
00011 
00012 class ESRecHitAnalyticAlgo {
00013 
00014  public:
00015 
00016   ESRecHitAnalyticAlgo();
00017   ~ESRecHitAnalyticAlgo();
00018 
00019   void setESGain(const double& value) { gain_ = value; }
00020   void setMIPGeV(const double& value) { MIPGeV_ = value; } 
00021   void setPedestals(const ESPedestals* peds) { peds_ = peds; }
00022   void setIntercalibConstants(const ESIntercalibConstants* mips) { mips_ = mips; }
00023   void setChannelStatus(const ESChannelStatus* status) { channelStatus_ = status; }
00024   void setRatioCuts(const ESRecHitRatioCuts* ratioCuts) { ratioCuts_ = ratioCuts; }
00025   void setAngleCorrectionFactors(const ESAngleCorrectionFactors* ang) { ang_ = ang; }
00026   double* EvalAmplitude(const ESDataFrame& digi, double ped) const;
00027   EcalRecHit reconstruct(const ESDataFrame& digi) const;
00028 
00029  private:
00030 
00031   double gain_;
00032   const ESPedestals *peds_;
00033   const ESIntercalibConstants *mips_;
00034   const ESChannelStatus *channelStatus_;
00035   const ESRecHitRatioCuts *ratioCuts_;
00036   const ESAngleCorrectionFactors *ang_;
00037   double MIPGeV_;
00038 
00039 };
00040 
00041 #endif