AliRoot Core  v5-06-30 (35d6c57)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliTPCSpaceCharge3D Class Reference

The class calculates the space point distortions due to an arbitrary space charge distribution in 3D. More...

#include <AliTPCSpaceCharge3D.h>

Inheritance diagram for AliTPCSpaceCharge3D:

Public Member Functions

 AliTPCSpaceCharge3D ()
 
virtual ~AliTPCSpaceCharge3D ()
 
virtual void Init ()
 
virtual void Update (const TTimeStamp &timeStamp)
 
virtual void SetOmegaTauT1T2 (Float_t omegaTau, Float_t t1, Float_t t2)
 
void SetC0C1 (Float_t c0, Float_t c1)
 
Float_t GetC0 () const
 
Float_t GetC1 () const
 
void SetCorrectionFactor (Float_t correctionFactor)
 
Float_t GetCorrectionFactor () const
 
void InitSpaceCharge3DDistortion ()
 
void InitSpaceCharge3DDistortionCourse ()
 
void ForceInitSpaceCharge3DDistortion ()
 
void InitSpaceCharge3DPoisson (Int_t kRows, Int_t kColumns, Int_t kPhiSlices, Int_t kIterations)
 
void ForceInitSpaceCharge3DPoisson (Int_t kRows, Int_t kColumns, Int_t kPhiSlices, Int_t kIterations)
 
Float_t GetSpaceChargeDensity (Float_t r, Float_t phi, Float_t z)
 
TH2F * CreateHistoSCinXY (Float_t z, Int_t nx=100, Int_t ny=100)
 
TH2F * CreateHistoSCinZR (Float_t phi, Int_t nz=100, Int_t nr=100)
 
void WriteChargeDistributionToFile (const char *fname="SC-Alice.root")
 
virtual void Print (const Option_t *option="") const
 
void SetInputSpaceCharge (TH3 *hisSpaceCharge3D, Double_t norm)
 
void SetInputSpaceCharge3D (TH3 *hisSpaceCharge3D)
 
const TH3 * GetInputSpaceCharge3D ()
 
const TH2 * GetInputSpaceChargeRPhi ()
 
const TH2 * GetInputSpaceChargeRZ ()
 
virtual void GetCorrection (const Float_t x[], const Short_t roc, Float_t dx[])
 
- Public Member Functions inherited from AliTPCCorrection
 AliTPCCorrection ()
 
 AliTPCCorrection (const char *name, const char *title)
 
virtual ~AliTPCCorrection ()
 
virtual Bool_t AddCorrectionCompact (AliTPCCorrection *corr, Double_t weight)
 
void CorrectPoint (Float_t x[], Short_t roc)
 
void CorrectPointLocal (Float_t x[], Short_t roc)
 
void CorrectPoint (const Float_t x[], Short_t roc, Float_t xp[])
 
virtual void GetCorrectionDz (const Float_t x[], Short_t roc, Float_t dx[], Float_t delta)
 
virtual void GetCorrectionIntegralDz (const Float_t x[], Short_t roc, Float_t dx[], Float_t delta)
 
void DistortPoint (Float_t x[], Short_t roc)
 
void DistortPointLocal (Float_t x[], Short_t roc)
 
void DistortPoint (const Float_t x[], Short_t roc, Float_t xp[])
 
virtual void GetDistortion (const Float_t x[], Short_t roc, Float_t dx[])
 
virtual void GetDistortionDz (const Float_t x[], Short_t roc, Float_t dx[], Float_t delta)
 
virtual void GetDistortionIntegralDz (const Float_t x[], Short_t roc, Float_t dx[], Float_t delta)
 
virtual void SetCorrScaleFactor (Float_t)
 
virtual Float_t GetCorrScaleFactor () const
 
virtual void Print (Option_t *option="") const
 
TH2F * CreateHistoDRinXY (Float_t z=10., Int_t nx=100, Int_t ny=100)
 
