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}; |
21 | AliMagFMaps(){fFieldMap[0] = fFieldMap[1] = fFieldMap[2] = 0;} |
22 | AliMagFMaps(const char *name, const char *title, const Int_t integ, |
23 | const Float_t factor, const Float_t fmax, const Int_t map = k2kG); |
24 | AliMagFMaps(const AliMagFMaps &mag); |
25 | virtual ~AliMagFMaps(); |
26 | virtual void Field(Float_t *x, Float_t *b); |
27 | AliFieldMap* FieldMap(Int_t i) {return fFieldMap[i];} |
28 | virtual Float_t SolenoidField() const; |
29 | virtual void SetL3ConstField(Int_t flag = 0) {fL3Option = flag;} |
30 | |
31 | void Copy(AliMagFMaps &magf) const; |
32 | virtual AliMagFMaps & operator=(const AliMagFMaps &magf); |
33 | protected: |
34 | AliFieldMap* fFieldMap[3]; // Field maps |
35 | Float_t fSolenoid; // Solenoid field setting |
36 | Int_t fL3Option; // Option for field inside L3 |
37 | ClassDef(AliMagFMaps,1) // Class for all Alice MagField using three Maps with Constant Mesh |
38 | }; |
39 | |
40 | #endif |