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

Abstract class for ExB effect parameterization. More...

#include <AliTPCExB.h>

Inheritance diagram for AliTPCExB:

Public Member Functions

 AliTPCExB ()
 
AliTPCExBoperator= (const AliTPCExB &exb)
 
 AliTPCExB (const AliTPCExB &exb)
 
virtual ~AliTPCExB ()
 
virtual void Correct (const Double_t *position, Double_t *corrected)=0
 
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)
 

Static Public Member Functions

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 AliTPCExBInstance ()
 
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)
 

Private Attributes

TVectorD * fMatBrBz
 param matrix Br/Bz More...
 
TVectorD * fMatBrfiBz
 param matrix Br/Bz More...
 
TVectorD * fMatBrBzI0
 param matrix Br/Bz integral z>0 More...
 
TVectorD * fMatBrBzI1
 param matrix Br/Bz integral z<0 More...
 
TVectorD * fMatBrfiBzI0
 param matrix Br/Bz integral z>0 More...
 
TVectorD * fMatBrfiBzI1
 param matrix Br/Bz integral z<0 More...
 

Static Private Attributes

static AliTPCExBfgInstance = 0
 ! Instance of this class (singleton implementation) More...
 
static TObjArray fgArray
 ! array of magnetic fields More...
 

Detailed Description

Abstract class for ExB effect parameterization.

The ExB correction map is stored in the calib DB The lookup can be dumped to the tree:

char *storage = "local://OCDBres"
Int_t RunNumber=0;
AliCDBManager::Instance()->SetDefaultStorage(storage);
AliCDBManager::Instance()->SetRun(RunNumber)
// See example macro $ALICE_ROOT/TPC/macros/AliTPCExBdraw.C
.L $ALICE_ROOT/TPC/macros/AliTPCExBdraw.C
Draw(0)

Definition at line 10 of file AliTPCExB.h.

Constructor & Destructor Documentation

AliTPCExB::AliTPCExB ( )

Definition at line 38 of file AliTPCExB.cxx.

AliTPCExB::AliTPCExB ( const AliTPCExB exb)

copy constructor

Definition at line 52 of file AliTPCExB.cxx.

virtual AliTPCExB::~AliTPCExB ( )
inlinevirtual

Definition at line 15 of file AliTPCExB.h.

Member Function Documentation

virtual void AliTPCExB::Correct ( const Double_t *  position,
Double_t *  corrected 
)
pure virtual
virtual void AliTPCExB::CorrectInverse ( const Double_t *  position,
Double_t *  corrected 
)
inlinevirtual

Definition at line 17 of file AliTPCExB.h.

Double_t AliTPCExB::Eval ( Int_t  type,
Double_t  r,
Double_t  phi,
Double_t  z 
)

Evaluate parameterization

br integral param

Definition at line 374 of file AliTPCExB.cxx.

Referenced by SEval().

Double_t AliTPCExB::EvalMat ( const TVectorD &  vec,
Double_t  r,
Double_t  phi,
Double_t  z 
)
static

Evaluate taylor expansion in r,phi,z

Variables:

tree->SetAlias("sa","sin(phi+0.0)");
tree->SetAlias("ca","cos(phi+0.0)");
tree->SetAlias("sa2","sin(phi*2+0.0)");
tree->SetAlias("ca2","cos(phi*2+0.0)");
tree->SetAlias("zn","(x2/250.)");
tree->SetAlias("rn","(r/250.)")
TString fstringSym="";
fstringSym+="zn++";
fstringSym+="rn++";
fstringSym+="zn*rn++";
fstringSym+="zn*zn++";
fstringSym+="zn*zn*rn++";
fstringSym+="zn*rn*rn++";
fstringSym+="sa++";
fstringSym+="ca++";
fstringSym+="ca2++";
fstringSym+="sa2++";
fstringSym+="ca*zn++";
fstringSym+="sa*zn++";
fstringSym+="ca2*zn++";
fstringSym+="sa2*zn++";
fstringSym+="ca*zn*zn++";
fstringSym+="sa*zn*zn++";
fstringSym+="ca*zn*rn++";
fstringSym+="sa*zn*rn++";

Definition at line 396 of file AliTPCExB.cxx.

Referenced by Eval().

Double_t AliTPCExB::GetBr ( Double_t  r,
Double_t  phi,
Double_t  z,
Int_t  index = 0 
)
static

Definition at line 261 of file AliTPCExB.cxx.

Referenced by GetBrI(), and TestExB().

Double_t AliTPCExB::GetBrfi ( Double_t  r,
Double_t  phi,
Double_t  z,
Int_t  index = 0 
)
static

Definition at line 275 of file AliTPCExB.cxx.

Referenced by GetBrfiI(), and TestExB().

Double_t AliTPCExB::GetBrfiI ( Double_t  r,
Double_t  phi,
Double_t  z,
Int_t  index = 0 
)
static

Definition at line 357 of file AliTPCExB.cxx.

Referenced by TestExB().

Double_t AliTPCExB::GetBrI ( Double_t  r,
Double_t  phi,
Double_t  z,
Int_t  index = 0 
)
static

