Some of the coding violations corrected
[u/mrichter/AliRoot.git] / TPC / AliTPCExBFirst.h
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
10
11 #include "AliTPCExB.h"
12 //class AliFieldMap;
13 class AliMagF;
14
15 class AliTPCExBFirst:public AliTPCExB {
16 public:
17   AliTPCExBFirst();
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);
24   void SetDriftVelocity(Double_t driftVelocity) {
25     fDriftVelocity=driftVelocity;
26   };
27 protected:
28   Double_t fDriftVelocity; // The electron drift velocity.
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 ConstructCommon(const AliMagF *bField);
34   void GetMeanFields(Double_t rx,Double_t ry,Double_t rz,
35                      Double_t *Bx,Double_t *By) const;
36   Int_t fkNX;         // field mesh points in x direction
37   Int_t fkNY;         // field mesh points in y direction
38   Int_t fkNZ;         // field mesh points in z direction
39   Double_t fkXMin;    // the first grid point in x direction
40   Double_t fkXMax;    // the last grid point in x direction
41   Double_t fkYMin;    // the first grid point in y direction
42   Double_t fkYMax;    // the last grid point in y direction
43   Double_t fkZMin;    // the first grid point in z direction
44   Double_t fkZMax;    // the last grid point in z direction
45   Int_t fkNMean;      // size of the tablE the mean fields
46   Double_t *fkMeanBx; //[fkNMean] the mean field in x direction upto a certain z value
47   Double_t *fkMeanBy; //[fkNMean] the mean field in y direction upto a certain z value
48   Double_t fkMeanBz;  // the mean field in z direction inside the TPC volume
49   static const Double_t fgkEM; //! elementary charge over electron mass (C/kg)
50   static const Double_t fgkDriftField; //! the TPC drift field (V/m) (modulus)
51
52   ClassDef(AliTPCExBFirst,2)
53 };
54
55 #endif