User set central field value.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 4 Apr 2003 07:40:50 +0000 (07:40 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 4 Apr 2003 07:40:50 +0000 (07:40 +0000)
STEER/AliMagFMaps.cxx
STEER/AliMagFMaps.h

index 46055aa..36efb43 100644 (file)
@@ -35,6 +35,7 @@ ClassImp(AliMagFMaps)
 //_______________________________________________________________________
 AliMagFMaps::AliMagFMaps():
   fSolenoid(0),
+  fSolenoidUser(0.),
   fL3Option(0),
   fFieldRead(0)
 {
@@ -50,6 +51,7 @@ AliMagFMaps::AliMagFMaps(const char *name, const char *title, const Int_t integ,
                          const Int_t l3):
   AliMagF(name,title,integ,factor,fmax),
   fSolenoid(0),
+  fSolenoidUser(0),
   fL3Option(l3),
   fFieldRead(0)
 {
@@ -60,7 +62,6 @@ AliMagFMaps::AliMagFMaps(const char *name, const char *title, const Int_t integ,
   fFieldMap[0]  = 0;
   fMap          = map;
   fL3Option     = l3;
-
   ReadField();
   fFieldRead = 1;
   //
@@ -186,10 +187,8 @@ void AliMagFMaps::ReadField()
       case k5kG:
          fSolenoid = 5.;
          break;
-      case k0kG:
-         fSolenoid = 0.;
-         break;
       }
+      fSolenoidUser = fSolenoid;
   }
 }
 
@@ -221,7 +220,7 @@ void AliMagFMaps::Field(Float_t *x, Float_t *b)
       //
       //     Constant L3 field, if this option was selected
       //
-         b[2] = fSolenoid;
+         b[2] = fSolenoidUser;
          return;
     }
   } else if (fFieldMap[1]->Inside(x[0], x[1], x[2])) {
index dc66898..e83afff 100644 (file)
@@ -17,7 +17,7 @@ class AliMagFMaps : public AliMagF
   //Alice Magnetic Field with constant mesh
 
 public:
-    enum constants {k2kG, k4kG, k5kG, k0kG};
+    enum constants {k2kG, k4kG, k5kG};
     AliMagFMaps();
     AliMagFMaps(const char *name, const char *title, const Int_t integ,
                const Float_t factor, const Float_t fmax, const Int_t map = k2kG,
@@ -29,6 +29,8 @@ public:
     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;}
     
     virtual AliMagFMaps & operator=(const AliMagFMaps &magf)
       {magf.Copy(*this); return *this;}
@@ -38,6 +40,7 @@ protected:
 
     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
     Int_t        fFieldRead;       // Field has been read in
     ClassDef(AliMagFMaps,2)        // Class for all Alice MagField using three Maps with Constant Mesh