TH2F * CreateHistoDRPhiinXY (Float_t z=10., Int_t nx=100, Int_t nphi=100)
 
TH2F * CreateHistoDZinXY (Float_t z=10., Int_t nx=100, Int_t ny=100)
 
TH2F * CreateHistoDRinZR (Float_t phi=0., Int_t nZ=100, Int_t nR=100)
 
TH2F * CreateHistoDRPhiinZR (Float_t phi=0., Int_t nZ=100, Int_t nR=100)
 
TH2F * CreateHistoDZinZR (Float_t phi=0., Int_t nZ=100, Int_t nR=100)
 
TTree * CreateDistortionTree (Double_t step=5)
 
AliExternalTrackParam * FitDistortedTrack (AliExternalTrackParam &trackIn, Double_t refX, Int_t dir, TTreeSRedirector *pcstream)
 
void StoreInOCDB (Int_t startRun, Int_t endRun, const char *comment=0)
 
void FastSimDistortedVertex (Double_t orgVertex[3], Int_t nTracks, AliESDVertex &aV, AliESDVertex &avOrg, AliESDVertex &cV, AliESDVertex &cvOrg, TTreeSRedirector *const pcstream, Double_t etaCuts)
 

Private Types

enum  { kNRows = 90 }
 
enum  { kNPhiSlices = 144 }
 
enum  { kNColumns = 130 }
 

Private Member Functions

 AliTPCSpaceCharge3D (const AliTPCSpaceCharge3D &)
 
AliTPCSpaceCharge3Doperator= (const AliTPCSpaceCharge3D &)
 

Private Attributes

