]>
Commit | Line | Data |
---|---|---|
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 | ||
8 | class AliTPCExBExact:public AliTPCExB { | |
9 | public: | |
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); | |
17 | private: | |
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 |