CMS 3D CMS Logo

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 class HcalTimeSlew;
15 
16 namespace CLHEP {
17  class HepRandomEngine;
18 }
19 
21 public:
22  HcalAmplifier(const CaloVSimParameterMap* parameters, bool addNoise, bool PreMix1, bool PreMix2);
23 
24  virtual ~HcalAmplifier() {}
25 
27  void setDbService(const HcalDbService* service);
28  void setIonFeedbackSim(HPDIonFeedbackSim* feedbackSim) { theIonFeedbackSim = feedbackSim; }
29 
32  void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator* noiseSignalGenerator) {
33  theNoiseSignalGenerator = noiseSignalGenerator;
34  }
35  void setTimeSlewSim(HcalTimeSlewSim* timeSlewSim) { theTimeSlewSim = timeSlewSim; }
36 
37  const HcalTimeSlew* theTimeSlew = nullptr;
38  void setTimeSlew(const HcalTimeSlew* timeSlew) { theTimeSlew = timeSlew; }
39 
40  virtual void amplify(CaloSamples& linearFrame, CLHEP::HepRandomEngine*) const;
41 
42  void setStartingCapId(int capId) { theStartingCapId = capId; }
43 
44 private:
45  void pe2fC(CaloSamples& frame) const;
46  void applyQIEdelay(CaloSamples& frame, int delayQIE) const;
47  void addPedestals(CaloSamples& frame, CLHEP::HepRandomEngine*) const;
50  int fFrames,
51  double* fGauss,
52  double* fNoise) const;
53 
59  unsigned theStartingCapId;
60  bool addNoise_;
62  bool preMixAdd_;
63 };
64 
65 #endif
HcalAmplifier::pe2fC
void pe2fC(CaloSamples &frame) const
Definition: HcalAmplifier.cc:66
hcalSimParameters_cfi.delayQIE
delayQIE
Definition: hcalSimParameters_cfi.py:25
service
Definition: service.py:1
ApeEstimator_cff.width
width
Definition: ApeEstimator_cff.py:24
BeamSpotPI::parameters
parameters
Definition: BeamSpotPayloadInspectorHelper.h:29
HcalAmplifier::amplify
virtual void amplify(CaloSamples &linearFrame, CLHEP::HepRandomEngine *) const
Definition: HcalAmplifier.cc:41
CaloVSimParameterMap
Definition: CaloVSimParameterMap.h:7
CaloSamples.h
HcalAmplifier::theTimeSlew
const HcalTimeSlew * theTimeSlew
Definition: HcalAmplifier.h:37
HcalGenericDetId.h
HcalAmplifier::HcalAmplifier
HcalAmplifier(const CaloVSimParameterMap *parameters, bool addNoise, bool PreMix1, bool PreMix2)
Definition: HcalAmplifier.cc:24
HcalAmplifier::setStartingCapId
void setStartingCapId(int capId)
Definition: HcalAmplifier.h:42
HcalTimeSlew
Definition: HcalTimeSlew.h:19
HPDIonFeedbackSim
Definition: HPDIonFeedbackSim.h:27
HcalAmplifier::theParameterMap
const CaloVSimParameterMap * theParameterMap
Definition: HcalAmplifier.h:55
HcalAmplifier::setIonFeedbackSim
void setIonFeedbackSim(HPDIonFeedbackSim *feedbackSim)
Definition: HcalAmplifier.h:28
CaloVNoiseSignalGenerator
Definition: CaloVNoiseSignalGenerator.h:11
CLHEP
Definition: CocoaGlobals.h:27
HcalAmplifier::setTimeSlew
void setTimeSlew(const HcalTimeSlew *timeSlew)
Definition: HcalAmplifier.h:38
HcalGenericDetId::HcalGenericSubdetector
HcalGenericSubdetector
Definition: HcalGenericDetId.h:17
HcalAmplifier::applyQIEdelay
void applyQIEdelay(CaloSamples &frame, int delayQIE) const
Definition: HcalAmplifier.cc:71
HcalCalibrationWidths.h
HcalAmplifier::theDbService
const HcalDbService * theDbService
Definition: HcalAmplifier.h:54
HcalAmplifier::preMixDigi_
bool preMixDigi_
Definition: HcalAmplifier.h:61
CaloVSimParameterMap.h
CaloSamples
Definition: CaloSamples.h:14
HcalAmplifier::setNoiseSignalGenerator
void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator *noiseSignalGenerator)
Definition: HcalAmplifier.h:32
HcalAmplifier::setTimeSlewSim
void setTimeSlewSim(HcalTimeSlewSim *timeSlewSim)
Definition: HcalAmplifier.h:35
HcalAmplifier::addNoise_
bool addNoise_
Definition: HcalAmplifier.h:60
HcalAmplifier::theTimeSlewSim
HcalTimeSlewSim * theTimeSlewSim
Definition: HcalAmplifier.h:58
HcalDbService
Definition: HcalDbService.h:26
HcalAmplifier::theIonFeedbackSim
HPDIonFeedbackSim * theIonFeedbackSim
Definition: HcalAmplifier.h:57
amptDefault_cfi.frame
frame
Definition: amptDefault_cfi.py:12
HcalAmplifier
Definition: HcalAmplifier.h:20
HcalTimeSlewSim
Definition: HcalTimeSlewSim.h:19
HcalAmplifier::preMixAdd_
bool preMixAdd_
Definition: HcalAmplifier.h:62
HcalAmplifier::makeNoise
void makeNoise(HcalGenericDetId::HcalGenericSubdetector hcalSubDet, const HcalCalibrationWidths &width, int fFrames, double *fGauss, double *fNoise) const
Definition: HcalAmplifier.cc:128
HcalAmplifier::addPedestals
void addPedestals(CaloSamples &frame, CLHEP::HepRandomEngine *) const
Definition: HcalAmplifier.cc:92
HcalAmplifier::~HcalAmplifier
virtual ~HcalAmplifier()
Definition: HcalAmplifier.h:24
HcalAmplifier::theNoiseSignalGenerator
const CaloVNoiseSignalGenerator * theNoiseSignalGenerator
Definition: HcalAmplifier.h:56
HcalCalibrationWidths
Definition: HcalCalibrationWidths.h:9
HcalAmplifier::setDbService
void setDbService(const HcalDbService *service)
the Producer will probably update this every event
Definition: HcalAmplifier.cc:35
HcalAmplifier::theStartingCapId
unsigned theStartingCapId
Definition: HcalAmplifier.h:59