CMS 3D CMS Logo

DTDriftTimeParametrization.h
Go to the documentation of this file.
1 #ifndef DTDriftTimeParametrization_H
2 #define DTDriftTimeParametrization_H
3 
20 #define N_alpha 11
21 #define N_By 5
22 #define N_Bz 5
23 #define N_Par_t 19
24 #define N_Sigma_t 7
25 
26 
28 public:
31 
34 
36  typedef struct {
37  double v_drift, t_drift, delta_t, t_width_m, t_width_p ;
38  } drift_time ;
39 
41  unsigned short MB_DT_drift_time (double x,
42  double alpha,
43  double by,
44  double bz,
45  short ifl,
46  drift_time *DT,
47  short interpolate) const;
48 
49 private:
50  double MB_DT_time (double , double *) const;
51  double MB_DT_delta_t (double , double *) const;
52  double MB_DT_sigma_t_m (double , double *) const;
53  double MB_DT_sigma_t_p (double , double *) const;
54 
55  unsigned short MB_DT_Check_boundaries (double distime,
56  double alpha,
57  double by,
58  double bz,
59  short ifl) const;
60 
61  void MB_DT_Get_grid_values (double Var,
62  unsigned short *pi,
63  unsigned short *pj,
64  short Initial,
65  unsigned short N,
66  const double *Values) const;
67 
68  void MB_DT_Get_grid_points (double alpha,
69  double by,
70  double bz,
71  unsigned short *p_alpha,
72  unsigned short *p_By,
73  unsigned short *p_Bz,
74  unsigned short *q_alpha,
75  unsigned short *q_By,
76  unsigned short *q_Bz) const;
77 
78  double MB_DT_MLInterpolation (double *al,
79  double *by,
80  double *bz,
81  double *f) const;
82 
83  /*** Points of the grid ***/
84  static const double alpha_value[N_alpha];
85  static const double By_value[N_By];
86  static const double Bz_value[N_Bz];
87 
88  /*** Parameter values ***/
89  static const double fun_t[N_alpha][N_By][N_Bz][N_Par_t];
90  static const double fun_sigma_t[N_alpha][N_By][N_Bz][N_Sigma_t];
91 
92  /*** skew factor ***/
93  static const double velocitySkew;
94 
95 };
96 #endif
unsigned short MB_DT_Check_boundaries(double distime, double alpha, double by, double bz, short ifl) const
float alpha
Definition: AMPTWrapper.h:95
#define N_Par_t
static const double alpha_value[11]
double MB_DT_time(double, double *) const
const Double_t pi
void MB_DT_Get_grid_values(double Var, unsigned short *pi, unsigned short *pj, short Initial, unsigned short N, const double *Values) const
double MB_DT_sigma_t_p(double, double *) const
def Var(expr, valtype, compression=None, doc=None, mcOnly=False, precision=-1)
Definition: common_cff.py:20
#define N_Bz
#define N_alpha
#define N_By
double f[11][100]
static const double fun_sigma_t[11][5][5][7]
double MB_DT_delta_t(double, double *) const
#define N_Sigma_t
unsigned short MB_DT_drift_time(double x, double alpha, double by, double bz, short ifl, drift_time *DT, short interpolate) const
Calculate drift time and spread.
#define N
Definition: blowfish.cc:9
Structure used to return output values.
double MB_DT_sigma_t_m(double, double *) const
double MB_DT_MLInterpolation(double *al, double *by, double *bz, double *f) const
virtual ~DTDriftTimeParametrization()
Destructor.
void MB_DT_Get_grid_points(double alpha, double by, double bz, unsigned short *p_alpha, unsigned short *p_By, unsigned short *p_Bz, unsigned short *q_alpha, unsigned short *q_By, unsigned short *q_Bz) const
static const double fun_t[11][5][5][19]