Definition at line 341 of file AliTPCExB.cxx.

Referenced by TestExB().

Double_t AliTPCExB::GetBx ( Double_t  r,
Double_t  phi,
Double_t  z,
Int_t  index = 0 
)
static

Definition at line 223 of file AliTPCExB.cxx.

Referenced by GetBxI(), and TestExB().

Double_t AliTPCExB::GetBxI ( Double_t  r,
Double_t  phi,
Double_t  z,
Int_t  index = 0 
)
static

Definition at line 292 of file AliTPCExB.cxx.

Referenced by TestExB().

Double_t AliTPCExB::GetBy ( Double_t  r,
Double_t  phi,
Double_t  z,
Int_t  index = 0 
)
static

Definition at line 235 of file AliTPCExB.cxx.

Referenced by GetByI(), and TestExB().

Double_t AliTPCExB::GetByI ( Double_t  r,
Double_t  phi,
Double_t  z,
Int_t  index = 0 
)
static

Definition at line 308 of file AliTPCExB.cxx.

Referenced by TestExB().

Double_t AliTPCExB::GetBz ( Double_t  r,
Double_t  phi,
Double_t  z,
Int_t  index = 0 
)
static

Definition at line 247 of file AliTPCExB.cxx.

Referenced by GetBrfiI(), GetBrI(), GetBxI(), GetByI(), GetBzI(), and TestExB().

Double_t AliTPCExB::GetBzI ( Double_t  r,
Double_t  phi,
Double_t  z,
Int_t  index = 0 
)
static

Definition at line 324 of file AliTPCExB.cxx.

Referenced by TestExB().

Double_t AliTPCExB::GetDphi ( Double_t  r,
Double_t  phi,
Double_t  z,
Double_t  bz = 5 
)
static

Definition at line 181 of file AliTPCExB.cxx.

Double_t AliTPCExB::GetDr ( Double_t  r,
Double_t  phi,
Double_t  z,
Double_t  bz = 5 
)
static

Static function Posibble to us it for visualization

Definition at line 145 of file AliTPCExB.cxx.

Double_t AliTPCExB::GetDrphi ( Double_t  r,
Double_t  phi,
Double_t  z,
Double_t  bz = 5 
)
static

Definition at line 164 of file AliTPCExB.cxx.

Double_t AliTPCExB::GetDz ( Double_t  r,
Double_t  phi,
Double_t  z,
Double_t  bz = 5 
)
static

Definition at line 195 of file AliTPCExB.cxx.

static AliTPCExB* AliTPCExB::Instance ( )
inlinestatic

Definition at line 30 of file AliTPCExB.h.

Referenced by GetDphi(), GetDr(), GetDrphi(), GetDz(), and SEval().

AliTPCExB & AliTPCExB::operator= ( const AliTPCExB exb)

Dummy assignment

Definition at line 65 of file AliTPCExB.cxx.

void AliTPCExB::RegisterField ( Int_t  index,
AliMagF *  magf 
)
static

add the filed to the list

Definition at line 215 of file AliTPCExB.cxx.

Referenced by AliTPCcalibDB::RegisterExB().

static void AliTPCExB::SetInstance ( AliTPCExB *const  param)
inlinestatic
Double_t AliTPCExB::SEval ( Int_t  type,
Double_t  r,
Double_t  phi,
Double_t  z 
)
inline

Definition at line 50 of file AliTPCExB.h.

void AliTPCExB::TestExB ( const char *  fileName)

Test ExB - Dump the filed and corrections to the tree in file fileName

Definition at line 75 of file AliTPCExB.cxx.

Member Data Documentation

TObjArray AliTPCExB::fgArray
staticprivate

! array of magnetic fields

Definition at line 62 of file AliTPCExB.h.

Referenced by GetBr(), GetBrfi(), GetBx(), GetBy(), GetBz(), and RegisterField().

AliTPCExB * AliTPCExB::fgInstance = 0
staticprivate

! Instance of this class (singleton implementation)

Definition at line 61 of file AliTPCExB.h.

Referenced by Instance(), and SetInstance().

TVectorD* AliTPCExB::fMatBrBz
private

param matrix Br/Bz

Definition at line 54 of file AliTPCExB.h.

Referenced by Eval().

TVectorD* AliTPCExB::fMatBrBzI0
private

param matrix Br/Bz integral z>0

Definition at line 56 of file AliTPCExB.h.

Referenced by Eval().

TVectorD* AliTPCExB::fMatBrBzI1
private

param matrix Br/Bz integral z<0

Definition at line 57 of file AliTPCExB.h.

Referenced by Eval().

TVectorD* AliTPCExB::fMatBrfiBz
private

param matrix Br/Bz

Definition at line 55 of file AliTPCExB.h.

Referenced by Eval().

TVectorD* AliTPCExB::fMatBrfiBzI0
private

param matrix Br/Bz integral z>0

Definition at line 58 of file AliTPCExB.h.

Referenced by Eval().

TVectorD* AliTPCExB::fMatBrfiBzI1
private

param matrix Br/Bz integral z<0

Definition at line 59 of file AliTPCExB.h.

Referenced by Eval().


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