]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliMagFCM.h
Mainly coding conventions + some small bug fixes
[u/mrichter/AliRoot.git] / STEER / AliMagFCM.h
CommitLineData
aee8290b 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
10class AliMagFCM : public AliMagF
11{
12 //Alice Magnetic Field with constan mesh
13
14public:
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();
ef42d733 22 void Copy(AliMagFCM &magf) const;
aee8290b 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
35protected:
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