]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliMagF.h
Using TMath::Pi() instead of kPI
[u/mrichter/AliRoot.git] / STEER / AliMagF.h
1 #ifndef ALIMAGF_H
2 #define ALIMAGF_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 #include "TNamed.h"
9
10 enum Field_t {kUndef=1, kConst=1, kConMesh=2, kDipoMap=3};
11
12 class AliMagF : public TNamed {
13
14 public:
15   AliMagF();
16   AliMagF(const char *name, const char *title, const Int_t integ, 
17           const Float_t factor = 1., const Float_t fmax = 10.);
18   virtual ~AliMagF() {}
19   virtual void Field(Float_t *x, Float_t *b);
20   virtual Int_t Type() const {return fType;}
21   virtual Float_t Max() const {return fMax;}
22   virtual Int_t Map() const {return fMap;}
23   virtual Int_t Integ() const {return fInteg;}
24   virtual Float_t Factor() const {return fFactor;}
25   virtual void ReadField() {}
26   virtual void SetDebug(Int_t level=0) {fDebug=level;}
27   virtual Float_t SolenoidField() const {return 2.;}
28   
29   virtual Int_t GetDebug() const {return fDebug;}
30   
31 protected:
32   Int_t     fMap;    // Field Map identifier
33   Int_t     fType;   // Mag Field type
34   Int_t     fInteg;  // Integration method as indicated in Geant
35   Float_t   fFactor; // Multiplicative factor
36   Float_t   fMax;    // Max Field as indicated in Geant
37   Int_t     fDebug;  // Debug flag
38
39   ClassDef(AliMagF,1)  //Base class for all Alice MagField
40 };
41
42 //ZDC part -------------------------------------------------------------------
43
44 // ************************ LHC optics v6.4 *****************************
45 static const Float_t kG1=20.443;
46 static const Float_t kFDIP=-37.85;
47 static const Float_t kFCORN2=-9.6979; 
48 //
49 // ZBEG       Beginning of the inner triplet
50 // D1BEG      Beginning of separator dipole 1
51 // D2BEG      Beginning of separator dipole 2
52 // CORBEG     Corrector dipole beginning (because of dimuon arm)
53 //
54 static const Float_t kCORBEG2=1972.5,kCOREND2=kCORBEG2+153., kCOR2RA2=4.5*4.5;
55 //
56 static const Float_t kZBEG=2296.5;
57 static const Float_t kZ1BEG=kZBEG+   0., kZ1END=kZ1BEG+637.,kZ1RA2=3.5*3.5;
58 static const Float_t kZ2BEG=kZBEG+ 908.5,kZ2END=kZ2BEG+550.,kZ2RA2=3.5*3.5;
59 static const Float_t kZ3BEG=kZBEG+1558.5,kZ3END=kZ3BEG+550.,kZ3RA2=3.5*3.5;
60 static const Float_t kZ4BEG=kZBEG+2430., kZ4END=kZ4BEG+637.,kZ4RA2=3.5*3.5;
61 static const Float_t kD1BEG=5838.3    ,kD1END=kD1BEG+945.,kD1RA2=4.5*4.5;
62 static const Float_t kD2BEG=12167.8   ,kD2END=kD2BEG+945.,kD2RA2=4.5*4.5;
63 //
64 static const Float_t kXCEN1D2=-9.7    ,kYCEN1D2=0.;
65 static const Float_t kXCEN2D2=9.7     ,kYCEN2D2=0.;
66
67 //ZDC part -------------------------------------------------------------------
68
69 #endif