X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliMagF.h;h=d9e3250fce807ddf7c4e0710d99093c9d9942785;hb=40389866548fc06fcc5655701a58bb65f61e09a6;hp=5b53ee9c9016d2c63ca82875235f650425c15d03;hpb=88cb7938ca21d4a80991d4e7aa564008c29340f7;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliMagF.h b/STEER/AliMagF.h index 5b53ee9c901..d9e3250fce8 100644 --- a/STEER/AliMagF.h +++ b/STEER/AliMagF.h @@ -5,6 +5,12 @@ /* $Id$ */ +//---------------------------------------------------------------------- +// Basic magnetic field class +// Used in all the detectors, and also in the traking classes +// Author: +//---------------------------------------------------------------------- + #include "TNamed.h" enum Field_t {kUndef=1, kConst=1, kConMesh=2, kDipoMap=3}; @@ -13,57 +19,33 @@ class AliMagF : public TNamed { public: AliMagF(); - AliMagF(const char *name, const char *title, const Int_t integ, - const Float_t factor = 1., const Float_t fmax = 10.); + AliMagF(const char *name, const char *title, Int_t integ, + Float_t factor = 1., Float_t fmax = 10.); + AliMagF(const AliMagF& maps); virtual ~AliMagF() {} - virtual void Field(Float_t *x, Float_t *b); - virtual Int_t Type() const {return fType;} + AliMagF& operator=(const AliMagF& rhs); + virtual void Field(Float_t *x, Float_t *b) const; + virtual void GetTPCInt(Float_t *xyz, Float_t *b) const; + virtual void GetTPCIntCyl(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 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 void SetDebug(Int_t level=0) {fDebug=level;} + virtual void ReadField() {} virtual Float_t SolenoidField() const {return 2.;} - - virtual Int_t GetDebug() const {return fDebug;} - -protected: - Int_t fMap; // Field Map identifier - Int_t fType; // Mag Field type - Int_t fInteg; // Integration method as indicated in Geant - Float_t fFactor; // Multiplicative factor - Float_t fMax; // Max Field as indicated in Geant - Int_t fDebug; // Debug flag - - ClassDef(AliMagF,1) //Base class for all Alice MagField + virtual void SetPrecInteg(Int_t integ) {fPrecInteg = integ;} + virtual void SetReadField(Bool_t flag = kTRUE) {fReadField = flag;} + protected: + Int_t fMap; // Field Map identifier + Int_t fType; // Mag Field type + Int_t fInteg; // Default integration method as indicated in Geant + Int_t fPrecInteg; // Alternative integration method, e.g. for higher precision + Float_t fFactor; // Multiplicative factor + Float_t fMax; // Max Field as indicated in Geant + Bool_t fReadField; // Flag for reading the field from file (if available) + ClassDef(AliMagF,5) //Base class for all Alice MagField }; -//ZDC part ------------------------------------------------------------------- - -// ************************ LHC optics v6.4 ***************************** -static const Float_t kG1=20.443; -static const Float_t kFDIP=-37.85; -static const Float_t kFCORN2=-9.6979; -// -// ZBEG Beginning of the inner triplet -// D1BEG Beginning of separator dipole 1 -// D2BEG Beginning of separator dipole 2 -// CORBEG Corrector dipole beginning (because of dimuon arm) -// -static const Float_t kCORBEG2=1972.5,kCOREND2=kCORBEG2+153., kCOR2RA2=4.5*4.5; -// -static const Float_t kZBEG=2296.5; -static const Float_t kZ1BEG=kZBEG+ 0., kZ1END=kZ1BEG+637.,kZ1RA2=3.5*3.5; -static const Float_t kZ2BEG=kZBEG+ 908.5,kZ2END=kZ2BEG+550.,kZ2RA2=3.5*3.5; -static const Float_t kZ3BEG=kZBEG+1558.5,kZ3END=kZ3BEG+550.,kZ3RA2=3.5*3.5; -static const Float_t kZ4BEG=kZBEG+2430., kZ4END=kZ4BEG+637.,kZ4RA2=3.5*3.5; -static const Float_t kD1BEG=5838.3 ,kD1END=kD1BEG+945.,kD1RA2=4.5*4.5; -static const Float_t kD2BEG=12167.8 ,kD2END=kD2BEG+945.,kD2RA2=4.5*4.5; -// -static const Float_t kXCEN1D2=-9.7 ,kYCEN1D2=0.; -static const Float_t kXCEN2D2=9.7 ,kYCEN2D2=0.; - -//ZDC part ------------------------------------------------------------------- - #endif