ROOT logo
AliRoot » STEER » STEERBASE » AliMagF

class AliMagF: public TVirtualMagField

Function Members (Methods)

public:
AliMagF()
AliMagF(const AliMagF& src)
AliMagF(const char* name, const char* title, Double_t factorSol = 1., Double_t factorDip = 1., AliMagF::BMap_t maptype = k5kG, AliMagF::BeamType_t btype = kBeamTypepp, Double_t benergy = -1, Int_t integ = 2, Double_t fmax = 15, const char* path = "$(ALICE_ROOT)/data/maps/mfchebKGI_sym.root")
virtual~AliMagF()
voidTObject::AbstractMethod(const char* method) const
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
static AliMagF*CreateFieldMap(Float_t l3Current = -30000., Float_t diCurrent = -6000., Int_t convention = 0, Bool_t uniform = kFALSE, Float_t beamenergy = 7000, const Char_t* btype = "pp", const Char_t* path = "$(ALICE_ROOT)/data/maps/mfchebKGI_sym.root")
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
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)
Double_tFactor() const
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidField(const Double_t* x, Double_t* b)
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tGetBeamEnergy() const
AliMagF::BeamType_tGetBeamType() const
const char*GetBeamTypeText() const
Double_tGetBz(const Double_t* xyz) const
Double_tGetCurrentDip() const
Double_tGetCurrentSol() const
Char_t*GetDataFileName() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Double_tGetFactorDip() const
Double_tGetFactorSol() const
virtual const char*TObject::GetIconName() const
AliMagF::BMap_tGetMapType() const
AliMagWrapCheb*GetMeasuredMap() 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
Char_t*GetParamName() const
static Int_tGetPolarityConvention()
virtual const char*TNamed::GetTitle() const
voidGetTPCInt(const Double_t* xyz, Double_t* b) const
voidGetTPCIntCyl(const Double_t* rphiz, Double_t* b) const
voidGetTPCRatInt(const Double_t* xyz, Double_t* b) const
voidGetTPCRatIntCyl(const Double_t* rphiz, Double_t* b) const
virtual UInt_tTObject::GetUniqueID() 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 voidTObject::Inspect() constMENU
Int_tInteg() const
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_tIsUniform() const
Bool_tTObject::IsZombie() const
Bool_tLoadParameterization()
virtual voidTNamed::ls(Option_t* option = "") const
voidMachineField(const Double_t* x, Double_t* b) const
Double_tMax() const
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)
AliMagF&operator=(const AliMagF& src)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
Int_tPrecInteg() const
virtual voidPrint(Option_t* opt) 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)
voidSetDataFileName(const Char_t* nm)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetFactorDip(Float_t fc = 1.)
voidSetFactorSol(Float_t fc = 1.)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetParamName(const Char_t* nm)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
Double_tSolenoidField() const
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 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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidInitMachineField(AliMagF::BeamType_t btype, Double_t benergy)
voidTObject::MakeZombie()
voidSetBeamEnergy(Float_t energy)
voidSetBeamType(AliMagF::BeamType_t type)

Data Members

public:
enum BMap_t { k2kG
k5kG
k5kGUniform
};
enum BeamType_t { kNoBeamField
kBeamTypepp
kBeamTypeAA
kBeamTypepA
kBeamTypeAp
};
enum PolarityConvention_t { kConvLHC
kConvDCS2008
kConvMap2005
};
enum { kOverrideGRP
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Double_tfACorr1FieldSide A 1st compensator field
Double_tfACorr2FieldSide A 2nd compensator field
Double_tfBeamEnergyBeam energy in GeV
AliMagF::BeamType_tfBeamTypeBeam type: A-A (fBeamType=0) or p-p (fBeamType=1)
Double_tfCCorrFieldSide C 2nd compensator field
Double_tfDipoleFieldField value for D1 and D2 dipoles
Bool_tfDipoleOFFDipole ON/OFF flag
Double_tfFactorDipMultiplicative factor for dipole
Double_tfFactorSolMultiplicative factor for solenoid
Int_tfIntegDefault integration method as indicated in Geant
AliMagF::BMap_tfMapTypefield map type
Double_tfMaxMax Field as indicated in Geant
AliMagWrapCheb*fMeasuredMap! Measured part of the field map
TStringTNamed::fNameobject identifier
TNamedfParNamesfile and parameterization loadad
Int_tfPrecIntegAlternative integration method, e.g. for higher precision
Double_tfQuadGradientGradient field for inner triplet quadrupoles
Double_tfSolenoidSolenoid field setting
TStringTNamed::fTitleobject title
static const UShort_tfgkPolarityConventionconvention for the mapping of the curr.sign on main component sign
static const Double_tfgkSol2DipZconventional Z of transition from L3 to Dipole field

Class Charts

Inheritance Chart:
TVirtualMagField
AliMagF

Function documentation

AliMagF()

