CMS 3D CMS Logo

HcalTimeSlew.h
Go to the documentation of this file.
1 #ifndef CALIBCALORIMETRY_HCALALGOS_HCALTIMESLEW_H
2 #define CALIBCALORIMETRY_HCALALGOS_HCALTIMESLEW_H 1
3 
4 #include <vector>
5 
19 class HcalTimeSlew {
20  public:
22  public:
23  //M2 Parameters
24  double tzero;
25  double slope;
26  double tmax;
27 
28  HcalTimeSlewM2Parameters(double t0, double m, double tmaximum):tzero(t0), slope(m), tmax(tmaximum){}
29  };
30 
32  public:
33  //M3 Parameters
34  double cap;
35  double tspar0;
36  double tspar1;
37  double tspar2;
38  double tspar0_siPM;
39  double tspar1_siPM;
40  double tspar2_siPM;
41 
42  HcalTimeSlewM3Parameters(double capCon, double tspar0Con, double tspar1Con, double tspar2Con, double tspar0_siPMCon, double tspar1_siPMCon, double tspar2_siPMCon):cap(capCon), tspar0(tspar0Con), tspar1(tspar1Con), tspar2(tspar2Con), tspar0_siPM(tspar0_siPMCon), tspar1_siPM(tspar1_siPMCon), tspar2_siPM(tspar2_siPMCon){}
43  };
44 
47 
48  void addM2ParameterSet(double tzero, double slope, double tmax);
49  void addM3ParameterSet(double cap, double tspar0, double tspar1, double tspar2, double tspar0_siPM, double tspar1_siPM, double tspar2_siPM);
50 
51  enum ParaSource { TestStand=0, Data=1, MC=2, HBHE=3 };
52  enum BiasSetting { Slow=0, Medium=1, Fast=2 };
56  double delay(double fC, BiasSetting bias=Medium) const;
57  double delay(double fC, ParaSource source=HBHE, BiasSetting bias=Medium, bool isHPD=true) const;
58 
59  private:
60  std::vector<HcalTimeSlewM2Parameters> parametersM2_;
61  std::vector<HcalTimeSlewM3Parameters> parametersM3_;
62 };
63 
64 #endif
HcalTimeSlewM2Parameters(double t0, double m, double tmaximum)
Definition: HcalTimeSlew.h:28
void addM3ParameterSet(double cap, double tspar0, double tspar1, double tspar2, double tspar0_siPM, double tspar1_siPM, double tspar2_siPM)
Definition: HcalTimeSlew.cc:9
double delay(double fC, BiasSetting bias=Medium) const
Returns the amount (ns) by which a pulse of the given number of fC will be delayed by the timeslew ef...
Definition: HcalTimeSlew.cc:14
HcalTimeSlewM3Parameters(double capCon, double tspar0Con, double tspar1Con, double tspar2Con, double tspar0_siPMCon, double tspar1_siPMCon, double tspar2_siPMCon)
Definition: HcalTimeSlew.h:42
void addM2ParameterSet(double tzero, double slope, double tmax)
Definition: HcalTimeSlew.cc:5
std::vector< HcalTimeSlewM3Parameters > parametersM3_
Definition: HcalTimeSlew.h:61
std::vector< HcalTimeSlewM2Parameters > parametersM2_
Definition: HcalTimeSlew.h:60
static std::string const source
Definition: EdmProvDump.cc:43