- AliMagF(const char *name, const char *title, Int_t integ,
- Float_t factor = 1., Float_t fmax = 10.);
- AliMagF(const AliMagF& maps);
- virtual ~AliMagF() {}
- AliMagF& operator=(const AliMagF& rhs);
- virtual void Field(const Float_t *x, Float_t *b) const;
- virtual void Field(const Double_t *x, Double_t *b) const;
- virtual void GetTPCInt(const Float_t *xyz, Float_t *b) const;
- virtual void GetTPCIntCyl(const Float_t *rphiz, Float_t *b) const;
- virtual Int_t Type() const {return fType;}
- virtual Float_t Max() const {return fMax;}
- virtual Int_t Map() const {return fMap;}
- virtual Int_t Integ() const {return fInteg;}
- virtual Int_t PrecInteg() const {return fPrecInteg;}
- virtual Float_t Factor() const {return fFactor;}
- virtual void ReadField() {}
- virtual Float_t SolenoidField() const {return 2.;}
- virtual void SetPrecInteg(Int_t integ);
- virtual void SetReadField(Bool_t flag = kTRUE) {fReadField = flag;}
+ AliMagF(const char *name, const char* title,Double_t factorSol=1., Double_t factorDip=1.,
+ BMap_t maptype = k5kG, BeamType_t btype=kBeamTypepp, Double_t benergy=-1,
+ Int_t integ=2, Double_t fmax=10,const char* path="$(ALICE_ROOT)/data/maps/mfchebKGI_sym.root");
+ AliMagF(const AliMagF& src);
+ AliMagF& operator=(const AliMagF& src);
+ virtual ~AliMagF();
+ //
+ virtual void Field(const Double_t *x, Double_t *b);
+ void GetTPCInt(const Double_t *xyz, Double_t *b) const;
+ void GetTPCIntCyl(const Double_t *rphiz, Double_t *b) const;
+ Double_t GetBz(const Double_t *xyz) const;
+ //
+ AliMagWrapCheb* GetMeasuredMap() const {return fMeasuredMap;}
+ //
+ // former AliMagF methods or their aliases
+ void SetFactorSol(Float_t fc=1.);
+ void SetFactorDip(Float_t fc=1.);
+ Double_t GetFactorSol() const;
+ Double_t GetFactorDip() const;
+ 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;}
+ //
+ void MachineField(const Double_t *x, Double_t *b) const;
+ BMap_t GetMapType() const {return fMapType;}
+ BeamType_t GetBeamType() const {return fBeamType;}
+ const char* GetBeamTypeText() const;
+ 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 {return fFactorSol*fSolenoid;}
+ //
+ Char_t* GetDataFileName() const {return (Char_t*)fParNames.GetName();}
+ Char_t* GetParamName() const {return (Char_t*)fParNames.GetTitle();}
+ void SetDataFileName(const Char_t* nm) {fParNames.SetName(nm);}
+ void SetParamName(const Char_t* nm) {fParNames.SetTitle(nm);}
+ //
+ Bool_t LoadParameterization();
+ static Int_t GetPolarityConvention() {return Int_t(fgkPolarityConvention);}
+ 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");
+ //