CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalSiPMShape.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 #ifndef HcalSimAlgos_HcalSiPMShape_h
3 #define HcalSimAlgos_HcalSiPMShape_h
4 
6 #include <vector>
7 
8 class HcalSiPMShape : public CaloVShape {
9 public:
10 
11  HcalSiPMShape();
12  HcalSiPMShape(const HcalSiPMShape & other);
13 
14  virtual ~HcalSiPMShape() {}
15 
16  virtual double operator() (double time) const;
17 
18  virtual double timeToRise() const {return 3.5;}
19 
20  static double gexp(double t, double A, double c, double t0, double s);
21  static double gexpIndefIntegral(double t, double A, double c, double t0,
22  double s);
23  static double gexpIntegral0Inf(double A, double c, double t0, double s);
24 
25 protected:
26  virtual double analyticPulseShape(double t) const;
27  void computeShape();
28 
29 private:
30 
31  int nBins_;
32  std::vector<double> nt_;
33 
34 };
35 
36 #endif //HcalSimAlgos_HcalSiPMShape_h
virtual double operator()(double time) const
virtual double analyticPulseShape(double t) const
Electronic response of the preamp.
Definition: CaloVShape.h:11
static double gexp(double t, double A, double c, double t0, double s)
virtual double timeToRise() const
Definition: HcalSiPMShape.h:18
std::vector< double > nt_
Definition: HcalSiPMShape.h:32
virtual ~HcalSiPMShape()
Definition: HcalSiPMShape.h:14
static double gexpIndefIntegral(double t, double A, double c, double t0, double s)
void computeShape()
static double gexpIntegral0Inf(double A, double c, double t0, double s)