CMS 3D CMS Logo

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