]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliMagFDM.h
Coding convention corrections + few minor bug fixes
[u/mrichter/AliRoot.git] / STEER / AliMagFDM.h
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