![]() |
AliRoot Core
a565103 (a565103)
|
Should represent general non linear transformation. More...
#include <AliTPCTransformation.h>
Public Types | |
typedef Double_t(* | GenFuncG )(const Double_t *, const Double_t *) |
Public Member Functions | |
AliTPCTransformation () | |
AliTPCTransformation (const char *name, TBits *mask, const char *fx, const char *fy, const char *fz, Int_t coord) | |
AliTPCTransformation (const AliTPCTransformation &trafo) | |
~AliTPCTransformation () | |
virtual Double_t | GetDeltaXYZ (Int_t coord, Int_t volID, Double_t param, Double_t x, Double_t y, Double_t z) |
void | SetParams (Double_t param, Double_t sigma, Double_t sigma2Time, const TVectorD *const fixedParams) |
Bool_t | Init () |
void | SetActive (Bool_t flag) |
Bool_t | IsActive () const |
Double_t | GetParam () const |
void | SetParam (Double_t param) |
Double_t | GetSigma () const |
Double_t | GetSigmaMax () const |
Double_t | GetSigma2Time () const |
Static Public Member Functions | |
static TBits * | BitsSide (Bool_t aside) |
static TBits * | BitsAll () |
static void | RegisterFormula (const char *name, GenFuncG formula) |
static AliTPCTransformation::GenFuncG | FindFormula (const char *name) |
static Double_t | Eval (const char *name, const Double_t *x, const Double_t *par) |
Private Member Functions | |
AliTPCTransformation & | operator= (const AliTPCTransformation &) |
ClassDef (AliTPCTransformation, 2) | |
Static Private Member Functions | |
static Int_t | BuildBasicFormulas () |
static Double_t | TPCscalingRPol (Double_t *xyz, const Double_t *const param) |
static Double_t | TPCscalingZDrift (Double_t *xyz, const Double_t *const param) |
static Double_t | TPCscalingZDriftGy (Double_t *xyz, const Double_t *const param) |
static Double_t | TPCscalingZDriftT0 (Double_t *xyz, const Double_t *const param) |
static Double_t | TPCscalingPhiLocal (Double_t *xyz, const Double_t *const param) |
static Double_t | TPClocalRPhiEdge (Double_t *xyz, const Double_t *const param) |
static Double_t | TPCscalingRIFC (Double_t *xyz, const Double_t *const param) |
static Double_t | TPCscalingROFC (Double_t *xyz, const Double_t *const param) |
static Double_t | TPCdeltaFCROC (Double_t *xyz, const Double_t *const param) |
static Double_t | TPCdeltaFCCE (Double_t *xyz, const Double_t *const param) |
static Double_t | TPClocaldLxdGX (Double_t *xyz, const Double_t *const param) |
static Double_t | TPClocaldLxdGY (Double_t *xyz, const Double_t *const param) |
static Double_t | TPClocaldLydGX (Double_t *xyz, const Double_t *const param) |
static Double_t | TPClocaldLydGY (Double_t *xyz, const Double_t *const param) |
static Double_t | TPClocaldRzdGX (Double_t *xyz, const Double_t *const param) |
static Double_t | TPClocaldRzdGY (Double_t *xyz, const Double_t *const param) |
static Double_t | TPCDeltaZ (Double_t *xyz, const Double_t *const param) |
static Double_t | TPCDeltaZMediumLong (Double_t *xyz, Double_t *param) |
static Double_t | TPCTiltingZ (Double_t *xyz, const Double_t *const param) |
Private Attributes | |
TString * | fNameX |
x formula More... | |
TString * | fNameY |
y formula More... | |
TString * | fNameZ |
z formula More... | |
TBits * | fBitMask |
bitmaps - transformation only for specified volID More... | |
Int_t | fCoordSystem |
coord system of output deltas More... | |
Double_t | fParam |
free parameter of transformation More... | |
Double_t | fSigma |
error of the parameter More... | |
Double_t | fSigmaMax |
maximal sigma (Not allowed to increase in propagate time by bigger factor) More... | |
Double_t | fSigma2Time |
change of the error in time (per hour) - (For kalman filter) More... | |
TVectorD * | fFixedParam |
fixed parameters of tranformation More... | |
Bool_t | fIsActive |
switch - is transformation active More... | |
Bool_t | fInit |
initialization flag More... | |
GenFuncG | fFormulaX |
! x formula More... | |
GenFuncG | fFormulaY |
! y formula More... | |
GenFuncG | fFormulaZ |
! z formula More... | |
Static Private Attributes | |
static GenFuncG | fgFormulas [10000] |
! array of pointers to formula More... | |
static TObjArray * | fgFormulasName = new TObjArray(10000) |
! array of formalas name More... | |
Should represent general non linear transformation.
TPC transformations.
Currently tune for TPConly.
To be used:
Base functionality:
Transformation - naming convention:
XXX(local)YYYZZZ TPClocaldLxdGX XXX - detector if detector specific local - if local transforamtion YYY - type of transformation ZZZ - return type of transformation
Definition at line 22 of file AliTPCTransformation.h.
typedef Double_t(* AliTPCTransformation::GenFuncG)(const Double_t *, const Double_t *) |
Definition at line 24 of file AliTPCTransformation.h.
AliTPCTransformation::AliTPCTransformation | ( | ) |
default constructor
Definition at line 120 of file AliTPCTransformation.cxx.
AliTPCTransformation::AliTPCTransformation | ( | const char * | name, |
TBits * | mask, | ||
const char * | fx, | ||
const char * | fy, | ||
const char * | fz, | ||
Int_t | coord | ||
) |
non default constructor
Definition at line 147 of file AliTPCTransformation.cxx.
AliTPCTransformation::AliTPCTransformation | ( | const AliTPCTransformation & | trafo | ) |
comment are above
Definition at line 174 of file AliTPCTransformation.cxx.
AliTPCTransformation::~AliTPCTransformation | ( | ) |
destructor
Definition at line 202 of file AliTPCTransformation.cxx.
|
static |
Set all bits to kTRUE
Definition at line 258 of file AliTPCTransformation.cxx.
Referenced by AddDrift().
|
static |
Set bits for given side
Definition at line 245 of file AliTPCTransformation.cxx.
Referenced by AddAlignOROCIROCFourier(), AddAlignSectorFourier(), AddFitFieldCage(), AddZShift(), AddZTilting(), and AliTPCkalmanFit::Test().
|
staticprivate |
Definition at line 61 of file AliTPCTransformation.cxx.
Referenced by CalibAlignKalman(), and CalibAlignKalmanFit().
|
private |
|
static |
Only for test purposes - very slow
Definition at line 111 of file AliTPCTransformation.cxx.
|
static |
find formula - if registered
Definition at line 98 of file AliTPCTransformation.cxx.
|
virtual |
coord - type of coordinate
Definition at line 305 of file AliTPCTransformation.cxx.
Referenced by AliTPCkalmanFit::ApplyCalibration(), AliTPCkalmanFit::GetTPCDeltaXYZ(), AliTPCkalmanFit::GetTPCtransXYZ(), and AliTPCkalmanFit::UpdateLinear().
|
inline |
Definition at line 36 of file AliTPCTransformation.h.
Referenced by AliTPCkalmanFit::ApplyCalibration(), and AliTPCkalmanFit::Init().
|
inline |
Definition at line 38 of file AliTPCTransformation.h.
Referenced by AliTPCkalmanFit::Init().
|
inline |
Definition at line 40 of file AliTPCTransformation.h.
Referenced by AliTPCkalmanFit::PropagateTime().
|
inline |
Definition at line 39 of file AliTPCTransformation.h.
Referenced by AliTPCkalmanFit::PropagateTime().
Bool_t AliTPCTransformation::Init | ( | ) |
associate formulas with pointer to the function
Definition at line 224 of file AliTPCTransformation.cxx.
Referenced by AliTPCTransformation(), AliTPCkalmanFit::InitTransformation(), and SetParams().
|
inline |
Definition at line 34 of file AliTPCTransformation.h.
Referenced by AliTPCkalmanFit::SetStatus().
|
private |
|
static |
Add Formula to the list of formulas
Definition at line 53 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
inline |
Definition at line 33 of file AliTPCTransformation.h.
Referenced by AliTPCkalmanFit::SetStatus().
|
inline |
Definition at line 37 of file AliTPCTransformation.h.
Referenced by AliTPCkalmanFit::FitTrackLinear().
void AliTPCTransformation::SetParams | ( | Double_t | param, |
Double_t | sigma, | ||
Double_t | sigma2Time, | ||
const TVectorD *const | fixedParams | ||
) |
Set parameters of transformation
Definition at line 211 of file AliTPCTransformation.cxx.
Referenced by AddAlignOROCIROCFourier(), AddAlignSectorFourier(), AddDrift(), AddFitFieldCage(), AddLocalXYMisalignment(), AddLocalXYMisalignmentSector(), AddPhiScaling(), AddZShift(), AddZTilting(), and AliTPCkalmanFit::Test().
|
staticprivate |
delta R(Z) CE (central electrode) induced param[0] - switch 0 - use distance to IFC - 1 - distance to IFC param[1] - kFC scaling factor (multiplication factor of (OFC-IFC)) param[2] - kCE scaling factor parameters [1] and [2] should be obtained from the electric field simulation
Definition at line 502 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
delta R(Z) ROC induced param[0] - switch 0 - use distance to IFC - 1 - distance to IFC param[1] - kFC scaling factor (multiplication factor of (OFC-IFC)) param[2] - kROC scaling factor parameters [1] and [2] should be obtained from the electric field simulation
Definition at line 476 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
xyz - [0..2] - position [3] - scale parameter [4] - volID return delta in global coordiante system
Definition at line 704 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
xyz - [0..2] - position [3] - scale parameter [4] - volID return delta in global coordinate system
Definition at line 684 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
xyz - [0..2] - position [3] - scale parameter [4] - volID param[0]= n - cos(n *alpha) param[1]= n - sin(n *alpha) param[2] - indication - 0 - the same for IROC OROC 1 - opposite return delta in global coordiante system
Definition at line 538 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
xyz - [0..2] - position [3] - scale parameter [4] - volID param[0]= n - cos(n *alpha) param[1]= n - sin(n *alpha) param[2] - indication - 0 - the same for IROC OROC 1 - opposite return delta in global coordiante system
Definition at line 559 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
xyz - [0..2] - position [3] - scale parameter [4] - volID param[0]= n - cos(n *alpha) param[1]= n - sin(n *alpha) param[2] - indication - 0 - the same for IROC OROC 1 - opposite return delta in global coordiante system
Definition at line 580 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
xyz - [0..2] - position [3] - scale parameter [4] - volID param[0]= n - cos(n *alpha) param[1]= n - sin(n *alpha) param[2] - indication - 0 - the same for IROC OROC 1 - opposite return delta in global coordiante system
Definition at line 601 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
xyz - [0..2] - position [3] - scale parameter - rotation angle in mrad [4] - volID param[0]= n - cos(n *alpha) param[1]= n - sin(n *alpha) param[2] - indication - 0 - the same for IROC OROC 1 - opposite return delta in global coordiante system
Definition at line 623 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
xyz - [0..2] - position [3] - scale parameter - rotation angle in mrad [4] - volID param[0]= n - cos(n *alpha) param[1]= n - sin(n *alpha) param[2] - indication - 0 - the same for IROC OROC 1 - opposite return delta in global coordiante system
Definition at line 653 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
Scaling if the local y -phi xyz[0..2] - global xyz of point xyz[3] - scale parameter param[0] - dedge offset - should be around gap size/2. param[1] - dedge factor - should be around gap size/2.
Definition at line 429 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
Scaling if the local y -phi xyz[0..2] - global xyz of point xyz[3] - scale parameter value = 1 for ful drift length and parameter 1
Definition at line 414 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
inner field cage r distorion - proportinal to 1 over distance to the IFC param[0] - drift polynom order distortion at first pad row - is normalized to
Definition at line 447 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
outer field cage r distorion - proportinal to 1 over distance to the OFC param[0] - drift polynom order driftM - from -1 to 1
Definition at line 461 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
Scaling and shift of TPC radius xyz[0..2] - global xyz of point xyz[3] - scale parameter param[0] - radial scaling power param[1] - drift scaling power radius from -1(at rInner) to 1 (rOuter) driftM from -1(at 0 drift) to 1 (250 cm drift)
Definition at line 357 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
Scaling and shift of TPC radius xyz[0..2] - global xyz of point xyz[3] - scale parameter
Definition at line 376 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
Scaling and shift of TPC radius xyz[0..2] - global xyz of point xyz[3] - scale parameter
Definition at line 400 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
Z shift because time 0 offset opposite on A and C side
xyz[0..2] - global xyz of point xyz[3] - scale parameter
Definition at line 387 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
staticprivate |
xyz - [0..2] - position [3] - scale parameter [4] - volID param[0] - n for cos param[1] - n for sin param[2] - IROC-ORC relative (if >0.5 ) return delta in global coordinate system
Definition at line 725 of file AliTPCTransformation.cxx.
Referenced by BuildBasicFormulas().
|
private |
bitmaps - transformation only for specified volID
Definition at line 54 of file AliTPCTransformation.h.
Referenced by AliTPCTransformation(), GetDeltaXYZ(), and ~AliTPCTransformation().
|
private |
coord system of output deltas
Definition at line 55 of file AliTPCTransformation.h.
Referenced by GetDeltaXYZ().
|
private |
fixed parameters of tranformation
Definition at line 60 of file AliTPCTransformation.h.
Referenced by GetDeltaXYZ(), SetParams(), and ~AliTPCTransformation().
|
private |
! x formula
Definition at line 106 of file AliTPCTransformation.h.
Referenced by GetDeltaXYZ(), and Init().
|
private |
! y formula
Definition at line 107 of file AliTPCTransformation.h.
Referenced by GetDeltaXYZ(), and Init().
|
private |
! z formula
Definition at line 108 of file AliTPCTransformation.h.
Referenced by GetDeltaXYZ(), and Init().
|
staticprivate |
! array of pointers to formula
Definition at line 109 of file AliTPCTransformation.h.
Referenced by FindFormula().
! array of formalas name
Definition at line 110 of file AliTPCTransformation.h.
Referenced by FindFormula().
|
private |
initialization flag
Definition at line 105 of file AliTPCTransformation.h.
|
private |
switch - is transformation active
Definition at line 61 of file AliTPCTransformation.h.
Referenced by GetDeltaXYZ(), IsActive(), and SetActive().
|
private |
x formula
Definition at line 50 of file AliTPCTransformation.h.
Referenced by AliTPCTransformation(), Init(), and ~AliTPCTransformation().
|
private |
y formula
Definition at line 51 of file AliTPCTransformation.h.
Referenced by AliTPCTransformation(), Init(), and ~AliTPCTransformation().
|
private |
z formula
Definition at line 52 of file AliTPCTransformation.h.
Referenced by AliTPCTransformation(), Init(), and ~AliTPCTransformation().
|
private |
free parameter of transformation
Definition at line 56 of file AliTPCTransformation.h.
Referenced by GetParam(), SetParam(), and SetParams().
|
private |
error of the parameter
Definition at line 57 of file AliTPCTransformation.h.
Referenced by GetSigma(), and SetParams().
|
private |
change of the error in time (per hour) - (For kalman filter)
Definition at line 59 of file AliTPCTransformation.h.
Referenced by GetSigma2Time(), and SetParams().
|
private |
maximal sigma (Not allowed to increase in propagate time by bigger factor)
Definition at line 58 of file AliTPCTransformation.h.
Referenced by GetSigmaMax(), and SetParams().