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 };
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
fdecay
double fdecay(double *x, double *par)
Definition: SiStripPulseShape.cc:91
SiStripPulseShape::getNormalizedValue
double getNormalizedValue(const double &t) const
Definition: SiStripPulseShape.h:50
SiStripPulseShape::mode_
mode mode_
Definition: SiStripPulseShape.h:64
detailsBasic3DVector::z
float float float z
Definition: extBasic3DVector.h:14
SiStripPulseShape
Definition: SiStripPulseShape.h:43
pulse
double pulse(double x, double y, double z, double t)
Definition: SiStripPulseShape.cc:49
fpeak
double fpeak(double *x, double *par)
Definition: SiStripPulseShape.cc:66
parameters
parameters
Definition: BeamSpot_PayloadInspector.cc:14
pulse_yz
double pulse_yz(double x, double z, double t)
Definition: SiStripPulseShape.cc:36
pulse_x0_yz
double pulse_x0_yz(double z, double t)
Definition: SiStripPulseShape.cc:47
SiStripPulseShape::setMode
void setMode(const mode theMode)
Definition: SiStripPulseShape.h:48
fdeconv_convoluted
double fdeconv_convoluted(double *x, double *par)
Definition: SiStripPulseShape.cc:113
vertices_cff.x
x
Definition: vertices_cff.py:29
pulse_raw
double pulse_raw(double x, double y, double z, double t)
Definition: SiStripPulseShape.cc:19
fpeak_convoluted
double fpeak_convoluted(double *x, double *par)
Definition: SiStripPulseShape.cc:108
SiStripPulseShape::mode
mode
Definition: SiStripPulseShape.h:45
OrderedSet.t
t
Definition: OrderedSet.py:90
SiStripPulseShape::SiStripPulseShape
SiStripPulseShape()
Definition: SiStripPulseShape.h:46
fturnOn
double fturnOn(double *x, double *par)
Definition: SiStripPulseShape.cc:82
SiStripPulseShape::getMode
mode getMode() const
Definition: SiStripPulseShape.h:49
SiStripPulseShape::~SiStripPulseShape
virtual ~SiStripPulseShape()
Definition: SiStripPulseShape.h:47
detailsBasic3DVector::y
float float y
Definition: extBasic3DVector.h:14
SiStripPulseShape::peak
Definition: SiStripPulseShape.h:45
SiStripPulseShape::deconvolution
Definition: SiStripPulseShape.h:45
ntuplemaker.time
time
Definition: ntuplemaker.py:310
fdeconv
double fdeconv(double *x, double *par)
Definition: SiStripPulseShape.cc:101
pulse_x0
double pulse_x0(double y, double z, double t)
Definition: SiStripPulseShape.cc:34