Float_t fC0
 coefficient C0 (compare Jim Thomas's notes for definitions) More...
 
Float_t fC1
 coefficient C1 (compare Jim Thomas's notes for definitions) More...
 
Float_t fCorrectionFactor
 Space Charge Correction factor in comparison to initialized. More...
 
Bool_t fInitLookUp
 flag to check if the Look Up table was created More...
 
TMatrixF * fLookUpErOverEz [kNPhi]
 Array to store electric field integral (int Er/Ez) More...
 
TMatrixF * fLookUpEphiOverEz [kNPhi]
 Array to store electric field integral (int Er/Ez) More...
 
TMatrixF * fLookUpDeltaEz [kNPhi]
 Array to store electric field integral (int Er/Ez) More...
 
TString fSCDataFileName
 file which contains the space charge distribution More...
 
TString fSCLookUpPOCsFileName3D
 filename of the precalculated lookup tables (for individual voxels) More...
 
TString fSCLookUpPOCsFileNameRZ
 filename of the precalculated lookup tables (for individual voxels) More...
 
TString fSCLookUpPOCsFileNameRPhi
 filename of the precalculated lookup tables (for individual voxels) More...
 
TMatrixF * fSCdensityDistribution [kNPhi]
 3D space charge distribution More...
 
TMatrixD * fSCdensityInRZ
 (r,z) space charge distribution More...
 
TMatrixD * fSCdensityInRPhiA
 (r,phi) space charge distribution More...
 
TMatrixD * fSCdensityInRPhiC
 (r,phi) space charge distribution More...
 
TH3 * fSpaceChargeHistogram3D
 Histogram with the input space charge histogram - used as an optional input. More...
 
TH2 * fSpaceChargeHistogramRPhi
 Histogram with the input space charge histogram - used as an optional input. More...
 
TH2 * fSpaceChargeHistogramRZ
 

Additional Inherited Members

- Public Types inherited from AliTPCCorrection
enum  CompositionType { kParallel, kQueue }
 
- Static Public Member Functions inherited from AliTPCCorrection
static void MakeDistortionMap (THnSparse *his0, TTreeSRedirector *pcstream, const char *hname, Int_t run, Float_t refX, Int_t type, Int_t integ=1)
 
static void MakeDistortionMapCosmic (THnSparse *his0, TTreeSRedirector *pcstream, const char *hname, Int_t run, Float_t refX, Int_t type)
 
static void MakeDistortionMapSector (THnSparse *his0, TTreeSRedirector *pcstream, const char *hname, Int_t run, Int_t type)
 
static void MakeTrackDistortionTree (TTree *tinput, Int_t dtype, Int_t ptype, const TObjArray *corrArray, Int_t step=1, Int_t offset=0, Bool_t debug=0)
 
static void MakeSectorDistortionTree (TTree *tinput, Int_t dtype, Int_t ptype, const TObjArray *corrArray, Int_t step=1, Int_t offset=0, Bool_t debug=0)
 
static void MakeLaserDistortionTreeOld (TTree *tree, TObjArray *corrArray, Int_t itype)
 
static void MakeLaserDistortionTree (TTree *tree, TObjArray *corrArray, Int_t itype)
 
static void AddVisualCorrection (AliTPCCorrection *corr, Int_t position)
 
static AliTPCCorrectionGetVisualCorrection (Int_t position)
 
static AliTPCCorrectionGetVisualCorrection (const char *corName)
 
static TObjArrayGetVisualCorrections ()
 
static Double_t GetCorrSector (Double_t sector, Double_t r, Double_t kZ, Int_t axisType, Int_t corrType=0)
 
static Double_t GetCorrXYZ (Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0)
 
static Double_t GetCorrXYZDz (Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0, Double_t delta=5)
 
static Double_t GetCorrXYZIntegrateZ (Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0, Double_t delta=5)
 
static Double_t GetDistXYZ (Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0)
 
static Double_t GetDistXYZDz (Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0, Double_t delta=5)
 
static Double_t GetDistXYZIntegrateZ (Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0, Double_t delta=5)
 
- Protected Types inherited from AliTPCCorrection
enum  { kNR = 72 }
 
enum  { kNPhi = 18*10+1 }
 
enum  { kNZ = 166 }
 
- Protected Member Functions inherited from AliTPCCorrection
TH2F * CreateTH2F (const char *name, const char *title, const char *xlabel, const char *ylabel, const char *zlabel, Int_t nbinsx, Double_t xlow, Double_t xup, Int_t nbinsy, Double_t ylow, Double_t yup)
 
void Interpolate2DEdistortion (Int_t order, Double_t r, Double_t z, const Double_t er[kNZ][kNR], Double_t &erValue)
 
void Interpolate3DEdistortion (Int_t order, Double_t r, Float_t phi, Double_t z, const Double_t er[kNZ][kNPhi][kNR], const Double_t ephi[kNZ][kNPhi][kNR], const Double_t ez[kNZ][kNPhi][kNR], Double_t &erValue, Double_t &ephiValue, Double_t &ezValue)
 
Double_t Interpolate2DTable (Int_t order, Double_t x, Double_t y, Int_t nx, Int_t ny, const Double_t xv[], const Double_t yv[], const TMatrixD &array)
 
Double_t Interpolate3DTable (Int_t order, Double_t x, Double_t y, Double_t z, Int_t nx, Int_t ny, Int_t nz, const Double_t xv[], const Double_t yv[], const Double_t zv[], TMatrixD **arrayofArrays)
 
Double_t Interpolate (const Double_t xArray[], const Double_t yArray[], Int_t order, Double_t x)
 
void Search (Int_t n, const Double_t xArray[], Double_t x, Int_t &low)
 
Float_t Interpolate2DTable (Int_t order, Double_t x, Double_t y, Int_t nx, Int_t ny, const Double_t xv[], const Double_t yv[], const TMatrixF &array)
 
Float_t Interpolate3DTable (Int_t order, Double_t x, Double_t y, Double_t z, Int_t nx, Int_t ny, Int_t nz, const Double_t xv[], const Double_t yv[], const Double_t zv[], TMatrixF **arrayofArrays)
 
Float_t Interpolate (const Double_t xArray[], const Float_t yArray[], Int_t order, Double_t x)
 
virtual Int_t IsPowerOfTwo (Int_t i) const
 
void PoissonRelaxation2D (TMatrixD &arrayV, TMatrixD &chargeDensity, TMatrixD &arrayErOverEz, TMatrixD &arrayDeltaEz, Int_t rows, Int_t columns, Int_t iterations, Bool_t rocDisplacement=kTRUE)
 
void PoissonRelaxation3D (TMatrixD **arrayofArrayV, TMatrixD **arrayofChargeDensities, TMatrixD **arrayofEroverEz, TMatrixD **arrayofEPhioverEz, TMatrixD **arrayofEz, Int_t rows, Int_t columns, Int_t phislices, Float_t deltaphi, Int_t iterations, Int_t summetry, Bool_t rocDisplacement=kTRUE)
 
void SetIsLocal (Bool_t isLocal)
 
Bool_t IsLocal () const
 
- Protected Attributes inherited from AliTPCCorrection
Double_t fgkRList [kNR]
 points in the radial direction (for the lookup table) More...
 
Double_t fgkPhiList [kNPhi]
 points in the phi direction (for the lookup table) More...
 
Double_t fgkZList [kNZ]
 points in the z direction (for the lookup table) More...
 
Int_t fILow
 
Int_t fJLow
 
Int_t fKLow
 variable to help in the interpolation More...
 
Double_t fT1
 tensor term of wt - T1 More...
 
Double_t fT2
 tensor term of wt - T2 More...
 
Bool_t fIsLocal
 switch to indicate that the distortion is a local vector drphi/dz, dr/dz More...
 
- Static Protected Attributes inherited from AliTPCCorrection
static const Double_t fgkTPCZ0 = 249.7
 nominal gating grid position More...
 
static const Double_t fgkIFCRadius = 83.5
 Mean Radius of the Inner Field Cage ( 82.43 min, 83.70 max) (cm) More...
 
static const Double_t fgkOFCRadius = 254.5
 Mean Radius of the Outer Field Cage (252.55 min, 256.45 max) (cm) More...
 
static const Double_t fgkZOffSet = 0.2
 Offset from CE: calculate all distortions closer to CE as if at this point. More...
 
static const Double_t fgkCathodeV = -100000.0
 Cathode Voltage (volts) More...
 
static const Double_t fgkGG = -70.0
 Gating Grid voltage (volts) More...
 
static const Double_t fgkdvdE = 0.0024
 [cm/V] drift velocity dependency on the E field (from Magboltz for NeCO2N2 at standard environment) More...
 
static const Double_t fgkEM = -1.602176487e-19/9.10938215e-31
 charge/mass in [C/kg] More...
 
static const Double_t fgke0 = 8.854187817e-12
 vacuum permittivity [A·s/(V·m)] More...
 
static TObjArrayfgVisualCorrection =0
 array of orrection for visualization More...
 

Detailed Description

The class calculates the space point distortions due to an arbitrary space charge distribution in 3D.

The method of calculation is based on the analytical solution for the Poisson problem in 3D (cylindrical coordinates). The solution is used in form of look up tables, where the pre calculated solutions for different voxel positions are stored. These voxel solutions can be summed up according to the weight of the position of the applied space charge distribution. Further details can be found in [chap].5]{PhD-thesis_S.Rossegger}.

The class also allows a simple scaling of the resulting distortions via the function SetCorrectionFactor. This speeds up the calculation time under the assumption, that the distortions scales linearly with the magnitude of the space charge distribution $(r,z)$ and the shape stays the same at higher luminosities.

In contrast to the implementation in 2D (see the class AliTPCSpaceCharge above), the input charge distribution can be of arbitrary character. An example on how to produce a corresponding charge distribution can be found in the function WriteChargeDistributionToFile. In there, a $(r,z) = (A-B\,z)/r^2$, with slightly different magnitude on the A and C side (due to the muon absorber), is superpositioned with a few leaking wires at arbitrary positions.

AliTPCSpaceCharge3D_cxx_2829f39.png
Picture from ROOT macro
Author
Stefan Rossegger
Date
19/06/2010

The method of calculation is based on the analytical solution for the Poisson problem in 3D (cylindrical coordinates). The solution is used in form of look up tables, where the pre calculated solutions for different voxel positions are stored. These voxel solutions can be summed up according to the weight of the position of the applied space charge distribution. Further details can be found in [chap].5]{PhD-thesis_S.Rossegger}.

