CMS 3D CMS Logo

DTTime2DriftParametrization.h
Go to the documentation of this file.
1 #ifndef DTTime2DriftParametrization_H
2 #define DTTime2DriftParametrization_H
3 
14 #define N_alpha 11
15 #define N_By 5
16 #define N_Bz 5
17 #define N_Par_x 15
18 #define N_Sigma_t 7
19 
20 
22 public:
25 
28 
30  typedef struct {
31  double v_drift, x_drift, delta_x, x_width_m, x_width_p ;
32  } drift_distance; //FIXME: Why this typedef?
33 
34 
42  bool computeDriftDistance_mode(double time,
43  double alpha,
44  double by,
45  double bz,
46  short interpolate,
47  drift_distance* dx) const;
48 
56  bool computeDriftDistance_mean(double time,
57  double alpha,
58  double by,
59  double bz,
60  short interpolate,
61  drift_distance* dx) const;
62 
63 
64 private:
66  unsigned short MB_DT_drift_distance (double time,
67  double alpha,
68  double by,
69  double bz,
70  drift_distance *DX,
71  short interpolate) const;
72 
73 
74  double MB_DT_dist (double , double *) const;
75  double MB_DT_delta_x (double , double *) const;
76  double MB_DT_sigma_t_m (double , double *) const;
77  double MB_DT_sigma_t_p (double , double *) const;
78 
79  unsigned short MB_DT_Check_boundaries (double distime,
80  double alpha,
81  double by,
82  double bz,
83  short ifl) const;
84 
85  void MB_DT_Get_grid_values (double Var,
86  unsigned short *pi,
87  unsigned short *pj,
88  short Initial,
89  unsigned short N,
90  const double *Values) const;
91 
92  void MB_DT_Get_grid_points (double alpha,
93  double by,
94  double bz,
95  unsigned short *p_alpha,
96  unsigned short *p_By,
97  unsigned short *p_Bz,
98  unsigned short *q_alpha,
99  unsigned short *q_By,
100  unsigned short *q_Bz) const;
101 
102  double MB_DT_MLInterpolation (double *al,
103  double *by,
104  double *bz,
105  double *f) const;
106 
107  /*** Points of the grid ***/
108  static const double alpha_value[N_alpha];
109  static const double By_value[N_By];
110  static const double Bz_value[N_Bz];
111 
112  /*** Parameter values ***/
113  static const double fun_x[N_alpha][N_By][N_Bz][N_Par_x];
114  static const double fun_sigma_t[N_alpha][N_By][N_Bz][N_Sigma_t];
115 
116  /*** skew factor ***/
117  static const double velocitySkew;
118 
119 };
120 #endif
float alpha
Definition: AMPTWrapper.h:95
bool computeDriftDistance_mode(double time, double alpha, double by, double bz, short interpolate, drift_distance *dx) const
static const double fun_sigma_t[11][5][5][7]
bool computeDriftDistance_mean(double time, double alpha, double by, double bz, short interpolate, drift_distance *dx) const
double MB_DT_delta_x(double, double *) const
#define N_Par_x
double MB_DT_dist(double, double *) const
double MB_DT_sigma_t_p(double, double *) const
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
const Double_t pi
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
#define N_alpha
void MB_DT_Get_grid_values(double Var, unsigned short *pi, unsigned short *pj, short Initial, unsigned short N, const double *Values) const
double f[11][100]
static const double fun_x[11][5][5][15]
double MB_DT_sigma_t_m(double, double *) const
#define N_By
#define N
Definition: blowfish.cc:9
#define N_Bz
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.
virtual ~DTTime2DriftParametrization()
Destructor.
Structure used to return output values.
#define N_Sigma_t