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