The class also allows a simple scaling of the resulting distortions via the function SetCorrectionFactor. This speeds up the calculation time under the assumption, that the distortions scales linearly with the magnitude of the space charge distribution $(r,z)$ and the shape stays the same at higher luminosities.

In contrast to the implementation in 2D (see the class AliTPCSpaceChargeabove), the input charge distribution can be of arbitrary character. An example on how to produce a corresponding charge distribution can be found in the function WriteChargeDistributionToFile. In there, a $(r,z) = (A-B\,z)/r^2$, with slightly different magnitude on the A and C side (due to the muon absorber), is superpositioned with a few leaking wires at arbitrary positions.

Marian Ivanov change: 26.06.2013 Usage of the realy 3D space charge map as an optional input SetInputSpaceCharge map. In case given map is used 2 2D maps are ignored and scaling functions $(r,z) = (A-B\,z)/r^2$, will not work

AliTPCSpaceCharge3D_cxx_2829f39.png
Picture from ROOT macro
Author
Stefan Rossegger
Date
19/06/2010
Author
Stefan Rossegger, Marian Ivanov

Definition at line 14 of file AliTPCSpaceCharge3D.h.

Member Enumeration Documentation

anonymous enum
private
Enumerator
kNRows 

Definition at line 66 of file AliTPCSpaceCharge3D.h.