 Default constructor

AliMagF(const char* name, const char* title, Double_t factorSol = 1., Double_t factorDip = 1., AliMagF::BMap_t maptype = k5kG, AliMagF::BeamType_t btype = kBeamTypepp, Double_t benergy = -1, Int_t integ = 2, Double_t fmax = 15, const char* path = "$(ALICE_ROOT)/data/maps/mfchebKGI_sym.root")

 Initialize the field with Geant integration option "integ" and max field "fmax,
 Impose scaling of parameterized L3 field by factorSol and of dipole by factorDip.
 The "be" is the energy of the beam in GeV/nucleon

AliMagF(const AliMagF& src)
~AliMagF()
Bool_t LoadParameterization()
void Field(const Double_t* x, Double_t* b)
 Method to calculate the field at point  xyz

  b[0]=b[1]=b[2]=0.0;
Double_t GetBz(const Double_t* xyz) const
 Method to calculate the field at point  xyz

AliMagF& operator=(const AliMagF& src)
void InitMachineField(AliMagF::BeamType_t btype, Double_t benergy)
void MachineField(const Double_t* x, Double_t* b) const
 ---- This is the ZDC part
 Compansators for Alice Muon Arm Dipole
void GetTPCInt(const Double_t* xyz, Double_t* b) const
 Method to calculate the integral_0^z of br,bt,bz
void GetTPCRatInt(const Double_t* xyz, Double_t* b) const
 Method to calculate the integral_0^z of bx/bz,by/bz and (bx/bz)^2+(by/bz)^2
void GetTPCIntCyl(const Double_t* rphiz, Double_t* b) const
 Method to calculate the integral_0^z of br,bt,bz
 in cylindrical coordiates ( -pi<phi<pi convention )
void GetTPCRatIntCyl(const Double_t* rphiz, Double_t* b) const
 Method to calculate the integral_0^z of bx/bz,by/bz and (bx/bz)^2+(by/bz)^2
 in cylindrical coordiates ( -pi<phi<pi convention )
void SetFactorSol(Float_t fc = 1.)
 set the sign/scale of the current in the L3 according to fgkPolarityConvention
void SetFactorDip(Float_t fc = 1.)
 set the sign*scale of the current in the Dipole according to fgkPolarityConvention
Double_t GetFactorSol() const
 return the sign*scale of the current in the Dipole according to fgkPolarityConventionthe
Double_t GetFactorDip() const
 return the sign*scale of the current in the Dipole according to fgkPolarityConventionthe
AliMagF* CreateFieldMap(Float_t l3Current = -30000., Float_t diCurrent = -6000., Int_t convention = 0, Bool_t uniform = kFALSE, Float_t beamenergy = 7000, const Char_t* btype = "pp", const Char_t* path = "$(ALICE_ROOT)/data/maps/mfchebKGI_sym.root")
 The magnetic field map, defined externally...
 L3 current 30000 A  -> 0.5 T
 L3 current 12000 A  -> 0.2 T
 dipole current 6000 A
 The polarities must match the convention (LHC or DCS2008)
 unless the special uniform map was used for MC

const char* GetBeamTypeText() const
 beam type in text form
void Print(Option_t* opt) const
 print short or long info
AliMagWrapCheb* GetMeasuredMap() const
{return fMeasuredMap;}
Double_t Factor() const
{return GetFactorSol();}
Double_t GetCurrentSol() const
{return GetFactorSol()*(fMapType==k2kG ? 12000:30000);}
Double_t GetCurrentDip() const
{return GetFactorDip()*6000;}
Bool_t IsUniform() const
{return fMapType == k5kGUniform;}
BMap_t GetMapType() const
{return fMapType;}
BeamType_t GetBeamType() const
{return fBeamType;}
Double_t GetBeamEnergy() const
{return fBeamEnergy;}
Double_t Max() const
{return fMax;}
Int_t Integ() const
{return fInteg;}
Int_t PrecInteg() const
{return fPrecInteg;}
Double_t SolenoidField() const
Char_t* GetDataFileName() const
{return (Char_t*)fParNames.GetName();}
Char_t* GetParamName() const
{return (Char_t*)fParNames.GetTitle();}
void SetDataFileName(const Char_t* nm)
void SetParamName(const Char_t* nm)
Int_t GetPolarityConvention()
void SetBeamType(AliMagF::BeamType_t type)
{fBeamType = type;}
void SetBeamEnergy(Float_t energy)
{fBeamEnergy = energy;}