]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - STEER/AliMagFMaps.h
Removed (unnecessary) AliTPCTrack dependence.
[u/mrichter/AliRoot.git] / STEER / AliMagFMaps.h
... / ...
CommitLineData
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"
15class AliFieldMap;
16
17class AliMagFMaps : public AliMagFC
18{
19 //Alice Magnetic Field with constant mesh
20
21public:
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
40protected:
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