Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-08-23 03:25:35

0001 #ifndef CastorSim_CastorAmplifier_h
0002 #define CastorSim_CastorAmplifier_h
0003 
0004 #include "CalibFormats/CaloObjects/interface/CaloSamples.h"
0005 #include "SimCalorimetry/CastorSim/interface/CastorSimParameterMap.h"
0006 
0007 class CastorDbService;
0008 
0009 namespace CLHEP {
0010   class HepRandomEngine;
0011 }
0012 
0013 class CastorAmplifier {
0014 public:
0015   CastorAmplifier(const CastorSimParameterMap *parameters, bool addNoise);
0016   virtual ~CastorAmplifier() {}
0017 
0018   /// the Producer will probably update this every event
0019   void setDbService(const CastorDbService *service) { theDbService = service; }
0020 
0021   virtual void amplify(CaloSamples &linearFrame, CLHEP::HepRandomEngine *) const;
0022 
0023   void setStartingCapId(int capId) { theStartingCapId = capId; }
0024 
0025 private:
0026   const CastorDbService *theDbService;
0027   const CastorSimParameterMap *theParameterMap;
0028 
0029   unsigned theStartingCapId;
0030   bool addNoise_;
0031 };
0032 
0033 #endif