]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliMagFCM.h
Coding convention corrections + few minor bug fixes
[u/mrichter/AliRoot.git] / STEER / AliMagFCM.h
1 #ifndef ALIMAGFCM_H
2 #define ALIMAGFCM_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 AliMagFCM : public AliMagF
11 {
12   //Alice Magnetic Field with constan mesh
13
14 public:
15   AliMagFCM(){}
16   AliMagFCM(const char *name, const char *title, const Int_t integ, const Int_t map, 
17            const Float_t factor, const Float_t fmax);
18   AliMagFCM(const AliMagFCM &mag);
19   virtual ~AliMagFCM() {delete fB;}
20   virtual void Field(Float_t *x, Float_t *b);
21   virtual void ReadField();
22   virtual void Copy(AliMagFCM &magf) const;
23   virtual AliMagFCM & operator=(const AliMagFCM &magf);
24
25   Float_t Bx(const Int_t ix, const Int_t iy, const Int_t iz) {
26     return (*fB)(3*(iz*(fXn*fYn)+iy*fXn+ix));
27   }
28   Float_t By(const Int_t ix, const Int_t iy, const Int_t iz) {
29     return (*fB)(3*(iz*(fXn*fYn)+iy*fXn+ix)+1);
30   }
31   Float_t Bz(const Int_t ix, const Int_t iy, const Int_t iz) {
32     return (*fB)(3*(iz*(fXn*fYn)+iy*fXn+ix)+2);
33   }
34
35 protected:
36
37   Float_t    fXbeg;  // Start of mesh in x
38   Float_t    fYbeg;  // Start of mesh in y
39   Float_t    fZbeg;  // Start of mesh in z
40   Float_t    fXdel;  // Mesh step in x
41   Float_t    fYdel;  // Mesh step in y
42   Float_t    fZdel;  // Mesh step in z
43   Double_t   fXdeli; // Inverse of Mesh step in x
44   Double_t   fYdeli; // Inverse of Mesh step in y
45   Double_t   fZdeli; // Inverse of Mesh step in z
46   Int_t      fXn;    // Number of mesh points in x
47   Int_t      fYn;    // Number of mesh points in y
48   Int_t      fZn;    // Number of mesh points in z
49   TVector   *fB;     // Field map
50   
51   ClassDef(AliMagFCM,1)  //Class for all Alice MagField with Constant Mesh
52 };
53
54 #endif