]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliMagFDM.h
Removing the hard-wired particle masses (B. Hippolyte)
[u/mrichter/AliRoot.git] / STEER / AliMagFDM.h
CommitLineData
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
0742d588 8//-------------------------------------------------------------------------
9// Field with Magnetic Field map
10// Used by AliRun class
11// Author:
12//-------------------------------------------------------------------------
13
57754f18 14#include "AliMagFC.h"
aee8290b 15//
57754f18 16class AliMagFDM : public AliMagFC
aee8290b 17{
18//Alice Magnetic Field:Magnetic field map from IP to muon filter for Muon arm
19
20public:
e2afb3b6 21 AliMagFDM();
d0f1ee3b 22 AliMagFDM(const char *name, const char *title, Int_t integ,
23 Float_t factor, Float_t fmax);
aee8290b 24 virtual ~AliMagFDM(){}
611fa94a 25 virtual void Field(const float *x, float *b) const;
26 virtual void Field(const double *x, double *b) const;
aee8290b 27 virtual void ReadField();
4cc8933f 28 virtual void SetSolenoidField(Float_t field = 2.) {fSolenoid = field;}
7ebb06c3 29 virtual Float_t SolenoidField() const {
30 return -Factor()*fSolenoid;
31 }
ecd57058 32 Int_t FZ(Double_t u, const Float_t *Ar, Float_t du, Int_t ki, Int_t nu) const;
6f3038e9 33 Double_t Ba(Int_t kai, Double_t za1, Double_t za2, Double_t al1, Double_t al2, Double_t al3, Int_t ka, Int_t ma) const;
34 Double_t Bb(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) const;
aee8290b 35
36
37protected:
38
39//
57754f18 40 Float_t fSolenoid; // Solenoid Field Strength
41 Int_t fInd; // Character number of validity Map region
aee8290b 42
803c9752 43 Float_t fZmin; // Start of the cartesian part of MAP in z
44 Float_t fZmax; // End of Map in z
45 Float_t fYmax; // Start of the cartesian part of MAP in y
46 Float_t fYmin; // End of the cartesian part of MAP in y
47 Float_t fZpmx; // End of the polar part of MAP in z
48 Float_t fZpmn; // Start of the polar part of MAP in z
49 Float_t fRmax; // Maximal radius of the polar part of MAP
50 Float_t fRmin; // Minimal radius of the polar part of MAP
aee8290b 51
52
803c9752 53 Float_t fXdel; // step in x - cartesian part of MAP
54 Float_t fYdel; // step in y - cartesian part of MAP
55 Float_t fZdel; // step in z - cartesian part of MAP
aee8290b 56
803c9752 57 Float_t fRdel; // step in r - polar part of MAP
58 Float_t fPhid; // step in Phi - polar part of MAP
59 Float_t fZpdl; // step in z - polar part of MAP
aee8290b 60
803c9752 61 Float_t fCx1; // Field constant
62 Float_t fCx2; // Field constant
63 Float_t fAx1; // Field constant
64 Float_t fAx2; // Field constant
aee8290b 65
803c9752 66 Float_t fZc[81]; // z coordinates in cartesian part
67 Float_t fY[81]; // y coordinates in cartesian part
68 Float_t fBcx[81][81][44]; // Bx array for cartesian part
69 Float_t fBcy[81][81][44]; // By array for cartesian part
70 Float_t fBcz[81][81][44]; // Bz array for cartesian part
aee8290b 71
803c9752 72 Float_t fZp[51]; // z coordinates in polar part
73 Float_t fR[10]; // r coordinates in polar part
74 Float_t fPhi[33]; // Phi coordinates in polar part
aee8290b 75
803c9752 76 Float_t fBpx[51][10][33]; // Bx array for polar part
77 Float_t fBpy[51][10][33]; // By array for polar part
78 Float_t fBpz[51][10][33]; // Bx array for polar part
79 Float_t fB[2][2][32]; // Limits of field
aee8290b 80
803c9752 81 Int_t fXl; // Number steps in x for cartesian part
82 Int_t fYl; // Number steps in y for cartesian par
83 Int_t fZl; // Number steps in z for cartesian part
aee8290b 84
803c9752 85 Int_t fRn; // Number steps in r for polar part
86 Int_t fPhin; // Number steps in Phi for polar part
87 Int_t fZpl; // Number steps in z for polar part
aee8290b 88
89
90 ClassDef(AliMagFDM,1) //Class Magnetic field map from IP till muon filter
91};
92
93#endif