CMS 3D CMS Logo

DTDriftTimeParametrization.h
Go to the documentation of this file.
1 #ifndef DTDriftTimeParametrization_H
2 #define DTDriftTimeParametrization_H
3 
19 #define N_alpha 11
20 #define N_By 5
21 #define N_Bz 5
22 #define N_Par_t 19
23 #define N_Sigma_t 7
24 
26 public:
29 
32 
34  typedef struct {
35  double v_drift, t_drift, delta_t, t_width_m, t_width_p;
36  } drift_time;
37 
39  unsigned short MB_DT_drift_time(
40  double x, double alpha, double by, double bz, short ifl, drift_time *DT, short interpolate) const;
41 
42 private:
43  double MB_DT_time(double, double *) const;
44  double MB_DT_delta_t(double, double *) const;
45  double MB_DT_sigma_t_m(double, double *) const;
46  double MB_DT_sigma_t_p(double, double *) const;
47 
48  unsigned short MB_DT_Check_boundaries(double distime, double alpha, double by, double bz, short ifl) const;
49 
51  double Var, unsigned short *pi, unsigned short *pj, short Initial, unsigned short N, const double *Values) const;
52 
53  void MB_DT_Get_grid_points(double alpha,
54  double by,
55  double bz,
56  unsigned short *p_alpha,
57  unsigned short *p_By,
58  unsigned short *p_Bz,
59  unsigned short *q_alpha,
60  unsigned short *q_By,
61  unsigned short *q_Bz) const;
62 
63  double MB_DT_MLInterpolation(double *al, double *by, double *bz, double *f) const;
64 
65  /*** Points of the grid ***/
66  static const double alpha_value[N_alpha];
67  static const double By_value[N_By];
68  static const double Bz_value[N_Bz];
69 
70  /*** Parameter values ***/
71  static const double fun_t[N_alpha][N_By][N_Bz][N_Par_t];
72  static const double fun_sigma_t[N_alpha][N_By][N_Bz][N_Sigma_t];
73 
74  /*** skew factor ***/
75  static const double velocitySkew;
76 };
77 #endif
#define N_Par_t
double MB_DT_delta_t(double, double *) const
static const double alpha_value[11]
double MB_DT_time(double, double *) const
unsigned short MB_DT_Check_boundaries(double distime, double alpha, double by, double bz, short ifl) const
def Var(expr, valtype, doc=None, precision=-1)
Definition: common_cff.py:16
const Double_t pi
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.
double MB_DT_sigma_t_m(double, double *) const
#define N_Bz
#define N_alpha
#define N_By
double f[11][100]
static const double fun_sigma_t[11][5][5][7]
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
double MB_DT_MLInterpolation(double *al, double *by, double *bz, double *f) const
#define N_Sigma_t
#define N
Definition: blowfish.cc:9
Structure used to return output values.
double MB_DT_sigma_t_p(double, double *) const
void MB_DT_Get_grid_values(double Var, unsigned short *pi, unsigned short *pj, short Initial, unsigned short N, const double *Values) const
virtual ~DTDriftTimeParametrization()
Destructor.
static const double fun_t[11][5][5][19]