84737f5e |
1 | #ifndef ALIMAGFMAPS_H |
2 | #define ALIMAGFMAPS_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 | // Author: Andreas Morsch <andreas.morsch@cern.ch> |
10 | // |
11 | |
12 | #include "AliMagF.h" |
13 | class AliFieldMap; |
14 | |
15 | class AliMagFMaps : public AliMagF |
16 | { |
17 | //Alice Magnetic Field with constant mesh |
18 | |
19 | public: |
20 | enum constants {k2kG, k4kG, k5kG}; |
c2b548d6 |
21 | AliMagFMaps(){fFieldMap[0] = fFieldMap[1] = fFieldMap[2] = 0; fFieldRead = 0;} |
84737f5e |
22 | AliMagFMaps(const char *name, const char *title, const Int_t integ, |
356f9803 |
23 | const Float_t factor, const Float_t fmax, const Int_t map = k2kG, |
24 | const Int_t l3 = 1); |
84737f5e |
25 | AliMagFMaps(const AliMagFMaps &mag); |
26 | virtual ~AliMagFMaps(); |
27 | virtual void Field(Float_t *x, Float_t *b); |
28 | AliFieldMap* FieldMap(Int_t i) {return fFieldMap[i];} |
c2b548d6 |
29 | virtual void ReadField(); |
84737f5e |
30 | virtual Float_t SolenoidField() const; |
31 | virtual void SetL3ConstField(Int_t flag = 0) {fL3Option = flag;} |
32 | |
33 | void Copy(AliMagFMaps &magf) const; |
34 | virtual AliMagFMaps & operator=(const AliMagFMaps &magf); |
35 | protected: |
c2b548d6 |
36 | AliFieldMap* fFieldMap[3]; // Field maps |
37 | Float_t fSolenoid; // Solenoid field setting |
38 | Int_t fL3Option; // Option for field inside L3 |
39 | Int_t fFieldRead; // Field has been read in |
40 | ClassDef(AliMagFMaps,2) // Class for all Alice MagField using three Maps with Constant Mesh |
84737f5e |
41 | }; |
42 | |
43 | #endif |
c2b548d6 |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |