]>
Commit | Line | Data |
---|---|---|
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) const; | |
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 Int_t PrecInteg() const {return fPrecInteg;} | |
31 | virtual Float_t Factor() const {return fFactor;} | |
32 | virtual void ReadField() {} | |
33 | virtual Float_t SolenoidField() const {return 2.;} | |
34 | virtual void SetPrecInteg(Int_t integ) {fPrecInteg = integ;} | |
35 | static void SetReadField(Bool_t flag = kTRUE) {fgReadField = flag;} | |
36 | protected: | |
37 | Int_t fMap; // Field Map identifier | |
38 | Int_t fType; // Mag Field type | |
39 | Int_t fInteg; // Default integration method as indicated in Geant | |
40 | Int_t fPrecInteg; // Alternative integration method, e.g. for higher precision | |
41 | Float_t fFactor; // Multiplicative factor | |
42 | Float_t fMax; // Max Field as indicated in Geant | |
43 | static Bool_t fgReadField; // Flag for reading the field from file (if available) | |
44 | ClassDef(AliMagF,4) //Base class for all Alice MagField | |
45 | }; | |
46 | ||
47 | #endif |