CMS 3D CMS Logo

HcalHardcodeParameters.h
Go to the documentation of this file.
1 #ifndef HcalAlgos_HcalHardcodeParameters_h
2 #define HcalAlgos_HcalHardcodeParameters_h
3 
6 
7 #include <vector>
8 
10 public:
11  //default constructor
13 
14  //construct from values
16  double pedestalWidth,
17  const std::vector<double>& gain,
18  const std::vector<double>& gainWidth,
19  int zsThreshold,
20  int qieType,
21  const std::vector<double>& qieOffset,
22  const std::vector<double>& qieSlope,
23  int mcShape,
24  int recoShape,
26  const std::vector<double>& darkCurrent,
27  const std::vector<double>& noiseCorrelation,
28  double noiseThreshold,
29  double seedThreshold);
30 
31  //construct from pset
33 
34  //destructor
35  inline virtual ~HcalHardcodeParameters() {}
36 
37  //accessors
38  //note: all vector accessors use at() in order to throw exceptions for malformed conditions
39  inline double pedestal() const { return pedestal_; }
40  inline double pedestalWidth() const { return pedestalWidth_; }
41  inline double gain(unsigned index) const { return gain_.at(index); }
42  inline double gainWidth(unsigned index) const { return gainWidth_.at(index); }
43  inline int zsThreshold() const { return zsThreshold_; }
44  inline int qieType() const { return qieType_; }
45  inline double qieOffset(unsigned range) const { return qieOffset_.at(range); }
46  inline double qieSlope(unsigned range) const { return qieSlope_.at(range); }
47  inline int mcShape() const { return mcShape_; }
48  inline int recoShape() const { return recoShape_; }
49  inline double photoelectronsToAnalog() const { return photoelectronsToAnalog_; }
50  double darkCurrent(unsigned index, double intlumi) const;
51  double noiseCorrelation(unsigned index) const;
52  inline double noiseThreshold() const { return noiseThreshold_; }
53  inline double seedThreshold() const { return seedThreshold_; }
54 
55 private:
56  //member variables
58  std::vector<double> gain_, gainWidth_;
60  int qieType_;
61  std::vector<double> qieOffset_, qieSlope_;
64  std::vector<double> darkCurrent_;
65  std::vector<double> noiseCorrelation_;
69 };
70 
71 #endif
double photoelectronsToAnalog() const
std::vector< double > qieSlope_
double darkCurrent(unsigned index, double intlumi) const
double noiseCorrelation(unsigned index) const
std::vector< double > gainWidth_
HcalSiPMRadiationDamage sipmRadiationDamage_
std::vector< double > noiseCorrelation_
double gain(unsigned index) const
std::vector< double > darkCurrent_
std::vector< double > gain_
double qieOffset(unsigned range) const
double qieSlope(unsigned range) const
double gainWidth(unsigned index) const
std::vector< double > qieOffset_