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 {
45  public:
47  SiStripPulseShape():mode_(deconvolution) {}
48  virtual ~SiStripPulseShape() {}
49  inline void setMode(const mode theMode) { mode_=theMode; }
50  inline mode getMode() const { return mode_; }
51  inline double getNormalizedValue(const double& t) const
52  {
53  double parameters[5]={0.,-2.82,0.066,50,20};
54  double time = t;
55  switch(mode_) {
56  case peak:
57  {
58  return fpeak(&time,parameters);
59  }
60  case deconvolution:
61  {
62  return fdeconv(&time,parameters);
63  }
64  }
65  }
66 
67  private:
69 };
70 
71 #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)