]>
Commit | Line | Data |
---|---|---|
cf585711 | 1 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
2 | * See cxx source for full Copyright notice */ | |
3 | ||
4 | //// | |
5 | // An approximate (first order) implementation of the ExB effect. | |
6 | //// | |
7 | ||
8 | #ifndef ALITPCEXBFIRST_H | |
9 | #define ALITPCEXBFIRST_H | |
faf93237 | 10 | |
11 | #include "AliTPCExB.h" | |
cf585711 | 12 | class AliFieldMap; |
13 | class AliMagF; | |
faf93237 | 14 | |
15 | class AliTPCExBFirst:public AliTPCExB { | |
16 | public: | |
481f877b | 17 | AliTPCExBFirst(); |
faf93237 | 18 | AliTPCExBFirst(const AliFieldMap *bFieldMap,Double_t driftVelocity); |
19 | AliTPCExBFirst(const AliMagF *bField,Double_t driftVelocity, | |
20 | Int_t nx=100,Int_t ny=100,Int_t nz=100); | |
21 | virtual ~AliTPCExBFirst(); | |
22 | virtual void Correct(const Double_t *position,Double_t *corrected); | |
23 | void TestThisBeautifulObject(const char* fileName); | |
481f877b | 24 | void SetDriftVelocity(Double_t driftVelocity) { |
25 | fDriftVelocity=driftVelocity; | |
26 | }; | |
27 | protected: | |
28 | Double_t fDriftVelocity; // The electron drift velocity. | |
faf93237 | 29 | private: |
30 | AliTPCExBFirst& operator=(const AliTPCExBFirst&); // don't assign me | |
31 | AliTPCExBFirst(const AliTPCExBFirst&); // don't copy me | |
32 | void ConstructCommon(const AliFieldMap *bFieldMap,const AliMagF *bField); | |
33 | void GetMeanFields(Double_t rx,Double_t ry,Double_t rz, | |
34 | Double_t *Bx,Double_t *By) const; | |
481f877b | 35 | Int_t fkNX; // field mesh points in x direction |
36 | Int_t fkNY; // field mesh points in y direction | |
37 | Int_t fkNZ; // field mesh points in z direction | |
38 | Double_t fkXMin; // the first grid point in x direction | |
39 | Double_t fkXMax; // the last grid point in x direction | |
40 | Double_t fkYMin; // the first grid point in y direction | |
41 | Double_t fkYMax; // the last grid point in y direction | |
42 | Double_t fkZMin; // the first grid point in z direction | |
43 | Double_t fkZMax; // the last grid point in z direction | |
44 | Int_t fkNMean; // size of the tablE the mean fields | |
cf585711 | 45 | Double_t *fkMeanBx; //[fkNMean] the mean field in x direction upto a certain z value |
46 | Double_t *fkMeanBy; //[fkNMean] the mean field in y direction upto a certain z value | |
481f877b | 47 | Double_t fkMeanBz; // the mean field in z direction inside the TPC volume |
48 | static const Double_t fgkEM; //! elementary charge over electron mass (C/kg) | |
49 | static const Double_t fgkDriftField; //! the TPC drift field (V/m) (modulus) | |
faf93237 | 50 | |
cf585711 | 51 | ClassDef(AliTPCExBFirst,1) |
faf93237 | 52 | }; |
53 | ||
54 | #endif |