AliRoot Core  a565103 (a565103)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliTPCTransformation Class Reference

Should represent general non linear transformation. More...

#include <AliTPCTransformation.h>

Inheritance diagram for AliTPCTransformation:

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

AliTPCTransformationoperator= (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 TObjArrayfgFormulasName = new TObjArray(10000)
 ! array of formalas name More...
 

Detailed Description

Should represent general non linear transformation.

TPC transformations.

Currently tune for TPConly.

To be used:

  1. Simulation-Digitization
  2. Reconstruction - AliTPCTransform
  3. Calibration/Alignment (KalmanFilter, Milipedde)
  4. Set of transformation to be stored/retrieved as OCDB entry

Base functionality:

  1. Double_t GetDeltaXYZ(Int_t coord, Int_t volID, Double_t param, Double_t x, Double_t y, Double_t z) Get correction - return the delta of coordinate coord dx or dy or dz for given volID for point at point (x,y,z) All coordinates are global
  2. The transformation should work only for given volIDs and detector IDs Currently Bitmask is used for filtering

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

Deprecated:
Code is not used anymore for the TPC corrections. Obsolete - will be removed soon
Author
Marian Ivanov maria.nosp@m.n.iv.nosp@m.anov@.nosp@m.cern.nosp@m..ch

Definition at line 22 of file AliTPCTransformation.h.

Member Typedef Documentation

typedef Double_t(* AliTPCTransformation::GenFuncG)(const Double_t *, const Double_t *)

Definition at line 24 of file AliTPCTransformation.h.

Constructor & Destructor Documentation

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.

Member Function Documentation

TBits * AliTPCTransformation::BitsAll ( )
static

Set all bits to kTRUE

Definition at line 258 of file AliTPCTransformation.cxx.

Referenced by AddDrift().

TBits * AliTPCTransformation::BitsSide ( Bool_t  aside)
static
Int_t AliTPCTransformation::BuildBasicFormulas ( )
staticprivate

Definition at line 61 of file AliTPCTransformation.cxx.

Referenced by CalibAlignKalman(), and CalibAlignKalmanFit().

AliTPCTransformation::ClassDef ( AliTPCTransformation  ,
 
)
private
Double_t AliTPCTransformation::Eval ( const char *  name,
const Double_t *  x,
const Double_t *  par 
)
static

Only for test purposes - very slow

Definition at line 111 of file AliTPCTransformation.cxx.

AliTPCTransformation::GenFuncG AliTPCTransformation::FindFormula ( const char *  name)
static

find formula - if registered

Definition at line 98 of file AliTPCTransformation.cxx.

Referenced by Eval(), and Init().

Double_t AliTPCTransformation::GetDeltaXYZ ( Int_t  coord,
Int_t  volID,
Double_t  param,
Double_t  x,
Double_t  y,
Double_t  z 
)
virtual

coord - type of coordinate

  • 0 -X 1 -Y 2 -Z 3 -R 4 -RPhi 5 -Z

Definition at line 305 of file AliTPCTransformation.cxx.

Referenced by AliTPCkalmanFit::ApplyCalibration(), AliTPCkalmanFit::GetTPCDeltaXYZ(), AliTPCkalmanFit::GetTPCtransXYZ(), and AliTPCkalmanFit::UpdateLinear().

Double_t AliTPCTransformation::GetParam ( ) const
inline
Double_t AliTPCTransformation::GetSigma ( ) const
inline

Definition at line 38 of file AliTPCTransformation.h.

Referenced by AliTPCkalmanFit::Init().

Double_t AliTPCTransformation::GetSigma2Time ( ) const
inline

Definition at line 40 of file AliTPCTransformation.h.

Referenced by AliTPCkalmanFit::PropagateTime().

Double_t AliTPCTransformation::GetSigmaMax ( ) const
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().

Bool_t AliTPCTransformation::IsActive ( ) const
inline

Definition at line 34 of file AliTPCTransformation.h.

Referenced by AliTPCkalmanFit::SetStatus().

AliTPCTransformation& AliTPCTransformation::operator= ( const AliTPCTransformation )
private
void AliTPCTransformation::RegisterFormula ( const char *  name,
GenFuncG  formula 
)
static

Add Formula to the list of formulas

Definition at line 53 of file AliTPCTransformation.cxx.

Referenced by BuildBasicFormulas().

void AliTPCTransformation::SetActive ( Bool_t  flag)
inline

Definition at line 33 of file AliTPCTransformation.h.

Referenced by AliTPCkalmanFit::SetStatus().

void AliTPCTransformation::SetParam ( Double_t  param)
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 
)
Double_t AliTPCTransformation::TPCdeltaFCCE ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPCdeltaFCROC ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPCDeltaZ ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPCDeltaZMediumLong ( Double_t *  xyz,
Double_t *  param 
)
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().

