CMS 3D CMS Logo

SiStripPulseShape.h
Go to the documentation of this file.
1 // Class: SiStripPulseShape
2 //
9 //
10 // Original Author: Christophe Delaere
11 // Created: Thu Nov 5 17:02:15 CEST 2006
12 // Revision Author: Georg Auzinger
13 // Created: Thu Nov 5 17:02:15 CEST 2006
14 // Updated: Fri Jun 2 16:00:00 CEST 2017
15 
16 //
17 
18 #ifndef SiStripPulseShape_h_
19 #define SiStripPulseShape_h_
20 
21 double fpeak(double *x, double *par);
22 
23 double fdeconv(double *x, double *par);
24 
25 double fturnOn(double *x, double *par);
26 
27 double fdecay(double *x, double *par);
28 
29 double fpeak_convoluted(double *x, double *par);
30 
31 double fdeconv_convoluted(double *x, double *par);
32 
33 double pulse_raw(double x, double y, double z, double t);
34 
35 double pulse_x0(double y, double z, double t);
36 
37 double pulse_yz(double x, double z, double t);
38 
39 double pulse_x0_yz(double z, double t);
40 
41 double pulse(double x, double y, double z, double t);
42 
44 public:
45  enum mode { peak, deconvolution };
46  SiStripPulseShape() : mode_(deconvolution) {}
47  virtual ~SiStripPulseShape() {}
48  inline void setMode(const mode theMode) { mode_ = theMode; }
49  inline mode getMode() const { return mode_; }
50  inline double getNormalizedValue(const double &t) const {
51  double parameters[5] = {0., -2.82, 0.066, 50, 20};
52  double time = t;
53  switch (mode_) {
54  case peak: {
55  return fpeak(&time, parameters);
56  }
57  case deconvolution: {
58  return fdeconv(&time, parameters);
59  }
60  }
61  }
62 
63 private:
65 };
66 
67 #endif
mode getMode() const
double pulse_yz(double x, double z, double t)
double fdeconv_convoluted(double *x, double *par)
double fdecay(double *x, double *par)
double getNormalizedValue(const double &t) const
void setMode(const mode theMode)
double pulse_x0(double y, double z, double t)
float float float z
double fpeak_convoluted(double *x, double *par)
double fturnOn(double *x, double *par)
virtual ~SiStripPulseShape()
double pulse(double x, double y, double z, double t)
double pulse_raw(double x, double y, double z, double t)
double fdeconv(double *x, double *par)
double fpeak(double *x, double *par)
double pulse_x0_yz(double z, double t)