Line data Source code
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 0 : fDriftVelocity=driftVelocity;
25 0 : };
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 24 : ClassDef(AliTPCExBFirst,2)
55 : /// \endcond
56 : };
57 :
58 : #endif
|