]>
Commit | Line | Data |
---|---|---|
aee8290b | 1 | #ifndef ALIMAGF_H |
2 | #define ALIMAGF_H | |
3da30618 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
fe4da5cc | 7 | |
8 | #include "TNamed.h" | |
fe4da5cc | 9 | |
aee8290b | 10 | enum Field_t {kUndef=1, kConst=1, kConMesh=2, kDipoMap=3}; |
fe4da5cc | 11 | |
12 | class AliMagF : public TNamed { | |
13 | ||
fe4da5cc | 14 | public: |
e2afb3b6 | 15 | AliMagF(); |
d8408e76 | 16 | AliMagF(const char *name, const char *title, const Int_t integ, |
17 | const Float_t factor = 1., const Float_t fmax = 10.); | |
fe4da5cc | 18 | virtual ~AliMagF() {} |
19 | virtual void Field(Float_t *x, Float_t *b); | |
94de3818 | 20 | virtual Int_t Type() const {return fType;} |
fe4da5cc | 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() {} | |
9e1a0ddb | 26 | virtual void SetDebug(Int_t level=0) {fDebug=level;} |
694456b6 | 27 | virtual Float_t SolenoidField() const {return 2.;} |
8d7f3a07 | 28 | |
9e1a0ddb | 29 | virtual Int_t GetDebug() const {return fDebug;} |
fe4da5cc | 30 | |
fe4da5cc | 31 | protected: |
aee8290b | 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 | |
9e1a0ddb | 37 | Int_t fDebug; // Debug flag |
fe4da5cc | 38 | |
aee8290b | 39 | ClassDef(AliMagF,1) //Base class for all Alice MagField |
fe4da5cc | 40 | }; |
7a15f6b8 | 41 | |
aee8290b | 42 | //ZDC part ------------------------------------------------------------------- |
7a15f6b8 | 43 | |
e2afb3b6 | 44 | static const Float_t kG1=20.443; |
45 | static const Float_t kFDIP=-37.96; | |
46 | static const Float_t kFCORN2=-9.14; | |
7a15f6b8 | 47 | // |
aee8290b | 48 | // ZBEG Beginning of the inner triplet |
49 | // D1BEG Beginning of separator dipole 1 | |
50 | // D2BEG Beginning of separator dipole 2 | |
51 | // CORBEG Corrector dipole beginning (because of dimuon arm) | |
52 | // | |
e2afb3b6 | 53 | static const Float_t kCORBEG2=19216.,kCOREND2=kCORBEG2+170., kCOR2RA2=4.5*4.5; |
aee8290b | 54 | // |
e2afb3b6 | 55 | static const Float_t kZBEG=2300.; |
56 | static const Float_t kZ1BEG=kZBEG+ 0.,kZ1END=kZ1BEG+630.,kZ1RA2=3.5*3.5; | |
57 | static const Float_t kZ2BEG=kZBEG+ 880.,kZ2END=kZ2BEG+550.,kZ2RA2=3.5*3.5; | |
58 | static const Float_t kZ3BEG=kZBEG+1530.,kZ3END=kZ3BEG+550.,kZ3RA2=3.5*3.5; | |
59 | static const Float_t kZ4BEG=kZBEG+2430.,kZ4END=kZ4BEG+630.,kZ4RA2=3.5*3.5; | |
60 | static const Float_t kD1BEG=5838.3 ,kD1END=kD1BEG+945.,kD1RA2=4.5*4.5; | |
61 | static const Float_t kD2BEG=12147.6 ,kD2END=kD2BEG+945.,kD2RA2=4.5*4.5; | |
d95ea23f | 62 | // |
e2afb3b6 | 63 | static const Float_t kXCEN1D2=-9.7 ,kYCEN1D2=0.; |
64 | static const Float_t kXCEN2D2=9.7 ,kYCEN2D2=0.; | |
aee8290b | 65 | |
66 | //ZDC part ------------------------------------------------------------------- | |
fe4da5cc | 67 | |
68 | #endif |