]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/TPCbase/AliTPCExBFirst.h
doxy: TPC/TPCbase converted
[u/mrichter/AliRoot.git] / TPC / TPCbase / AliTPCExBFirst.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 /// \class AliTPCExBFirst
5 /// \brief An approximate (first order) implementation of the ExB effect.
6
7 #ifndef ALITPCEXBFIRST_H
8 #define ALITPCEXBFIRST_H
9
10 #include "AliTPCExB.h"
11 //class AliFieldMap;
12 class AliMagF;
13
14 class AliTPCExBFirst:public AliTPCExB {
15 public:
16   AliTPCExBFirst();
17   //  AliTPCExBFirst(const AliFieldMap *bFieldMap,Double_t driftVelocity);
18   AliTPCExBFirst(const AliMagF *bField,Double_t driftVelocity,
19                  Int_t nx=100,Int_t ny=100,Int_t nz=100);
20   virtual ~AliTPCExBFirst();
21   virtual void Correct(const Double_t *position,Double_t *corrected);
22   void TestThisBeautifulObject(const char* fileName);
23   void SetDriftVelocity(Double_t driftVelocity) {
24     fDriftVelocity=driftVelocity;
25   };
26 protected:
27   Double_t fDriftVelocity; ///< The electron drift velocity.
28 private:
29   AliTPCExBFirst& operator=(const AliTPCExBFirst&); // don't assign me
30   AliTPCExBFirst(const AliTPCExBFirst&); // don't copy me
31   //  void ConstructCommon(const AliFieldMap *bFieldMap,const AliMagF *bField);
32   void ConstructCommon(const AliMagF *bField);
33   void GetMeanFields(Double_t rx,Double_t ry,Double_t rz,
34                      Double_t *Bx,Double_t *By) const;
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
45   /// the mean field in x direction upto a certain z value
46   Double_t *fkMeanBx; //[fkNMean]
47   /// the mean field in y direction upto a certain z value
48   Double_t *fkMeanBy; //[fkNMean]
49   Double_t fkMeanBz;  ///< the mean field in z direction inside the TPC volume
50   static const Double_t fgkEM; //!< elementary charge over electron mass (C/kg)
51   static const Double_t fgkDriftField; //!< the TPC drift field (V/m) (modulus)
52
53   /// \cond CLASSIMP
54   ClassDef(AliTPCExBFirst,2)
55   /// \endcond
56 };
57
58 #endif