00001 #ifndef CastorSim_CastorAmplifier_h 00002 #define CastorSim_CastorAmplifier_h 00003 00004 #include "CalibFormats/CaloObjects/interface/CaloSamples.h" 00005 #include "SimCalorimetry/CaloSimAlgos/interface/CaloVSimParameterMap.h" 00006 #include "CLHEP/Random/RandGaussQ.h" 00007 00008 class CastorDbService; 00009 00010 class CastorAmplifier { 00011 public: 00012 CastorAmplifier(const CaloVSimParameterMap * parameters, bool addNoise); 00013 virtual ~CastorAmplifier(){ delete theRandGaussQ; } 00014 00016 void setDbService(const CastorDbService * service) { 00017 theDbService = service; 00018 } 00019 00020 void setRandomEngine(CLHEP::HepRandomEngine & engine); 00021 00022 virtual void amplify(CaloSamples & linearFrame) const; 00023 00024 void setStartingCapId(int capId) {theStartingCapId = capId;} 00025 00026 private: 00027 const CastorDbService * theDbService; 00028 CLHEP::RandGaussQ * theRandGaussQ; 00029 const CaloVSimParameterMap * theParameterMap; 00030 00031 unsigned theStartingCapId; 00032 bool addNoise_; 00033 }; 00034 00035 #endif