]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliMagFMaps.h
CalibData() method returns AliEMCALCaliData instance filled with CDB calibration...
[u/mrichter/AliRoot.git] / STEER / AliMagFMaps.h
index 1f3fd561d10ef79ca3dd1f3a5ec02901fa67a933..4f0590624aa4ac397fac39c8ed12f6ae01c600dc 100644 (file)
@@ -6,36 +6,45 @@
 /* $Id$ */
 
 //
+// Magnetic field composed by 3 maps: the L3 magnet, extended region, and
+// dipole magnet
 // Author: Andreas Morsch <andreas.morsch@cern.ch>
 //
 
-#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,
-               const Int_t l3 = 1);
+    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);
+    virtual 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,2)        // 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