]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliMagF.h
Coding violations
[u/mrichter/AliRoot.git] / STEER / AliMagF.h
1 #ifndef ALIMAGF_H
2 #define ALIMAGF_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 //----------------------------------------------------------------------
9 // Basic magnetic field class
10 // Used in all the detectors, and also in the traking classes
11 // Author:
12 //----------------------------------------------------------------------
13
14 #include "TNamed.h"
15
16 enum Field_t {kUndef=1, kConst=1, kConMesh=2, kDipoMap=3};
17
18 class AliMagF : public TNamed {
19
20 public:
21   AliMagF();
22   AliMagF(const char *name, const char *title, Int_t integ, 
23           Float_t factor = 1., Float_t fmax = 10.);
24   virtual ~AliMagF() {}
25   virtual void Field(Float_t *x, Float_t *b);
26   virtual Int_t Type() const {return fType;}
27   virtual Float_t Max() const {return fMax;}
28   virtual Int_t Map() const {return fMap;}
29   virtual Int_t Integ() const {return fInteg;}
30   virtual Float_t Factor() const {return fFactor;}
31   virtual void ReadField() {}
32   virtual void SetDebug(Int_t level=0) {fDebug=level;}
33   virtual Float_t SolenoidField() const {return 2.;}
34   virtual Int_t GetDebug() const {return fDebug;}
35   
36 protected:
37   Int_t     fMap;    // Field Map identifier
38   Int_t     fType;   // Mag Field type
39   Int_t     fInteg;  // Integration method as indicated in Geant
40   Float_t   fFactor; // Multiplicative factor
41   Float_t   fMax;    // Max Field as indicated in Geant
42   Int_t     fDebug;  // Debug flag
43
44   ClassDef(AliMagF,1)  //Base class for all Alice MagField
45 };
46
47 #endif