Removed completelly high noise at channel > 700 (Marian)
[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 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   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
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)
50
51   ClassDef(AliTPCExBFirst,1)
52 };
53
54 #endif