CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalAmplifier.h
Go to the documentation of this file.
1 #ifndef HcalSimAlgos_HcalAmplifier_h
2 #define HcalSimAlgos_HcalAmplifier_h
3 
10 
11 class HcalDbService;
12 class HPDIonFeedbackSim;
13 class HcalTimeSlewSim;
14 
15 namespace CLHEP {
16  class HepRandomEngine;
17 }
18 
20 public:
21  HcalAmplifier(const CaloVSimParameterMap * parameters, bool addNoise, bool PreMix1, bool PreMix2);
22 
23  virtual ~HcalAmplifier() {}
24 
26  void setDbService(const HcalDbService * service);
27  void setIonFeedbackSim(HPDIonFeedbackSim * feedbackSim) {theIonFeedbackSim = feedbackSim;}
28 
31  void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator * noiseSignalGenerator) {
32  theNoiseSignalGenerator = noiseSignalGenerator;
33  }
34  void setTimeSlewSim(HcalTimeSlewSim * timeSlewSim) {
35  theTimeSlewSim = timeSlewSim;
36  }
37 
38  virtual void amplify(CaloSamples & linearFrame, CLHEP::HepRandomEngine*) const;
39 
40  void setStartingCapId(int capId) {theStartingCapId = capId;}
41 
42 private:
43 
44  void pe2fC(CaloSamples & frame) const;
45  void addPedestals(CaloSamples & frame, CLHEP::HepRandomEngine*) const;
46  void makeNoise (HcalGenericDetId::HcalGenericSubdetector hcalSubDet, const HcalCalibrationWidths& width, int fFrames, double* fGauss, double* fNoise) const;
47 
53  unsigned theStartingCapId;
54  bool addNoise_;
56  bool preMixAdd_;
57 };
58 
59 #endif
void setDbService(const HcalDbService *service)
the Producer will probably update this every event
const CaloVNoiseSignalGenerator * theNoiseSignalGenerator
Definition: HcalAmplifier.h:50
const CaloVSimParameterMap * theParameterMap
Definition: HcalAmplifier.h:49
void setStartingCapId(int capId)
Definition: HcalAmplifier.h:40
void setIonFeedbackSim(HPDIonFeedbackSim *feedbackSim)
Definition: HcalAmplifier.h:27
HcalAmplifier(const CaloVSimParameterMap *parameters, bool addNoise, bool PreMix1, bool PreMix2)
const HcalDbService * theDbService
Definition: HcalAmplifier.h:48
virtual void amplify(CaloSamples &linearFrame, CLHEP::HepRandomEngine *) const
HcalTimeSlewSim * theTimeSlewSim
Definition: HcalAmplifier.h:52
void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator *noiseSignalGenerator)
Definition: HcalAmplifier.h:31
void setTimeSlewSim(HcalTimeSlewSim *timeSlewSim)
Definition: HcalAmplifier.h:34
unsigned theStartingCapId
Definition: HcalAmplifier.h:53
void addPedestals(CaloSamples &frame, CLHEP::HepRandomEngine *) const
void pe2fC(CaloSamples &frame) const
void makeNoise(HcalGenericDetId::HcalGenericSubdetector hcalSubDet, const HcalCalibrationWidths &width, int fFrames, double *fGauss, double *fNoise) const
virtual ~HcalAmplifier()
Definition: HcalAmplifier.h:23
HPDIonFeedbackSim * theIonFeedbackSim
Definition: HcalAmplifier.h:51