]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCExBExact.h
Classes for space correction
[u/mrichter/AliRoot.git] / TPC / AliTPCExBExact.h
CommitLineData
faf93237 1#ifndef ALITPC_EXB_EXACT
2#define ALITPC_EXB_EXACT
3
4#include "AliTPCExB.h"
5#include "AliFieldMap.h"
6#include "AliMagF.h"
7
8class AliTPCExBExact:public AliTPCExB {
9public:
10 AliTPCExBExact(const AliFieldMap *bFieldMap,Double_t driftVelocity,
11 Int_t n=100);
12 AliTPCExBExact(const AliMagF *bField,Double_t driftVelocity,Int_t n=100,
13 Int_t nx=100,Int_t ny=100,Int_t nz=100);
14 virtual ~AliTPCExBExact();
15 virtual void Correct(const Double_t *position,Double_t *corrected);
16 void TestThisBeautifulObject(const char* fileName);
17private:
18 AliTPCExBExact& operator=(const AliTPCExBExact&); // don't assign me
19 AliTPCExBExact(const AliTPCExBExact&); // don't copy me
20 void CreateLookupTable();
21 void GetE(Double_t *E,const Double_t *x) const;
22 void GetB(Double_t *B,const Double_t *x) const;
23 void Motion(const Double_t *x,Double_t t,Double_t *dxdt) const;
24 void CalculateDistortion(const Double_t *x,Double_t *dist) const;
25 void DGLStep(Double_t *x,Double_t t,Double_t h) const;
26 const AliFieldMap *fkMap; // the magnetic field map as supplied by the user
27 const AliMagF *fkField; // the magnetic field as supplied by the user
28 Int_t fkN; // max number of integration steps
29 Int_t fkNX; // field mesh points in x direction
30 Int_t fkNY; // field mesh points in y direction
31 Int_t fkNZ; // field mesh points in z direction
32 Double_t fkXMin; // the first grid point in x direction
33 Double_t fkXMax; // the last grid point in x direction
34 Double_t fkYMin; // the first grid point in y direction
35 Double_t fkYMax; // the last grid point in y direction
36 Double_t fkZMin; // the first grid point in z direction
37 Double_t fkZMax; // the last grid point in z direction
38 Double_t *fLook; // the great lookup table
39 static const Double_t fgkEM; // elementary charge over electron mass (C/kg)
40 static const Double_t fgkDriftField; // the TPC drift field (V/m) (modulus)
41
42 ClassDef(AliTPCExBExact,1)
43};
44
45#endif