anonymous enum
private
Enumerator
kNPhiSlices 

Definition at line 67 of file AliTPCSpaceCharge3D.h.

anonymous enum
private
Enumerator
kNColumns 

Definition at line 68 of file AliTPCSpaceCharge3D.h.

Constructor & Destructor Documentation

AliTPCSpaceCharge3D::AliTPCSpaceCharge3D ( )

Definition at line 71 of file AliTPCSpaceCharge3D.cxx.

AliTPCSpaceCharge3D::~AliTPCSpaceCharge3D ( )
virtual

default destructor

Definition at line 120 of file AliTPCSpaceCharge3D.cxx.

AliTPCSpaceCharge3D::AliTPCSpaceCharge3D ( const AliTPCSpaceCharge3D )
private

Member Function Documentation

TH2F * AliTPCSpaceCharge3D::CreateHistoSCinXY ( Float_t  z,
Int_t  nx = 100,
Int_t  ny = 100 
)

return a simple histogramm containing the space charge distribution (input for the calculation)

Definition at line 1345 of file AliTPCSpaceCharge3D.cxx.

TH2F * AliTPCSpaceCharge3D::CreateHistoSCinZR ( Float_t  phi,
Int_t  nz = 100,
Int_t  nr = 100 
)

return a simple histogramm containing the space charge distribution (input for the calculation)

Definition at line 1371 of file AliTPCSpaceCharge3D.cxx.

void AliTPCSpaceCharge3D::ForceInitSpaceCharge3DDistortion ( )
inline

Definition at line 39 of file AliTPCSpaceCharge3D.h.

void AliTPCSpaceCharge3D::ForceInitSpaceCharge3DPoisson ( Int_t  kRows,
Int_t  kColumns,
Int_t  kPhiSlices,
Int_t  kIterations 
)
inline

Definition at line 42 of file AliTPCSpaceCharge3D.h.

