]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliMagF.h
Copy constructor implemented.
[u/mrichter/AliRoot.git] / STEER / AliMagF.h
index 7b54cdfca5a493386b2c1f865e9e657114a90897..a6a923d54ca10dba68150d655a44d3998e1705ea 100644 (file)
@@ -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};
@@ -16,26 +22,26 @@ public:
   AliMagF(const char *name, const char *title, Int_t integ, 
          Float_t factor = 1., Float_t fmax = 10.);
   virtual ~AliMagF() {}
-  virtual void Field(Float_t *x, Float_t *b);
+  virtual void Field(Float_t *x, 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 PrecInteg() const {return fPrecInteg;}  
   virtual Float_t Factor() const {return fFactor;}
   virtual void ReadField() {}
-  virtual void SetDebug(Int_t level=0) {fDebug=level;}
   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;}
+  static void  SetReadField(Bool_t flag = kTRUE) {fgReadField = 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
+  static  Bool_t    fgReadField;  // Flag for reading the field from file (if available) 
+  ClassDef(AliMagF,4)  //Base class for all Alice MagField
 };
 
 #endif