]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/TPCbase/AliTPCExBExact.h
doxy: TPC/TPCbase converted
[u/mrichter/AliRoot.git] / TPC / TPCbase / AliTPCExBExact.h
CommitLineData
cf585711 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
7d855b04 4/// \class AliTPCExBExact
5/// \brief An exact implementation of the ExB effect.
cf585711 6
7#ifndef ALITPCEXBEXACT_H
8#define ALITPCEXBEXACT_H
faf93237 9
10#include "AliTPCExB.h"
cf585711 11
cf585711 12class AliMagF;
faf93237 13
14class AliTPCExBExact:public AliTPCExB {
15public:
481f877b 16 AliTPCExBExact(); // just for the I/O stuff
f7a1cc68 17 //AliTPCExBExact(const AliMagF *bFieldMap,Double_t driftVelocity,Int_t n=100);
faf93237 18 AliTPCExBExact(const AliMagF *bField,Double_t driftVelocity,Int_t n=100,
481f877b 19 Int_t nx=30,Int_t ny=30,Int_t nz=100);
faf93237 20 virtual ~AliTPCExBExact();
21 virtual void Correct(const Double_t *position,Double_t *corrected);
f7a1cc68 22 //void TestThisBeautifulObject(const AliFieldMap *bFieldMap,const char* fileName);
481f877b 23 void TestThisBeautifulObject(const AliMagF *bField,const char* fileName);
24protected:
7d855b04 25 Double_t fDriftVelocity; ///< The electron drift velocity.
faf93237 26private:
27 AliTPCExBExact& operator=(const AliTPCExBExact&); // don't assign me
28 AliTPCExBExact(const AliTPCExBExact&); // don't copy me
481f877b 29 void TestThisBeautifulObjectGeneric(const char* fileName);
faf93237 30 void CreateLookupTable();
cf585711 31 void GetE(Double_t *e,const Double_t *x) const;
32 void GetB(Double_t *b,const Double_t *x) const;
faf93237 33 void Motion(const Double_t *x,Double_t t,Double_t *dxdt) const;
34 void CalculateDistortion(const Double_t *x,Double_t *dist) const;
35 void DGLStep(Double_t *x,Double_t t,Double_t h) const;
f7a1cc68 36 //const AliFieldMap *fkMap; //! the magnetic field map as supplied by the user
7d855b04 37 const AliMagF *fkField; //!< the magnetic field as supplied by the user
38 Int_t fkN; ///< max number of integration steps
39 Int_t fkNX; ///< field mesh points in x direction
40 Int_t fkNY; ///< field mesh points in y direction
41 Int_t fkNZ; ///< field mesh points in z direction
42 Double_t fkXMin; ///< the first grid point in x direction
43 Double_t fkXMax; ///< the last grid point in x direction
44 Double_t fkYMin; ///< the first grid point in y direction
45 Double_t fkYMax; ///< the last grid point in y direction
46 Double_t fkZMin; ///< the first grid point in z direction
47 Double_t fkZMax; ///< the last grid point in z direction
48 Int_t fkNLook; ///< size of the lookup table
49 /// the great lookup table
50 Double_t *fkLook; //[fkNLook]
51 static const Double_t fgkEM; //!< elementary charge over electron mass (C/kg)
52 static const Double_t fgkDriftField; //!< the TPC drift field (V/m) (modulus)
faf93237 53
7d855b04 54 /// \cond CLASSIMP
faf93237 55 ClassDef(AliTPCExBExact,1)
7d855b04 56 /// \endcond
faf93237 57};
58
59#endif