X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliMagFMaps.h;h=2aa458faa5b7304b4fdc117521291f5df2e2c52d;hb=cc545eb95f8b954e34fd3bada0e76ad3180c2cf6;hp=262ac7d6848182bdd6c8869a1d1307d22337cd4b;hpb=84737f5ebdced6f89d316fe11d01638384191d8e;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliMagFMaps.h b/STEER/AliMagFMaps.h index 262ac7d6848..2aa458faa5b 100644 --- a/STEER/AliMagFMaps.h +++ b/STEER/AliMagFMaps.h @@ -6,35 +6,45 @@ /* $Id$ */ // +// Magnetic field composed by 3 maps: the L3 magnet, extended region, and +// dipole magnet // Author: Andreas Morsch // -#include "AliMagF.h" +#include "AliMagFC.h" class AliFieldMap; -class AliMagFMaps : public AliMagF +class AliMagFMaps : public AliMagFC { //Alice Magnetic Field with constant mesh public: enum constants {k2kG, k4kG, k5kG}; - AliMagFMaps(){fFieldMap[0] = fFieldMap[1] = fFieldMap[2] = 0;} - AliMagFMaps(const char *name, const char *title, const Int_t integ, - const Float_t factor, const Float_t fmax, const Int_t map = k2kG); + AliMagFMaps(); + AliMagFMaps(const char *name, const char *title, Int_t integ, + Float_t factor, Float_t fmax, Int_t map = k2kG, + Int_t l3 = 1); AliMagFMaps(const AliMagFMaps &mag); virtual ~AliMagFMaps(); - virtual void Field(Float_t *x, Float_t *b); + virtual void Field(Float_t *x, Float_t *b) const; AliFieldMap* FieldMap(Int_t i) {return fFieldMap[i];} + virtual void ReadField(); virtual Float_t SolenoidField() const; virtual void SetL3ConstField(Int_t flag = 0) {fL3Option = flag;} + virtual void SetL3ConstField(Float_t bsol, Int_t flag = 0) + {fL3Option = flag; fSolenoidUser = bsol;} - void Copy(AliMagFMaps &magf) const; - virtual AliMagFMaps & operator=(const AliMagFMaps &magf); + AliMagFMaps & operator=(const AliMagFMaps &magf) + {magf.Copy(*this); return *this;} + protected: - AliFieldMap* fFieldMap[3]; // Field maps - Float_t fSolenoid; // Solenoid field setting - Int_t fL3Option; // Option for field inside L3 - ClassDef(AliMagFMaps,1) // Class for all Alice MagField using three Maps with Constant Mesh + void Copy(TObject &magf) const; + + AliFieldMap* fFieldMap[3]; // Field maps + Float_t fSolenoid; // Solenoid field setting + Float_t fSolenoidUser; // User set solenoid field setting + Int_t fL3Option; // Option for field inside L3 + ClassDef(AliMagFMaps,4) // Class for all Alice MagField using three Maps with Constant Mesh }; #endif