]>
Commit | Line | Data |
---|---|---|
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 | // Magnetic field composed by 3 maps: the L3 magnet, extended region, and | |
10 | // dipole magnet | |
11 | // Author: Andreas Morsch <andreas.morsch@cern.ch> | |
12 | // | |
13 | ||
14 | #include "AliMagFC.h" | |
15 | class AliFieldMap; | |
16 | ||
17 | class AliMagFMaps : public AliMagFC | |
18 | { | |
19 | //Alice Magnetic Field with constant mesh | |
20 | ||
21 | public: | |
22 | enum constants {k2kG, k4kG, k5kG}; | |
23 | AliMagFMaps(); | |
24 | AliMagFMaps(const char *name, const char *title, Int_t integ, | |
25 | Float_t factor, Float_t fmax, Int_t map = k2kG, | |
26 | Int_t l3 = 1); | |
27 | AliMagFMaps(const AliMagFMaps &mag); | |
28 | virtual ~AliMagFMaps(); | |
29 | virtual void Field(Float_t *x, Float_t *b) const; | |
30 | AliFieldMap* FieldMap(Int_t i) {return fFieldMap[i];} | |
31 | virtual void ReadField(); | |
32 | virtual Float_t SolenoidField() const; | |
33 | virtual void SetL3ConstField(Int_t flag = 0) {fL3Option = flag;} | |
34 | virtual void SetL3ConstField(Float_t bsol, Int_t flag = 0) | |
35 | {fL3Option = flag; fSolenoidUser = bsol;} | |
36 | ||
37 | AliMagFMaps & operator=(const AliMagFMaps &magf) | |
38 | {magf.Copy(*this); return *this;} | |
39 | ||
40 | protected: | |
41 | void Copy(TObject &magf) const; | |
42 | ||
43 | AliFieldMap* fFieldMap[3]; // Field maps | |
44 | Float_t fSolenoid; // Solenoid field setting | |
45 | Float_t fSolenoidUser; // User set solenoid field setting | |
46 | Int_t fL3Option; // Option for field inside L3 | |
47 | ClassDef(AliMagFMaps,4) // Class for all Alice MagField using three Maps with Constant Mesh | |
48 | }; | |
49 | ||
50 | #endif |