CMS 3D CMS Logo

HPDIonFeedbackSim.h
Go to the documentation of this file.
1 
2 // --------------------------------------------------------
3 // A class to simulated HPD ion feedback noise.
4 // The deliverable of the class is the ion feedback noise
5 // for an HcalDetId units of fC or GeV
6 //
7 // Project: HPD ion feedback
8 // Author: T.Yetkin University of Iowa, Feb. 16, 2010
9 // --------------------------------------------------------
10 
11 #ifndef HcalSimAlgos_HPDIonFeedbackSim_h
12 #define HcalSimAlgos_HPDIonFeedbackSim_h
13 
20 
21 class CaloShapes;
22 
23 namespace CLHEP {
24  class HepRandomEngine;
25 }
26 
28 {
29  public:
31  HPDIonFeedbackSim(const edm::ParameterSet&, const CaloShapes * shapes);
32  ~HPDIonFeedbackSim() override;
33 
34  //copied from HFSimParameters.h
35  void setDbService(const HcalDbService * service) {theDbService = service;}
36 
37  // in units of fC
38  double correctPE(const DetId & detId, double npe, CLHEP::HepRandomEngine*) const override;
39  double getIonFeedback(DetId detId, double signal, double pedWidth, bool doThermal, bool isInGeV, CLHEP::HepRandomEngine*);
40 
41  void addThermalNoise(CaloSamples & samples, CLHEP::HepRandomEngine*);
42 
43  private:
44  double fCtoGeV(const DetId & detId) const;
47 };
48 #endif
const HcalDbService * theDbService
Definition: DetId.h:18
const CaloShapes * theShapes
void setDbService(const HcalDbService *service)