3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 // Author: Andreas Morsch <andreas.morsch@cern.ch>
15 class AliMagFMaps : public AliMagFC
17 //Alice Magnetic Field with constant mesh
20 enum constants {k2kG, k4kG, k5kG};
22 AliMagFMaps(const char *name, const char *title, Int_t integ,
23 Float_t factor, Float_t fmax, Int_t map = k2kG,
25 AliMagFMaps(const AliMagFMaps &mag);
26 virtual ~AliMagFMaps();
27 virtual void Field(Float_t *x, Float_t *b);
28 AliFieldMap* FieldMap(Int_t i) {return fFieldMap[i];}
29 virtual void ReadField();
30 virtual Float_t SolenoidField() const;
31 virtual void SetL3ConstField(Int_t flag = 0) {fL3Option = flag;}
32 virtual void SetL3ConstField(Float_t bsol, Int_t flag = 0)
33 {fL3Option = flag; fSolenoidUser = bsol;}
35 virtual AliMagFMaps & operator=(const AliMagFMaps &magf)
36 {magf.Copy(*this); return *this;}
39 void Copy(TObject &magf) const;
41 AliFieldMap* fFieldMap[3]; // Field maps
42 Float_t fSolenoid; // Solenoid field setting
43 Float_t fSolenoidUser; // User set solenoid field setting
44 Int_t fL3Option; // Option for field inside L3
45 Int_t fFieldRead; // Field has been read in
46 ClassDef(AliMagFMaps,3) // Class for all Alice MagField using three Maps with Constant Mesh