CMS 3D CMS Logo

HcalSimParameters.h
Go to the documentation of this file.
1 #ifndef HcalSimAlgos_HcalSimParameters_h
2 #define HcalSimAlgos_HcalSimParameters_h
3 
7 
8 typedef std::vector<std::pair<double, double> > HcalTimeSmearSettings;
9 
11 public:
13  double samplingFactor,
14  double timePhase,
15  int readoutFrameSize,
16  int binOfMaximum,
17  bool doPhotostatistics,
18  bool syncPhase,
19  int firstRing,
20  const std::vector<double>& samplingFactors,
21  double sipmTau);
23 
24  ~HcalSimParameters() override {}
25 
26  void setDbService(const HcalDbService* service);
27 
28  double simHitToPhotoelectrons(const DetId& detId) const override;
29  double photoelectronsToAnalog(const DetId& detId) const override;
30 
31  double fCtoGeV(const DetId& detId) const;
32 
35  virtual double samplingFactor(const DetId& detId) const;
36 
37  bool doTimeSmear() const { return doTimeSmear_; }
38 
39  double timeSmearRMS(double ampl) const;
40 
41  int pixels(const DetId& detId) const;
42  bool doSiPMSmearing() const { return theSiPMSmearing; }
43  int delayQIE() const { return delayQIE_; }
44  double threshold_currentTDC() const { return threshold_currentTDC_; }
45  double sipmTau() const { return theSiPMTau; }
46  double sipmDarkCurrentuA(const DetId& detId) const;
47  double sipmCrossTalk(const DetId& detId) const;
48  std::vector<float> sipmNonlinearity(const DetId& detId) const;
49  unsigned int signalShape(const DetId& detId) const;
50 
51  friend class HcalSimParameterMap;
52 
53 private:
54  void defaultTimeSmearing();
58  std::vector<double> theSamplingFactors;
62  double theSiPMTau;
64  int delayQIE_;
65 };
66 
67 #endif
const HcalSiPMCharacteristics * theSiPMcharacteristics
int binOfMaximum() const
int pixels(const DetId &detId) const
~HcalSimParameters() override
bool doPhotostatistics() const
whether or not to apply Poisson statistics to photoelectrons
double photoelectronsToAnalog() const
the factor which goes from photoelectrons to whatever gets read by ADCs
int readoutFrameSize() const
for now, the LinearFrames and trhe digis will be one-to-one.
virtual double samplingFactor(const DetId &detId) const
Main class for Parameters in different subdetectors.
double sipmCrossTalk(const DetId &detId) const
double simHitToPhotoelectrons() const
bool doSiPMSmearing() const
double timePhase() const
the adjustment you need to apply to get the signal where you want it
HcalTimeSmearSettings theSmearSettings
double sipmDarkCurrentuA(const DetId &detId) const
unsigned int signalShape(const DetId &detId) const
std::vector< double > theSamplingFactors
std::vector< std::pair< double, double > > HcalTimeSmearSettings
bool syncPhase() const
Definition: DetId.h:17
HcalSimParameters(double simHitToPhotoelectrons, double samplingFactor, double timePhase, int readoutFrameSize, int binOfMaximum, bool doPhotostatistics, bool syncPhase, int firstRing, const std::vector< double > &samplingFactors, double sipmTau)
double timeSmearRMS(double ampl) const
bool doTimeSmear() const
void setDbService(const HcalDbService *service)
const HcalDbService * theDbService
double threshold_currentTDC() const
double fCtoGeV(const DetId &detId) const
std::vector< float > sipmNonlinearity(const DetId &detId) const
double sipmTau() const