![]() |
AliRoot Core
v5-06-30 (35d6c57)
|
This implementation AliTPCExB is using an aproximate calculation of the ExB effect. More...
#include <AliTPCExBFirst.h>
Public Member Functions | |
AliTPCExBFirst () | |
AliTPCExBFirst (const AliMagF *bField, Double_t driftVelocity, Int_t nx=100, Int_t ny=100, Int_t nz=100) | |
virtual | ~AliTPCExBFirst () |
virtual void | Correct (const Double_t *position, Double_t *corrected) |
void | TestThisBeautifulObject (const char *fileName) |
void | SetDriftVelocity (Double_t driftVelocity) |
![]() | |
AliTPCExB () | |
AliTPCExB & | operator= (const AliTPCExB &exb) |
AliTPCExB (const AliTPCExB &exb) | |
virtual | ~AliTPCExB () |
virtual void | CorrectInverse (const Double_t *position, Double_t *corrected) |
void | TestExB (const char *fileName) |
Double_t | Eval (Int_t type, Double_t r, Double_t phi, Double_t z) |
Double_t | SEval (Int_t type, Double_t r, Double_t phi, Double_t z) |
Protected Attributes | |
Double_t | fDriftVelocity |
The electron drift velocity. More... | |
Private Member Functions | |
AliTPCExBFirst & | operator= (const AliTPCExBFirst &) |
AliTPCExBFirst (const AliTPCExBFirst &) | |
void | ConstructCommon (const AliMagF *bField) |
void | GetMeanFields (Double_t rx, Double_t ry, Double_t rz, Double_t *Bx, Double_t *By) const |
Private Attributes | |
Int_t | fkNX |
field mesh points in x direction More... | |
Int_t | fkNY |
field mesh points in y direction More... | |
Int_t | fkNZ |
field mesh points in z direction More... | |
Double_t | fkXMin |
the first grid point in x direction More... | |
Double_t | fkXMax |
the last grid point in x direction More... | |
Double_t | fkYMin |
the first grid point in y direction More... | |
Double_t | fkYMax |
the last grid point in y direction More... | |
Double_t | fkZMin |
the first grid point in z direction More... | |
Double_t | fkZMax |
the last grid point in z direction More... | |
Int_t | fkNMean |
Double_t * | fkMeanBx |
the mean field in x direction upto a certain z value More... | |
Double_t * | fkMeanBy |
the mean field in y direction upto a certain z value More... | |
Double_t | fkMeanBz |
the mean field in z direction inside the TPC volume More... | |
Static Private Attributes | |
static const Double_t | fgkEM =1.602176487e-19/9.10938215e-31 |
! elementary charge over electron mass (C/kg) More... | |
static const Double_t | fgkDriftField =-40.e3 |
! the TPC drift field (V/m) (modulus) More... | |
Additional Inherited Members | |
![]() | |
static Double_t | GetDr (Double_t r, Double_t phi, Double_t z, Double_t bz=5) |
static Double_t | GetDrphi (Double_t r, Double_t phi, Double_t z, Double_t bz=5) |
static Double_t | GetDphi (Double_t r, Double_t phi, Double_t z, Double_t bz=5) |
static Double_t | GetDz (Double_t r, Double_t phi, Double_t z, Double_t bz=5) |
static AliTPCExB * | Instance () |
static void | SetInstance (AliTPCExB *const param) |
static void | RegisterField (Int_t index, AliMagF *magf) |
static Double_t | GetBx (Double_t r, Double_t phi, Double_t z, Int_t index=0) |
static Double_t | GetBy (Double_t r, Double_t phi, Double_t z, Int_t index=0) |
static Double_t | GetBz (Double_t r, Double_t phi, Double_t z, Int_t index=0) |
static Double_t | GetBr (Double_t r, Double_t phi, Double_t z, Int_t index=0) |
static Double_t | GetBrfi (Double_t r, Double_t phi, Double_t z, Int_t index=0) |
static Double_t | GetBxI (Double_t r, Double_t phi, Double_t z, Int_t index=0) |
static Double_t | GetByI (Double_t r, Double_t phi, Double_t z, Int_t index=0) |
static Double_t | GetBzI (Double_t r, Double_t phi, Double_t z, Int_t index=0) |
static Double_t | GetBrI (Double_t r, Double_t phi, Double_t z, Int_t index=0) |
static Double_t | GetBrfiI (Double_t r, Double_t phi, Double_t z, Int_t index=0) |
static Double_t | EvalMat (const TVectorD &vec, Double_t r, Double_t phi, Double_t z) |
This implementation AliTPCExB is using an aproximate calculation of the ExB effect.
An approximate (first order) implementation of the ExB effect.
Therefore the drift ODE is Taylor expanded and only the first order part is taken.
The ExB correction map is stored in the calib DB To test current version:
Definition at line 14 of file AliTPCExBFirst.h.
AliTPCExBFirst::AliTPCExBFirst | ( | ) |
purely for I/O
Definition at line 52 of file AliTPCExBFirst.cxx.
AliTPCExBFirst::AliTPCExBFirst | ( | const AliMagF * | bField, |
Double_t | driftVelocity, | ||
Int_t | nx = 100 , |
||
Int_t | ny = 100 , |
||
Int_t | nz = 100 |
||
) |
The constructor. One has to supply a magnetic field and an (initial) drift velocity. Since some kind of lookuptable is created the number of its meshpoints can be supplied.
ConstructCommon(0,bField);
Definition at line 64 of file AliTPCExBFirst.cxx.
|
virtual |
destruct the poor object.
Definition at line 124 of file AliTPCExBFirst.cxx.
|
private |
|
private |
THIS IS PRIVATE! (a helper for the constructor)
Definition at line 207 of file AliTPCExBFirst.cxx.
Referenced by AliTPCExBFirst().
|
virtual |
correct for the distortion
Implements AliTPCExB.
Definition at line 131 of file AliTPCExBFirst.cxx.
Referenced by TestThisBeautifulObject().
|
private |
THIS IS PRIVATE! (calculates the mean field utilising a lookup table)
Definition at line 250 of file AliTPCExBFirst.cxx.
Referenced by Correct().
|
private |
|
inline |
Definition at line 23 of file AliTPCExBFirst.h.
void AliTPCExBFirst::TestThisBeautifulObject | ( | const char * | fileName | ) |
well, as the name sais...
Definition at line 169 of file AliTPCExBFirst.cxx.
|
protected |
The electron drift velocity.
Definition at line 25 of file AliTPCExBFirst.h.
Referenced by Correct(), and SetDriftVelocity().
|
staticprivate |
! the TPC drift field (V/m) (modulus)
Definition at line 51 of file AliTPCExBFirst.h.
Referenced by Correct().
|
staticprivate |
! elementary charge over electron mass (C/kg)
Definition at line 50 of file AliTPCExBFirst.h.
|
private |
the mean field in x direction upto a certain z value
Definition at line 46 of file AliTPCExBFirst.h.
Referenced by ConstructCommon(), GetMeanFields(), and ~AliTPCExBFirst().
|
private |
the mean field in y direction upto a certain z value
Definition at line 48 of file AliTPCExBFirst.h.
Referenced by ConstructCommon(), GetMeanFields(), and ~AliTPCExBFirst().
|
private |
the mean field in z direction inside the TPC volume
Definition at line 49 of file AliTPCExBFirst.h.
Referenced by ConstructCommon(), and Correct().
|
private |
size of the tablE the mean fields
Definition at line 44 of file AliTPCExBFirst.h.
Referenced by ConstructCommon().
|
private |
field mesh points in x direction
Definition at line 35 of file AliTPCExBFirst.h.
Referenced by ConstructCommon(), and GetMeanFields().
|
private |
field mesh points in y direction
Definition at line 36 of file AliTPCExBFirst.h.
Referenced by ConstructCommon(), and GetMeanFields().
|
private |
field mesh points in z direction
Definition at line 37 of file AliTPCExBFirst.h.
Referenced by ConstructCommon(), and GetMeanFields().
|
private |
the last grid point in x direction
Definition at line 39 of file AliTPCExBFirst.h.
Referenced by ConstructCommon(), and GetMeanFields().
|
private |
the first grid point in x direction
Definition at line 38 of file AliTPCExBFirst.h.
Referenced by ConstructCommon(), and GetMeanFields().
|
private |
the last grid point in y direction
Definition at line 41 of file AliTPCExBFirst.h.
Referenced by ConstructCommon(), and GetMeanFields().
|
private |
the first grid point in y direction
Definition at line 40 of file AliTPCExBFirst.h.
Referenced by ConstructCommon(), and GetMeanFields().
|
private |
the last grid point in z direction
Definition at line 43 of file AliTPCExBFirst.h.
Referenced by ConstructCommon(), and GetMeanFields().
|
private |
the first grid point in z direction
Definition at line 42 of file AliTPCExBFirst.h.
Referenced by ConstructCommon(), and GetMeanFields().