X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliTPCExBFirst.h;h=b51a03c07b5d9762a8c59112f9ad91760e9b4725;hb=55f67952dba2f77caacd756b697055d22c7b562e;hp=c003ea0f67531428dd2f00051ee82d7c085eaa32;hpb=faf9323738d83434592a89e8b4439f5b9130db9c;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliTPCExBFirst.h b/TPC/AliTPCExBFirst.h index c003ea0f675..b51a03c07b5 100644 --- a/TPC/AliTPCExBFirst.h +++ b/TPC/AliTPCExBFirst.h @@ -1,38 +1,52 @@ -#ifndef ALITPC_EXB_FIRST_H -#define ALITPC_EXB_FIRST_H +/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * See cxx source for full Copyright notice */ + +//// +// An approximate (first order) implementation of the ExB effect. +//// + +#ifndef ALITPCEXBFIRST_H +#define ALITPCEXBFIRST_H #include "AliTPCExB.h" -#include "AliFieldMap.h" -#include "AliMagF.h" +class AliFieldMap; +class AliMagF; class AliTPCExBFirst:public AliTPCExB { public: + AliTPCExBFirst(); AliTPCExBFirst(const AliFieldMap *bFieldMap,Double_t driftVelocity); AliTPCExBFirst(const AliMagF *bField,Double_t driftVelocity, Int_t nx=100,Int_t ny=100,Int_t nz=100); virtual ~AliTPCExBFirst(); virtual void Correct(const Double_t *position,Double_t *corrected); void TestThisBeautifulObject(const char* fileName); + void SetDriftVelocity(Double_t driftVelocity) { + fDriftVelocity=driftVelocity; + }; +protected: + Double_t fDriftVelocity; // The electron drift velocity. private: AliTPCExBFirst& operator=(const AliTPCExBFirst&); // don't assign me AliTPCExBFirst(const AliTPCExBFirst&); // don't copy me void ConstructCommon(const AliFieldMap *bFieldMap,const AliMagF *bField); void GetMeanFields(Double_t rx,Double_t ry,Double_t rz, Double_t *Bx,Double_t *By) const; - Int_t fkNX; // field mesh points in x direction - Int_t fkNY; // field mesh points in y direction - Int_t fkNZ; // field mesh points in z direction - Double_t fkXMin; // the first grid point in x direction - Double_t fkXMax; // the last grid point in x direction - Double_t fkYMin; // the first grid point in y direction - Double_t fkYMax; // the last grid point in y direction - Double_t fkZMin; // the first grid point in z direction - Double_t fkZMax; // the last grid point in z direction - Double_t *fMeanBx; // the mean field in x direction upto a certain z value - Double_t *fMeanBy; // the mean field in y direction upto a certain z value - Double_t fMeanBz; // the mean field in z direction inside the TPC volume - static const Double_t fgkEM; // elementary charge over electron mass (C/kg) - static const Double_t fgkDriftField; // the TPC drift field (V/m) (modulus) + Int_t fkNX; // field mesh points in x direction + Int_t fkNY; // field mesh points in y direction + Int_t fkNZ; // field mesh points in z direction + Double_t fkXMin; // the first grid point in x direction + Double_t fkXMax; // the last grid point in x direction + Double_t fkYMin; // the first grid point in y direction + Double_t fkYMax; // the last grid point in y direction + Double_t fkZMin; // the first grid point in z direction + Double_t fkZMax; // the last grid point in z direction + Int_t fkNMean; // size of the tablE the mean fields + Double_t *fkMeanBx; //[fkNMean] the mean field in x direction upto a certain z value + Double_t *fkMeanBy; //[fkNMean] the mean field in y direction upto a certain z value + Double_t fkMeanBz; // the mean field in z direction inside the TPC volume + static const Double_t fgkEM; //! elementary charge over electron mass (C/kg) + static const Double_t fgkDriftField; //! the TPC drift field (V/m) (modulus) ClassDef(AliTPCExBFirst,1) };