CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/RecoLocalCalo/EcalRecAlgos/interface/ESRecHitSimAlgo.h

Go to the documentation of this file.
00001 #ifndef RecoLocalCalo_EcalRecAlgos_ESRecHitSimAlgo_HH
00002 #define RecoLocalCalo_EcalRecAlgos_ESRecHitSimAlgo_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 ESRecHitSimAlgo {
00013 
00014  public:
00015 
00016   ESRecHitSimAlgo();
00017   ~ESRecHitSimAlgo(){}
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   void setW0(const double& value) { w0_ = value; } 
00027   void setW1(const double& value) { w1_ = value; } 
00028   void setW2(const double& value) { w2_ = value; } 
00029 
00030   double* EvalAmplitude(const ESDataFrame& digi, const double& ped, const double& w0, const double& w1, const double& w2) const;
00031   EcalRecHit reconstruct(const ESDataFrame& digi) const;
00032 
00033  private:
00034 
00035   int gain_;
00036   const ESPedestals *peds_;
00037   const ESIntercalibConstants *mips_;
00038   const ESChannelStatus *channelStatus_;
00039   const ESRecHitRatioCuts *ratioCuts_;
00040   const ESAngleCorrectionFactors *ang_;
00041   double w0_;
00042   double w1_;
00043   double w2_;
00044   double MIPGeV_;
00045 
00046 };
00047 
00048 #endif