CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Private Member Functions | Static Private Attributes
DTTime2DriftParametrization Class Reference

#include <DTTime2DriftParametrization.h>

Classes

struct  drift_distance
 Structure used to return output values. More...
 

Public Member Functions

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
 
 DTTime2DriftParametrization ()
 Constructor. More...
 
virtual ~DTTime2DriftParametrization ()
 Destructor. More...
 

Private Member Functions

unsigned short MB_DT_Check_boundaries (double distime, double alpha, double by, double bz, short ifl) const
 
double MB_DT_delta_x (double, double *) const
 
double MB_DT_dist (double, double *) const
 
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. More...
 
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
 
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_MLInterpolation (double *al, double *by, double *bz, double *f) const
 
double MB_DT_sigma_t_m (double, double *) const
 
double MB_DT_sigma_t_p (double, double *) const
 

Static Private Attributes

static const double alpha_value [11]
 
static const double By_value [5]
 
static const double Bz_value [5]
 
static const double fun_sigma_t [11][5][5][7]
 
static const double fun_x [11][5][5][15]
 
static const double velocitySkew
 

Detailed Description

This class access the cell parametrization by Pablo Garcia-Abia and Jesus Puerta (CIEMAT). The two public methods act as an interface for the parametrization converting the reference frame and the units accordingly to CMSSW convention.

Author
Pablo Garcia-Abia and Jesus Puerta (CIEMAT, Madrid)

Definition at line 21 of file DTTime2DriftParametrization.h.

Constructor & Destructor Documentation

DTTime2DriftParametrization::DTTime2DriftParametrization ( )

Constructor.

Definition at line 18 of file DTTime2DriftParametrization.cc.

DTTime2DriftParametrization::~DTTime2DriftParametrization ( )
virtual

Destructor.

Definition at line 20 of file DTTime2DriftParametrization.cc.

Member Function Documentation

bool DTTime2DriftParametrization::computeDriftDistance_mean ( double  time,
double  alpha,
double  by,
double  bz,
short  interpolate,
drift_distance dx 
) const

Compute the drift distance and relative errors (cm). The drift distance is computed as the MEAN value of the distance distribution for this particular time. This method takes care of the conversions of units and reference frame used by CMSSW and the parametrization. time is in ns, alpha (=atan(x/-z)) in rad, by and bz are the magnetic field in the layer RF. False is returned if the parametrization fails

Definition at line 61 of file DTTime2DriftParametrization.cc.

bool DTTime2DriftParametrization::computeDriftDistance_mode ( double  time,
double  alpha,
double  by,
double  bz,
short  interpolate,
drift_distance dx 
) const

Compute the drift distance and relative errors (cm). The drift distance is computed as the MODE value of the distance distribution for this particular time. This method takes care of the conversions of units and reference frame used by CMSSW and the parametrization. time is in ns, alpha (=atan(x/-z)) in rad, by and bz are the magnetic field in the layer RF. False is returned if the parametrization fails

Definition at line 24 of file DTTime2DriftParametrization.cc.

unsigned short DTTime2DriftParametrization::MB_DT_Check_boundaries ( double  distime,
double  alpha,
double  by,
double  bz,
short  ifl 
) const
private
double DTTime2DriftParametrization::MB_DT_delta_x ( double  t,
double *  par 
) const
private

Definition at line 240 of file DTTime2DriftParametrization.cc.

double DTTime2DriftParametrization::MB_DT_dist ( double  time,
double *  par 
) const
private

Definition at line 256 of file DTTime2DriftParametrization.cc.

unsigned short DTTime2DriftParametrization::MB_DT_drift_distance ( double  time,
double  alpha,
double  by,
double  bz,
drift_distance DX,
short  interpolate 
) const
private

Calculate drift distance and spread.

Definition at line 100 of file DTTime2DriftParametrization.cc.

void DTTime2DriftParametrization::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
private
void DTTime2DriftParametrization::MB_DT_Get_grid_values ( double  Var,
unsigned short *  pi,
unsigned short *  pj,
short  Initial,
unsigned short  N,
const double *  Values 
) const
private
double DTTime2DriftParametrization::MB_DT_MLInterpolation ( double *  al,
double *  by,
double *  bz,
double *  f 
) const
private
double DTTime2DriftParametrization::MB_DT_sigma_t_m ( double  ,
double *   
) const
private
double DTTime2DriftParametrization::MB_DT_sigma_t_p ( double  ,
double *   
) const
private

Member Data Documentation

const double DTTime2DriftParametrization::alpha_value[11]
staticprivate

Definition at line 108 of file DTTime2DriftParametrization.h.

const double DTTime2DriftParametrization::By_value[5]
staticprivate

Definition at line 109 of file DTTime2DriftParametrization.h.

const double DTTime2DriftParametrization::Bz_value[5]
staticprivate

Definition at line 110 of file DTTime2DriftParametrization.h.

const double DTTime2DriftParametrization::fun_sigma_t[11][5][5][7]
staticprivate

Definition at line 114 of file DTTime2DriftParametrization.h.

const double DTTime2DriftParametrization::fun_x
staticprivate

Definition at line 113 of file DTTime2DriftParametrization.h.

const double DTTime2DriftParametrization::velocitySkew
staticprivate

Definition at line 117 of file DTTime2DriftParametrization.h.