CMS 3D CMS Logo

EcalRecHitSimpleAlgo.h

Go to the documentation of this file.
00001 #ifndef RecoLocalCalo_EcalRecAlgos_EcalRecHitSimpleAlgo_HH
00002 #define RecoLocalCalo_EcalRecAlgos_EcalRecHitSimpleAlgo_HH
00003 
00013 #include "RecoLocalCalo/EcalRecAlgos/interface/EcalRecHitAbsAlgo.h"
00014 #include <iostream>
00015 
00016 class EcalRecHitSimpleAlgo : public EcalRecHitAbsAlgo {
00017  public:
00018   // default ctor
00019   EcalRecHitSimpleAlgo() {
00020     adcToGeVConstant_ = -1;
00021     adcToGeVConstantIsSet_ = false;
00022   }
00023 
00024   virtual void setADCToGeVConstant(const float& value) {
00025     adcToGeVConstant_ = value;
00026     adcToGeVConstantIsSet_ = true;
00027   }
00028 
00029 
00030   // destructor
00031   virtual ~EcalRecHitSimpleAlgo() { };
00032 
00034   virtual EcalRecHit makeRecHit(const EcalUncalibratedRecHit& uncalibRH,
00035                                 const float& intercalibConstant) const {
00036 
00037     if(!adcToGeVConstantIsSet_) {
00038       std::cout << "EcalRecHitSimpleAlgo::makeRecHit: adcToGeVConstant_ not set before calling this method!" << 
00039                    " will use -1 and produce bogus rechits!" << std::endl;
00040     }
00041 
00042     float energy = uncalibRH.amplitude()*adcToGeVConstant_*intercalibConstant;
00043     float time   = uncalibRH.jitter();
00044 
00045     return EcalRecHit( uncalibRH.id(), energy, time );
00046   }
00047 
00048 private:
00049   float adcToGeVConstant_;
00050   bool  adcToGeVConstantIsSet_;
00051 
00052 };
00053 #endif

Generated on Tue Jun 9 17:43:45 2009 for CMSSW by  doxygen 1.5.4