CMS 3D CMS Logo

DTTime2DriftParametrization.h
Go to the documentation of this file.
1 #ifndef DTTime2DriftParametrization_H
2 #define DTTime2DriftParametrization_H
3 
12 #define N_alpha 11
13 #define N_By 5
14 #define N_Bz 5
15 #define N_Par_x 15
16 #define N_Sigma_t 7
17 
19 public:
22 
25 
27  typedef struct {
28  double v_drift, x_drift, delta_x, x_width_m, x_width_p;
29  } drift_distance; //FIXME: Why this typedef?
30 
39  double time, double alpha, double by, double bz, short interpolate, drift_distance *dx) const;
40 
49  double time, double alpha, double by, double bz, short interpolate, drift_distance *dx) const;
50 
51 private:
53  unsigned short MB_DT_drift_distance(
54  double time, double alpha, double by, double bz, drift_distance *DX, short interpolate) const;
55 
56  double MB_DT_dist(double, double *) const;
57  double MB_DT_delta_x(double, double *) const;
58  double MB_DT_sigma_t_m(double, double *) const;
59  double MB_DT_sigma_t_p(double, double *) const;
60 
61  unsigned short MB_DT_Check_boundaries(double distime, double alpha, double by, double bz, short ifl) const;
62 
64  double Var, unsigned short *pi, unsigned short *pj, short Initial, unsigned short N, const double *Values) const;
65 
66  void MB_DT_Get_grid_points(double alpha,
67  double by,
68  double bz,
69  unsigned short *p_alpha,
70  unsigned short *p_By,
71  unsigned short *p_Bz,
72  unsigned short *q_alpha,
73  unsigned short *q_By,
74  unsigned short *q_Bz) const;
75 
76  double MB_DT_MLInterpolation(double *al, double *by, double *bz, double *f) const;
77 
78  /*** Points of the grid ***/
79  static const double alpha_value[N_alpha];
80  static const double By_value[N_By];
81  static const double Bz_value[N_Bz];
82 
83  /*** Parameter values ***/
84  static const double fun_x[N_alpha][N_By][N_Bz][N_Par_x];
85  static const double fun_sigma_t[N_alpha][N_By][N_Bz][N_Sigma_t];
86 
87  /*** skew factor ***/
88  static const double velocitySkew;
89 };
90 #endif
double MB_DT_sigma_t_p(double, double *) const
static const double fun_sigma_t[11][5][5][7]
double MB_DT_dist(double, double *) const
#define N_Par_x
double MB_DT_MLInterpolation(double *al, double *by, double *bz, double *f) 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
double MB_DT_delta_x(double, double *) const
const Double_t pi
unsigned short MB_DT_drift_distance(double time, double alpha, double by, double bz, drift_distance *DX, short interpolate) const
Calculate drift distance and spread.
#define N_alpha
bool computeDriftDistance_mean(double time, double alpha, double by, double bz, short interpolate, drift_distance *dx) const
bool computeDriftDistance_mode(double time, double alpha, double by, double bz, short interpolate, drift_distance *dx) const
double f[11][100]
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_x[11][5][5][15]
void MB_DT_Get_grid_values(double Var, unsigned short *pi, unsigned short *pj, short Initial, unsigned short N, const double *Values) const
#define N_By
#define N
Definition: blowfish.cc:9
#define N_Bz
double MB_DT_sigma_t_m(double, double *) const
virtual ~DTTime2DriftParametrization()
Destructor.
Structure used to return output values.
#define N_Sigma_t