3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //-------------------------------------------------------------------------
9 // Constant magnetic field class
10 // Used by AliRun class
12 //-------------------------------------------------------------------------
16 class AliMagFC : public AliMagF
18 //Alice Constant Magnetic Field
21 AliMagFC():AliMagF(),fCompensator(kFALSE){}
22 AliMagFC(const char *name, const char *title, Int_t integ,
23 Float_t factor, Float_t fmax);
25 virtual void Field(Float_t *x, Float_t *b) const;
26 virtual void ReadField() {}
27 virtual void ZDCField(Float_t *x, Float_t *b) const;
28 virtual void SetCompensatorMagnet(Bool_t flag) {fCompensator = flag;}
30 Bool_t fCompensator; // Flag for compensator magnetic field (kTrue -> ON)
31 ClassDef(AliMagFC,2) //Class for all Alice Constant MagField
35 //ZDC part -------------------------------------------------------------------
37 // ************************ LHC optics v6.5 *****************************
38 static const Float_t kG1=20.707;
39 static const Float_t kFDIP=-37.71;
40 static const Float_t kFCORN2=-9.667;
42 // ZBEG Beginning of the inner triplet
43 // D1BEG Beginning of separator dipole 1
44 // D2BEG Beginning of separator dipole 2
45 // CORBEG Corrector dipole beginning (because of dimuon arm)
47 static const Float_t kCORBEG2 = -1972.5,kCOREND2 = kCORBEG2 - 153., kCOR2RA2 = 4.5 * 4.5;
49 static const Float_t kZBEG = -2296.5;
50 static const Float_t kZ1BEG = kZBEG + 0., kZ1END = kZ1BEG - 637.,kZ1RA2 = 3.5 * 3.5;
51 static const Float_t kZ2BEG = kZBEG - 908.5, kZ2END = kZ2BEG - 550.,kZ2RA2 = 3.5 * 3.5;
52 static const Float_t kZ3BEG = kZBEG - 1558.5, kZ3END = kZ3BEG - 550.,kZ3RA2 = 3.5 * 3.5;
53 static const Float_t kZ4BEG = kZBEG - 2400., kZ4END = kZ4BEG - 637.,kZ4RA2 = 3.5 * 3.5;
54 static const Float_t kD1BEG = - 5838.3 ,kD1END = kD1BEG - 945., kD1RA2 = 4.5 * 4.5;
55 static const Float_t kD2BEG = - 12167.8 ,kD2END = kD2BEG - 945., kD2RA2 = 4.5 * 4.5;
57 static const Float_t kXCEN1D2 = -9.7 ,kYCEN1D2 = 0.;
58 static const Float_t kXCEN2D2 = 9.7 ,kYCEN2D2 = 0.;
61 // ************************ Left line *****************************************
62 // ************************ LHC optics v6.5 (official version for ions)****************
63 static const Float_t kG1l=20.707;
64 static const Float_t kFDIPl=-37.71;
65 static const Float_t kFCORN2l=-11.72;
68 // ZBEG Beginning of the inner triplet
69 // D1BEG Beginning of separator dipole 1
70 // D2BEG Beginning of separator dipole 2
71 // CORBEG Corrector dipole beginning (because of dimuon arm)
73 static const Float_t kCORBEG2l = 1972.5,kCOREND2l = kCORBEG2l + 153., kCOR2RA2l = 4.5 * 4.5;// second corrector
74 static const Float_t kZBEGl = 2296.5;// inner triplet beginning
75 static const Float_t kZ1BEGl = kZBEGl + 0., kZ1ENDl = kZ1BEGl + 637.,kZ1RA2l = 3.5 * 3.5;// Q1
76 static const Float_t kZ2BEGl = kZBEGl + 908.5, kZ2ENDl = kZ2BEGl + 550.,kZ2RA2l = 3.5 * 3.5;// Q2A
77 static const Float_t kZ3BEGl = kZBEGl + 1558.5, kZ3ENDl = kZ3BEGl + 550.,kZ3RA2l = 3.5 * 3.5;// Q2B
78 static const Float_t kZ4BEGl = kZBEGl + 2400., kZ4ENDl = kZ4BEGl + 637.,kZ4RA2l = 3.5 * 3.5;// Q3
79 static const Float_t kD1BEGl = 5838.3 ,kD1ENDl = kD1BEGl + 945., kD1RA2l = 3.375 * 3.375;// D1
80 static const Float_t kD2BEGl = 12167.8 ,kD2ENDl = kD2BEGl + 945., kD2RA2l = 3.75 * 3.75;// D2
81 static const Float_t kXCEN1D2l = -9.4 ,kYCEN1D2l = 0.;// D2
82 static const Float_t kXCEN2D2l = 9.4 ,kYCEN2D2l = 0.;// D2
86 // ************************ LHC optics v6.500 (official version for pp 7TeV) **********
87 static const Float_t kG1l=22.000;
88 static const Float_t kFDIPl=-37.804;
89 //static const Float_t kFCORN1l=13.201;
90 static const Float_t kFCORN2l=-11.751;
92 static const Float_t kCORBEG1l = 945.,kCOREND1l = kCORBEG1l + 260., kCOR1RA2l = 4.5 * 4.5;// first corrector
93 static const Float_t kCORBEG2l = 1972.5,kCOREND2l = kCORBEG2l + 153., kCOR2RA2l = 4.5 * 4.5;// second corrector
94 static const Float_t kZBEGl = 2296.5;// inner triplet beginning
95 static const Float_t kZ1BEGl = kZBEGl + 0., kZ1ENDl = kZ1BEGl + 637.,kZ1RA2l = 3.5 * 3.5;// Q1
96 static const Float_t kZ2BEGl = kZBEGl + 908.5, kZ2ENDl = kZ2BEGl + 550.,kZ2RA2l = 3.5 * 3.5;// Q2A
97 static const Float_t kZ3BEGl = kZBEGl + 1558.5, kZ3ENDl = kZ3BEGl + 550.,kZ3RA2l = 3.5 * 3.5;// Q2B
98 static const Float_t kZ4BEGl = kZBEGl + 2400., kZ4ENDl = kZ4BEGl + 637.,kZ4RA2l = 3.5 * 3.5;// Q3
99 static const Float_t kD1BEGl = 5838.3 ,kD1ENDl = kD1BEGl + 945., kD1RA2l = 3.375 * 3.375;// D1
100 static const Float_t kD2BEGl = 12167.8 ,kD2ENDl = kD2BEGl + 945., kD2RA2l = 3.75 * 3.75;// D2
101 static const Float_t kXCEN1D2l = -9.4 ,kYCEN1D2l = 0.;// D2
102 static const Float_t kXCEN2D2l = 9.4 ,kYCEN2D2l = 0.;// D2
105 //ZDC part -------------------------------------------------------------------