CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/SimCalorimetry/CastorSim/src/CastorAmplifier.h

Go to the documentation of this file.
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