]>
Commit | Line | Data |
---|---|---|
aee8290b | 1 | #ifndef ALIMAGFDM_H |
2 | #define ALIMAGFDM_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 "AliMagF.h" | |
9 | // | |
10 | class AliMagFDM : public AliMagF | |
11 | { | |
12 | //Alice Magnetic Field:Magnetic field map from IP to muon filter for Muon arm | |
13 | ||
14 | public: | |
15 | AliMagFDM(){} | |
16 | AliMagFDM(const char *name, const char *title, const Int_t integ, const Int_t | |
17 | map, const Float_t factor, const Float_t fmax); | |
18 | virtual ~AliMagFDM(){} | |
19 | virtual void Field(Float_t *x, Float_t *b); | |
20 | virtual void ReadField(); | |
21 | ||
22 | ||
23 | void FZ(Double_t *u, Float_t *Ar, Float_t *du, Int_t *ki, Int_t *kf, Double_t *a1, Double_t *a2 , Int_t *nu); | |
24 | void FRfuncBi(Int_t *kai, Double_t *za1, Double_t *za2, Double_t *al1, Double_t *al2, Double_t *al3, Int_t *ka, Int_t *ma,Double_t *ba); | |
25 | void FGfuncBi(Double_t *z1, Double_t *z2, Double_t *y1, Double_t *y2, Double_t *x1, Double_t *x2, Int_t *kvr, Int_t *k, Int_t *l, Int_t *m, Double_t *bb); | |
26 | ||
27 | ||
28 | protected: | |
29 | ||
30 | // | |
31 | ||
32 | Int_t fdInd; // Character number of validity Map region | |
33 | ||
34 | Float_t fdZmin; // Start of the cartesian part of MAP in z | |
35 | Float_t fdZmax; // End of Map in z | |
36 | Float_t fdYmax; // Start of the cartesian part of MAP in y | |
37 | Float_t fdYmin; // End of the cartesian part of MAP in y | |
38 | Float_t fdZpmx; // End of the polar part of MAP in z | |
39 | Float_t fdZpmn; // Start of the polar part of MAP in z | |
40 | Float_t fdRmax; // Maximal radius of the polar part of MAP | |
41 | Float_t fdRmin; // Minimal radius of the polar part of MAP | |
42 | ||
43 | ||
44 | Float_t fdXdel; // step in x - cartesian part of MAP | |
45 | Float_t fdYdel; // step in y - cartesian part of MAP | |
46 | Float_t fdZdel; // step in z - cartesian part of MAP | |
47 | ||
48 | Float_t fdRdel; // step in r - polar part of MAP | |
49 | Float_t fdPhid; // step in Phi - polar part of MAP | |
50 | Float_t fdZpdl; // step in z - polar part of MAP | |
51 | ||
52 | Float_t fdCx1; // Field constant | |
53 | Float_t fdCx2; // Field constant | |
54 | Float_t fdAx1; // Field constant | |
55 | Float_t fdAx2; // Field constant | |
56 | ||
57 | Float_t fdZc[81]; // z coordinates in cartesian part | |
58 | Float_t fdY[81]; // y coordinates in cartesian part | |
59 | Float_t fdBcx[81][81][44]; // Bx array for cartesian part | |
60 | Float_t fdBcy[81][81][44]; // By array for cartesian part | |
61 | Float_t fdBcz[81][81][44]; // Bz array for cartesian part | |
62 | ||
63 | Float_t fdZp[51]; // z coordinates in polar part | |
64 | Float_t fdR[10]; // r coordinates in polar part | |
65 | Float_t fdPhi[33]; // Phi coordinates in polar part | |
66 | ||
67 | Float_t fdBpx[51][10][33]; // Bx array for polar part | |
68 | Float_t fdBpy[51][10][33]; // By array for polar part | |
69 | Float_t fdBpz[51][10][33]; // Bx array for polar part | |
70 | Float_t fdB[2][2][32]; // Limits of field | |
71 | ||
72 | Int_t fdXl; // Number steps in x for cartesian part | |
73 | Int_t fdYl; // Number steps in y for cartesian par | |
74 | Int_t fdZl; // Number steps in z for cartesian part | |
75 | ||
76 | Int_t fdRn; // Number steps in r for polar part | |
77 | Int_t fdPhin; // Number steps in Phi for polar part | |
78 | Int_t fdZpl; // Number steps in z for polar part | |
79 | ||
80 | ||
81 | ClassDef(AliMagFDM,1) //Class Magnetic field map from IP till muon filter | |
82 | }; | |
83 | ||
84 | #endif |