-#ifndef ALITPC_EXB_EXACT
-#define ALITPC_EXB_EXACT
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+////
+// An exact implementation of the ExB effect.
+////
+
+#ifndef ALITPCEXBEXACT_H
+#define ALITPCEXBEXACT_H
#include "AliTPCExB.h"
-#include "AliFieldMap.h"
-#include "AliMagF.h"
+
+class AliMagF;
class AliTPCExBExact:public AliTPCExB {
public:
AliTPCExBExact(); // just for the I/O stuff
- AliTPCExBExact(const AliFieldMap *bFieldMap,Double_t driftVelocity,
- Int_t n=100);
+ //AliTPCExBExact(const AliMagF *bFieldMap,Double_t driftVelocity,Int_t n=100);
AliTPCExBExact(const AliMagF *bField,Double_t driftVelocity,Int_t n=100,
Int_t nx=30,Int_t ny=30,Int_t nz=100);
virtual ~AliTPCExBExact();
virtual void Correct(const Double_t *position,Double_t *corrected);
- void TestThisBeautifulObject(const AliFieldMap *bFieldMap,
- const char* fileName);
+ //void TestThisBeautifulObject(const AliFieldMap *bFieldMap,const char* fileName);
void TestThisBeautifulObject(const AliMagF *bField,const char* fileName);
protected:
Double_t fDriftVelocity; // The electron drift velocity.
AliTPCExBExact(const AliTPCExBExact&); // don't copy me
void TestThisBeautifulObjectGeneric(const char* fileName);
void CreateLookupTable();
- void GetE(Double_t *E,const Double_t *x) const;
- void GetB(Double_t *B,const Double_t *x) const;
+ void GetE(Double_t *e,const Double_t *x) const;
+ void GetB(Double_t *b,const Double_t *x) const;
void Motion(const Double_t *x,Double_t t,Double_t *dxdt) const;
void CalculateDistortion(const Double_t *x,Double_t *dist) const;
void DGLStep(Double_t *x,Double_t t,Double_t h) const;
- const AliFieldMap *fkMap; //! the magnetic field map as supplied by the user
+ //const AliFieldMap *fkMap; //! the magnetic field map as supplied by the user
const AliMagF *fkField; //! the magnetic field as supplied by the user
Int_t fkN; // max number of integration steps
Int_t fkNX; // field mesh points in x direction