Double_t AliTPCTransformation::TPClocaldLxdGX ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPClocaldLxdGY ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPClocaldLydGX ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPClocaldLydGY ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPClocaldRzdGX ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPClocaldRzdGY ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPClocalRPhiEdge ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPCscalingPhiLocal ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPCscalingRIFC ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPCscalingROFC ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPCscalingRPol ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPCscalingZDrift ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPCscalingZDriftGy ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPCscalingZDriftT0 ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Double_t AliTPCTransformation::TPCTiltingZ ( Double_t *  xyz,
const Double_t *const  param 
)
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().

Member Data Documentation

TBits* AliTPCTransformation::fBitMask
private

bitmaps - transformation only for specified volID

Definition at line 54 of file AliTPCTransformation.h.

Referenced by AliTPCTransformation(), GetDeltaXYZ(), and ~AliTPCTransformation().

Int_t AliTPCTransformation::fCoordSystem
private

coord system of output deltas

Definition at line 55 of file AliTPCTransformation.h.

Referenced by GetDeltaXYZ().

TVectorD* AliTPCTransformation::fFixedParam
private

fixed parameters of tranformation

Definition at line 60 of file AliTPCTransformation.h.

Referenced by GetDeltaXYZ(), SetParams(), and ~AliTPCTransformation().

GenFuncG AliTPCTransformation::fFormulaX
private

! x formula

Definition at line 106 of file AliTPCTransformation.h.

Referenced by GetDeltaXYZ(), and Init().

GenFuncG AliTPCTransformation::fFormulaY
private

! y formula

Definition at line 107 of file AliTPCTransformation.h.

Referenced by GetDeltaXYZ(), and Init().

GenFuncG AliTPCTransformation::fFormulaZ
private

! z formula

Definition at line 108 of file AliTPCTransformation.h.

Referenced by GetDeltaXYZ(), and Init().

AliTPCTransformation::GenFuncG AliTPCTransformation::fgFormulas
staticprivate

! array of pointers to formula

Definition at line 109 of file AliTPCTransformation.h.

Referenced by FindFormula().

TObjArray * AliTPCTransformation::fgFormulasName = new TObjArray(10000)
staticprivate

! array of formalas name

Definition at line 110 of file AliTPCTransformation.h.

Referenced by FindFormula().

Bool_t AliTPCTransformation::fInit
private

initialization flag

Definition at line 105 of file AliTPCTransformation.h.

Bool_t AliTPCTransformation::fIsActive
private

switch - is transformation active

Definition at line 61 of file AliTPCTransformation.h.

Referenced by GetDeltaXYZ(), IsActive(), and SetActive().

TString* AliTPCTransformation::fNameX
private

x formula

Definition at line 50 of file AliTPCTransformation.h.

Referenced by AliTPCTransformation(), Init(), and ~AliTPCTransformation().

TString* AliTPCTransformation::fNameY
private

y formula

Definition at line 51 of file AliTPCTransformation.h.

Referenced by AliTPCTransformation(), Init(), and ~AliTPCTransformation().

TString* AliTPCTransformation::fNameZ
private

z formula

Definition at line 52 of file AliTPCTransformation.h.

Referenced by AliTPCTransformation(), Init(), and ~AliTPCTransformation().

Double_t AliTPCTransformation::fParam
private

free parameter of transformation

Definition at line 56 of file AliTPCTransformation.h.

Referenced by GetParam(), SetParam(), and SetParams().

Double_t AliTPCTransformation::fSigma
private

error of the parameter

Definition at line 57 of file AliTPCTransformation.h.

Referenced by GetSigma(), and SetParams().

Double_t AliTPCTransformation::fSigma2Time
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().

Double_t AliTPCTransformation::fSigmaMax
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().


The documentation for this class was generated from the following files: