ROOT logo
AliRoot » TPC » BASE » AliTPCExBTwist

class AliTPCExBTwist: public AliTPCCorrection

Function Members (Methods)

public:
AliTPCExBTwist()
virtual~AliTPCExBTwist()
voidTObject::AbstractMethod(const char* method) const
virtual Bool_tAddCorrectionCompact(AliTPCCorrection* corr, Double_t weight)
static voidAliTPCCorrection::AddVisualCorrection(AliTPCCorrection* corr, Int_t position)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
voidAliTPCCorrection::CorrectPoint(Float_t* x, Short_t roc)
voidAliTPCCorrection::CorrectPoint(const Float_t* x, Short_t roc, Float_t* xp)
voidAliTPCCorrection::CorrectPointLocal(Float_t* x, Short_t roc)
TTree*AliTPCCorrection::CreateDistortionTree(Double_t step = 5)
TH2F*AliTPCCorrection::CreateHistoDRinXY(Float_t z = 10., Int_t nx = 100, Int_t ny = 100)
TH2F*AliTPCCorrection::CreateHistoDRinZR(Float_t phi = 0., Int_t nZ = 100, Int_t nR = 100)
TH2F*AliTPCCorrection::CreateHistoDRPhiinXY(Float_t z = 10., Int_t nx = 100, Int_t nphi = 100)
TH2F*AliTPCCorrection::CreateHistoDRPhiinZR(Float_t phi = 0., Int_t nZ = 100, Int_t nR = 100)
TH2F*AliTPCCorrection::CreateHistoDZinXY(Float_t z = 10., Int_t nx = 100, Int_t ny = 100)
TH2F*AliTPCCorrection::CreateHistoDZinZR(Float_t phi = 0., Int_t nZ = 100, Int_t nR = 100)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
voidAliTPCCorrection::DistortPoint(Float_t* x, Short_t roc)
voidAliTPCCorrection::DistortPoint(const Float_t* x, Short_t roc, Float_t* xp)
voidAliTPCCorrection::DistortPointLocal(Float_t* x, Short_t roc)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
voidAliTPCCorrection::FastSimDistortedVertex(Double_t* orgVertex, Int_t nTracks, AliESDVertex& aV, AliESDVertex& avOrg, AliESDVertex& cV, AliESDVertex& cvOrg, TTreeSRedirector *const pcstream, Double_t etaCuts)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
AliExternalTrackParam*AliTPCCorrection::FitDistortedTrack(AliExternalTrackParam& trackIn, Double_t refX, Int_t dir, TTreeSRedirector* pcstream)
Float_tGetC1() const
Float_tGetC2() const
virtual voidAliTPCCorrection::GetCorrectionDz(const Float_t* x, Short_t roc, Float_t* dx, Float_t delta)
virtual voidAliTPCCorrection::GetCorrectionIntegralDz(const Float_t* x, Short_t roc, Float_t* dx, Float_t delta)
virtual Float_tAliTPCCorrection::GetCorrScaleFactor() const
static Double_tAliTPCCorrection::GetCorrSector(Double_t sector, Double_t r, Double_t kZ, Int_t axisType, Int_t corrType = 0)
static Double_tAliTPCCorrection::GetCorrXYZ(Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType = 0)
static Double_tAliTPCCorrection::GetCorrXYZDz(Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType = 0, Double_t delta = 5)
static Double_tAliTPCCorrection::GetCorrXYZIntegrateZ(Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType = 0, Double_t delta = 5)
virtual voidAliTPCCorrection::GetDistortion(const Float_t* x, Short_t roc, Float_t* dx)
virtual voidAliTPCCorrection::GetDistortionDz(const Float_t* x, Short_t roc, Float_t* dx, Float_t delta)
virtual voidAliTPCCorrection::GetDistortionIntegralDz(const Float_t* x, Short_t roc, Float_t* dx, Float_t delta)
static Double_tAliTPCCorrection::GetDistXYZ(Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType = 0)
static Double_tAliTPCCorrection::GetDistXYZDz(Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType = 0, Double_t delta = 5)
static Double_tAliTPCCorrection::GetDistXYZIntegrateZ(Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType = 0, Double_t delta = 5)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
static AliTPCCorrection*AliTPCCorrection::GetVisualCorrection(Int_t position)
Float_tGetXTwist() const
Float_tGetYTwist() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidInit()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
static voidAliTPCCorrection::MakeDistortionMap(THnSparse* his0, TTreeSRedirector* pcstream, const char* hname, Int_t run, Float_t refX, Int_t type, Int_t integ = 1)
static voidAliTPCCorrection::MakeDistortionMapCosmic(THnSparse* his0, TTreeSRedirector* pcstream, const char* hname, Int_t run, Float_t refX, Int_t type)
static voidAliTPCCorrection::MakeDistortionMapSector(THnSparse* his0, TTreeSRedirector* pcstream, const char* hname, Int_t run, Int_t type)
static voidAliTPCCorrection::MakeLaserDistortionTree(TTree* tree, TObjArray* corrArray, Int_t itype)
static voidAliTPCCorrection::MakeLaserDistortionTreeOld(TTree* tree, TObjArray* corrArray, Int_t itype)
static voidAliTPCCorrection::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 voidAliTPCCorrection::MakeTrackDistortionTree(TTree* tinput, Int_t dtype, Int_t ptype, const TObjArray* corrArray, Int_t step = 1, Int_t offset = 0, Bool_t debug = 0)
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TNamed&TNamed::operator=(const TNamed& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetC1C2(Float_t c1, Float_t c2)
virtual voidAliTPCCorrection::SetCorrScaleFactor(Float_t)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetOmegaTauT1T2(Float_t omegaTau, Float_t t1, Float_t t2)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetXTwist(Float_t xTwist)
voidSetYTwist(Float_t yTwist)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
voidAliTPCCorrection::StoreInOCDB(Int_t startRun, Int_t endRun, const char* comment = 0)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidUpdate(const TTimeStamp& timeStamp)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
TH2F*AliTPCCorrection::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)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidGetCorrection(const Float_t* x, const Short_t roc, Float_t* dx)
Double_tAliTPCCorrection::Interpolate(const Double_t* xArray, const Double_t* yArray, Int_t order, Double_t x)
Float_tAliTPCCorrection::Interpolate(const Double_t* xArray, const Float_t* yArray, Int_t order, Double_t x)
voidAliTPCCorrection::Interpolate2DEdistortion(Int_t order, Double_t r, Double_t z, const Double_t er[][kNR], Double_t& erValue)
Double_tAliTPCCorrection::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)
Float_tAliTPCCorrection::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)
voidAliTPCCorrection::Interpolate3DEdistortion(Int_t order, Double_t r, Float_t phi, Double_t z, const Double_t er[][kNPhi][kNR], const Double_t ephi[][kNPhi][kNR], const Double_t ez[][kNPhi][kNR], Double_t& erValue, Double_t& ephiValue, Double_t& ezValue)
Double_tAliTPCCorrection::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)
Float_tAliTPCCorrection::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)
Bool_tAliTPCCorrection::IsLocal() const
virtual Int_tAliTPCCorrection::IsPowerOfTwo(Int_t i) const
voidTObject::MakeZombie()
voidAliTPCCorrection::PoissonRelaxation2D(TMatrixD& arrayV, TMatrixD& chargeDensity, TMatrixD& arrayErOverEz, TMatrixD& arrayDeltaEz, Int_t rows, Int_t columns, Int_t iterations, Bool_t rocDisplacement = kTRUE)
voidAliTPCCorrection::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)
voidAliTPCCorrection::Search(Int_t n, const Double_t* xArray, Double_t x, Int_t& low)
voidAliTPCCorrection::SetIsLocal(Bool_t isLocal)

Data Members

public:
enum AliTPCCorrection::CompositionType { kParallel
kQueue
};
enum AliTPCCorrection::[unnamed] { kNR
kNPhi
kNZ
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Int_tAliTPCCorrection::fILow
Bool_tAliTPCCorrection::fIsLocalswitch to indicate that the distortion is a local vector drphi/dz, dr/dz
Int_tAliTPCCorrection::fJLow
Int_tAliTPCCorrection::fKLowvariable to help in the interpolation
TStringTNamed::fNameobject identifier
Double_tAliTPCCorrection::fT1tensor term of wt - T1
Double_tAliTPCCorrection::fT2tensor term of wt - T2
TStringTNamed::fTitleobject title
static TObjArray*AliTPCCorrection::fgVisualCorrectionarray of orrection for visualization
static const Double_tAliTPCCorrection::fgkCathodeVCathode Voltage (volts)
static const Double_tAliTPCCorrection::fgkEMcharge/mass in [C/kg]
static const Double_tAliTPCCorrection::fgkGGGating Grid voltage (volts)
static const Double_tAliTPCCorrection::fgkIFCRadiusMean Radius of the Inner Field Cage ( 82.43 min, 83.70 max) (cm)
static const Double_tAliTPCCorrection::fgkOFCRadiusMean Radius of the Outer Field Cage (252.55 min, 256.45 max) (cm)
Double_tAliTPCCorrection::fgkPhiList[181]points in the phi direction (for the lookup table)
Double_tAliTPCCorrection::fgkRList[72]points in the radial direction (for the lookup table)
static const Double_tAliTPCCorrection::fgkTPCZ0nominal gating grid position
Double_tAliTPCCorrection::fgkZList[166]points in the z direction (for the lookup table)
static const Double_tAliTPCCorrection::fgkZOffSetOffset from CE: calculate all distortions closer to CE as if at this point
static const Double_tAliTPCCorrection::fgkdvdE[cm/V] drift velocity dependency on the E field (from Magboltz for NeCO2N2 at standard environment)
static const Double_tAliTPCCorrection::fgke0vacuum permittivity [A·s/(V·m)]
private:
Float_tfC1coefficient C1 (compare Jim Thomas's notes for definitions)
Float_tfC2coefficient C2 (compare Jim Thomas's notes for definitions)
Float_tfXTwistTwist of E to B field in X-Z [rad]
Float_tfYTwistTwist of E to B field in Y-Z [rad]

Class Charts

Inheritance Chart:
TNamed
AliTPCCorrection
AliTPCExBTwist

Function documentation

AliTPCExBTwist()
 default constructor

~AliTPCExBTwist()
 default destructor

Bool_t AddCorrectionCompact(AliTPCCorrection* corr, Double_t weight)
 Add correction  and make them compact
 Assumptions:
  - origin of distortion/correction are additive
  - only correction ot the same type supported ()
void Init()
 Initialization funtion

void Update(const TTimeStamp& timeStamp)
 Update function

void GetCorrection(const Float_t* x, const Short_t roc, Float_t* dx)
 Calculates the correction of a mismatch between the E and B field axis

void Print(Option_t* option = "") const
 Print function to check the settings (e.g. the twist in the X direction)
 option=="a" prints the C0 and C1 coefficents for calibration purposes

void SetOmegaTauT1T2(Float_t omegaTau, Float_t t1, Float_t t2)
 common setters and getters for ExB
void SetC1C2(Float_t c1, Float_t c2)
{fC1=c1;fC2=c2;}
Float_t GetC1() const
{return fC1;}
Float_t GetC2() const
{return fC2;}
void SetXTwist(Float_t xTwist)
 setters and getters for twist
{fXTwist=xTwist;}
void SetYTwist(Float_t yTwist)
{fYTwist=yTwist;}
Float_t GetXTwist() const
{return fXTwist;}
Float_t GetYTwist() const
{return fYTwist;}