CMS 3D CMS Logo

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