MarlinTPC
1.2.0
|
The TPCGas is a helper class containing a parametrisation of some gas mixtures It can be used by processors thet need to know drift velocity or diffusion properties Usage: create a gas with a name, set E and B field, then values are available through the get functions. More...
#include <TPCGas.h>
Public Member Functions | |
TPCGas (std::string gasname) | |
Constructor, gases are identified by names, e.g. "TDR","P5". | |
~TPCGas () | |
Destructor. | |
void | SetEField (double EField) |
Set the electric field, if field is changed call the CalculateGasParameters method again to obtain new values. | |
double | GetEField () |
void | SetBField (double BField) |
Set the magnetic field, if field is changed call the CalculateGasParameters method again to obtain new values. | |
double | GetBField () |
double | GetDriftVelocity () |
returns the drift velocity in [mm/us] | |
double | GetTransverseDiffusion () |
returns transverse diffusion in [um/sqrt(cm)] | |
double | GetLongitudinalDiffusion () |
returns longitudinal diffusion in [um/sqrt(cm)] | |
double | GetAttachment (double EField, double dist) |
calculate attachment over a given distance in cm | |
void | CalculateGasParameters () |
After name, E and B field are set call this function to calcuate the gas parameters. | |
std::string | GetGasName () |
Protected Member Functions | |
void | CalculateTransverseDiffusion () |
double | EvaluateEFieldDependence (double a, double b, double c, double d, double e, double f, double g, double h, double i, double j, double k) |
used for v drift and diffusion and all gases, just the parameters change | |
double | EvaluateBFieldDependence (double a, double b, double c, double d, double e, double f) |
used for transverse diffusion dependence on magnetic field | |
void | initTDRGas () |
void | initP5Gas () |
void | initP10Gas () |
void | initT2KGas () |
Protected Attributes | |
double | _BField |
double | _EField |
double | _vdrift |
double | _diffLong |
double | _diffTrans |
double | _attachment |
double | _dL_params [11] |
container for the parametrisation of longitudinal diffusion | |
double | _vd_params [11] |
container for the parametrisation of drift velocity | |
double | _dT_params [10][6] |
container for the parametrisation of transverse diffusion | |
double | _att [7] |
container for parametrisation of attachment | |
std::string | _gasName |
The TPCGas is a helper class containing a parametrisation of some gas mixtures It can be used by processors thet need to know drift velocity or diffusion properties Usage: create a gas with a name, set E and B field, then values are available through the get functions.