]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliMagFMaps.h
solved problems with the cycles when running QA during reconstruction
[u/mrichter/AliRoot.git] / STEER / AliMagFMaps.h
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