Float_t AliTPCSpaceCharge3D::GetC0 ( ) const
inline

Definition at line 30 of file AliTPCSpaceCharge3D.h.

Float_t AliTPCSpaceCharge3D::GetC1 ( ) const
inline

Definition at line 31 of file AliTPCSpaceCharge3D.h.

void AliTPCSpaceCharge3D::GetCorrection ( const Float_t  x[],
const Short_t  roc,
Float_t  dx[] 
)
virtual

Calculates the correction due the Space Charge effect within the TPC drift volume

Reimplemented from AliTPCCorrection.

Definition at line 174 of file AliTPCSpaceCharge3D.cxx.

Float_t AliTPCSpaceCharge3D::GetCorrectionFactor ( ) const
inline

Definition at line 35 of file AliTPCSpaceCharge3D.h.

const TH3* AliTPCSpaceCharge3D::GetInputSpaceCharge3D ( )
inline

Definition at line 57 of file AliTPCSpaceCharge3D.h.

const TH2* AliTPCSpaceCharge3D::GetInputSpaceChargeRPhi ( )
inline

Definition at line 58 of file AliTPCSpaceCharge3D.h.

const TH2* AliTPCSpaceCharge3D::GetInputSpaceChargeRZ ( )
inline

Definition at line 59 of file AliTPCSpaceCharge3D.h.

Float_t AliTPCSpaceCharge3D::GetSpaceChargeDensity ( Float_t  r,
Float_t  phi,
Float_t  z 
)

returns the (input) space charge density at a given point according Note: input in [cm], output in [C/m^3/e0] !!

Definition at line 1327 of file AliTPCSpaceCharge3D.cxx.

Referenced by CreateHistoSCinXY(), CreateHistoSCinZR(), InitSpaceCharge3DDistortion(), and InitSpaceCharge3DDistortionCourse().

void AliTPCSpaceCharge3D::Init ( )
virtual

Initialization funtion

Reimplemented from AliTPCCorrection.

Definition at line 138 of file AliTPCSpaceCharge3D.cxx.

void AliTPCSpaceCharge3D::InitSpaceCharge3DDistortion ( )

Initialization of the Lookup table which contains the solutions of the "space charge" (poisson) problem - Faster and more accureate

Method: Weighted sum-up of the different fields within the look up table but using two lookup tables with higher granularity in the (r,z) and the (rphi)- plane to emulate more realistic space charges. (r,z) from primary ionisation. (rphi) for possible Gating leaks

Definition at line 228 of file AliTPCSpaceCharge3D.cxx.

Referenced by ForceInitSpaceCharge3DDistortion(), GetCorrection(), and Init().

void AliTPCSpaceCharge3D::InitSpaceCharge3DDistortionCourse ( )

Initialization of the Lookup table which contains the solutions of the "space charge" (poisson) problem

The sum-up uses a look-up table which contains different discretized Space charge fields in order to calculate the corresponding field deviations due to a given (discretized) space charge distribution ....

Method of calculation: Weighted sum-up of the different fields within the look up table Note: Full 3d version: Course and slow ...

Definition at line 884 of file AliTPCSpaceCharge3D.cxx.

void AliTPCSpaceCharge3D::InitSpaceCharge3DPoisson ( Int_t  kRows,
Int_t  kColumns,
Int_t  kPhiSlices,
Int_t  kIterations 
)

MI extension - calculate E field

  • inspired by AliTPCROCVoltError3D::InitROCVoltError3D() Initialization of the Lookup table which contains the solutions of the Dirichlet boundary problem Calculation of the single 3D-Poisson solver is done just if needed (see basic lookup tables in header file)

Definition at line 1522 of file AliTPCSpaceCharge3D.cxx.

Referenced by ForceInitSpaceCharge3DPoisson().

AliTPCSpaceCharge3D& AliTPCSpaceCharge3D::operator= ( const AliTPCSpaceCharge3D )
private
void AliTPCSpaceCharge3D::Print ( const Option_t *  option = "") const
virtual

Print function to check the settings of the boundary vectors option=="a" prints the C0 and C1 coefficents for calibration purposes

Definition at line 1502 of file AliTPCSpaceCharge3D.cxx.

void AliTPCSpaceCharge3D::SetC0C1 ( Float_t  c0,
Float_t  c1 
)
inline

Definition at line 29 of file AliTPCSpaceCharge3D.h.

void AliTPCSpaceCharge3D::SetCorrectionFactor ( Float_t  correctionFactor)
inline

Definition at line 34 of file AliTPCSpaceCharge3D.h.

void AliTPCSpaceCharge3D::SetInputSpaceCharge ( TH3 *  hisSpaceCharge3D,
Double_t  norm 
)

Use 3D space charge map as an optional input The layout of the input histogram is assumed to be: (phi,r,z) Density histogram is expreseed is expected to bin in C/m^3

Standard histogram interpolation is used in order to use the density at center of voxel

Definition at line 1290 of file AliTPCSpaceCharge3D.cxx.

Referenced by SetInputSpaceCharge3D().

void AliTPCSpaceCharge3D::SetInputSpaceCharge3D ( TH3 *  hisSpaceCharge3D)
inline

Definition at line 55 of file AliTPCSpaceCharge3D.h.

virtual void AliTPCSpaceCharge3D::SetOmegaTauT1T2 ( Float_t  omegaTau,
Float_t  t1,
Float_t  t2 
)
inlinevirtual

Reimplemented from AliTPCCorrection.

Definition at line 24 of file AliTPCSpaceCharge3D.h.

Referenced by Init(), and Update().

void AliTPCSpaceCharge3D::Update ( const TTimeStamp &  timeStamp)
virtual

Update function

Reimplemented from AliTPCCorrection.

Definition at line 155 of file AliTPCSpaceCharge3D.cxx.

void AliTPCSpaceCharge3D::WriteChargeDistributionToFile ( const char *  fname = "SC-Alice.root")

Example on how to write a Space charge distribution into a File (see below: estimate from scaling STAR measurements to Alice) Charge distribution is splitted into two (RZ and RPHI) in order to speed up the needed calculation time

Definition at line 1389 of file AliTPCSpaceCharge3D.cxx.

Member Data Documentation

Float_t AliTPCSpaceCharge3D::fC0
private

coefficient C0 (compare Jim Thomas's notes for definitions)

Definition at line 73 of file AliTPCSpaceCharge3D.h.

Referenced by GetC0(), GetCorrection(), Print(), SetC0C1(), and SetOmegaTauT1T2().

Float_t AliTPCSpaceCharge3D::fC1
private

coefficient C1 (compare Jim Thomas's notes for definitions)

Definition at line 74 of file AliTPCSpaceCharge3D.h.

Referenced by GetC1(), GetCorrection(), Print(), SetC0C1(), and SetOmegaTauT1T2().

Float_t AliTPCSpaceCharge3D::fCorrectionFactor
private

Space Charge Correction factor in comparison to initialized.

Definition at line 75 of file AliTPCSpaceCharge3D.h.

Referenced by GetCorrection(), GetCorrectionFactor(), Print(), and SetCorrectionFactor().

Bool_t AliTPCSpaceCharge3D::fInitLookUp
private
TMatrixF* AliTPCSpaceCharge3D::fLookUpDeltaEz[kNPhi]
private

Array to store electric field integral (int Er/Ez)

Definition at line 83 of file AliTPCSpaceCharge3D.h.

Referenced by GetCorrection(), InitSpaceCharge3DDistortion(), InitSpaceCharge3DDistortionCourse(), InitSpaceCharge3DPoisson(), and ~AliTPCSpaceCharge3D().

TMatrixF* AliTPCSpaceCharge3D::fLookUpEphiOverEz[kNPhi]
private

Array to store electric field integral (int Er/Ez)

Definition at line 82 of file AliTPCSpaceCharge3D.h.

Referenced by GetCorrection(), InitSpaceCharge3DDistortion(), InitSpaceCharge3DDistortionCourse(), InitSpaceCharge3DPoisson(), and ~AliTPCSpaceCharge3D().

TMatrixF* AliTPCSpaceCharge3D::fLookUpErOverEz[kNPhi]
private

Array to store electric field integral (int Er/Ez)

Definition at line 81 of file AliTPCSpaceCharge3D.h.

Referenced by GetCorrection(), InitSpaceCharge3DDistortion(), InitSpaceCharge3DDistortionCourse(), InitSpaceCharge3DPoisson(), and ~AliTPCSpaceCharge3D().

TString AliTPCSpaceCharge3D::fSCDataFileName
private

file which contains the space charge distribution

Definition at line 85 of file AliTPCSpaceCharge3D.h.

TMatrixF* AliTPCSpaceCharge3D::fSCdensityDistribution[kNPhi]
private

3D space charge distribution

Definition at line 91 of file AliTPCSpaceCharge3D.h.

Referenced by GetSpaceChargeDensity(), SetInputSpaceCharge(), and ~AliTPCSpaceCharge3D().

TMatrixD* AliTPCSpaceCharge3D::fSCdensityInRPhiA
private

(r,phi) space charge distribution

Definition at line 93 of file AliTPCSpaceCharge3D.h.

Referenced by ~AliTPCSpaceCharge3D().

TMatrixD* AliTPCSpaceCharge3D::fSCdensityInRPhiC
private

(r,phi) space charge distribution

Definition at line 94 of file AliTPCSpaceCharge3D.h.

Referenced by ~AliTPCSpaceCharge3D().

TMatrixD* AliTPCSpaceCharge3D::fSCdensityInRZ
private

(r,z) space charge distribution

Definition at line 92 of file AliTPCSpaceCharge3D.h.

Referenced by ~AliTPCSpaceCharge3D().

TString AliTPCSpaceCharge3D::fSCLookUpPOCsFileName3D
private

filename of the precalculated lookup tables (for individual voxels)

Definition at line 86 of file AliTPCSpaceCharge3D.h.

Referenced by InitSpaceCharge3DDistortionCourse().

TString AliTPCSpaceCharge3D::fSCLookUpPOCsFileNameRPhi
private

filename of the precalculated lookup tables (for individual voxels)

Definition at line 88 of file AliTPCSpaceCharge3D.h.

Referenced by InitSpaceCharge3DDistortion().

TString AliTPCSpaceCharge3D::fSCLookUpPOCsFileNameRZ
private

filename of the precalculated lookup tables (for individual voxels)

Definition at line 87 of file AliTPCSpaceCharge3D.h.

Referenced by InitSpaceCharge3DDistortion().

TH3* AliTPCSpaceCharge3D::fSpaceChargeHistogram3D
private

Histogram with the input space charge histogram - used as an optional input.

Definition at line 95 of file AliTPCSpaceCharge3D.h.

Referenced by GetInputSpaceCharge3D(), InitSpaceCharge3DPoisson(), SetInputSpaceCharge(), and ~AliTPCSpaceCharge3D().

TH2* AliTPCSpaceCharge3D::fSpaceChargeHistogramRPhi
private

Histogram with the input space charge histogram - used as an optional input.

Definition at line 96 of file AliTPCSpaceCharge3D.h.

Referenced by GetInputSpaceChargeRPhi(), and ~AliTPCSpaceCharge3D().

TH2* AliTPCSpaceCharge3D::fSpaceChargeHistogramRZ
private

Histogram with the input space charge histogram - used as an optional input

Definition at line 97 of file AliTPCSpaceCharge3D.h.

Referenced by GetInputSpaceChargeRZ(), and ~AliTPCSpaceCharge3D().


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