// Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
//-------------------------------------------------------------------------
#include <TObject.h>
+#include "AliMagF.h"
class AliCluster;
class TTree;
class AliKalmanTrack;
class AliESD;
-class AliMagF;
class AliTrackPoint;
class AliTracker : public TObject {
virtual Int_t LoadClusters(TTree *)=0;
virtual void UnloadClusters()=0;
virtual AliCluster *GetCluster(Int_t index) const=0;
- // virtual UShort_t GetVolumeID(Int_t index) {return 0;}
- virtual Bool_t GetTrackPoint(Int_t /* index */ , AliTrackPoint& /* p */) { return kFALSE;}
+ virtual Bool_t GetTrackPoint(Int_t /* index */ , AliTrackPoint& /* p */) const { return kFALSE;}
virtual void UseClusters(const AliKalmanTrack *t, Int_t from=0) const;
virtual void CookLabel(AliKalmanTrack *t,Float_t wrong) const;
Double_t GetX() const {return fX;}
static void SetFieldMap(const AliMagF* map, Bool_t uni);
static const AliMagF *GetFieldMap() {return fgkFieldMap;}
+ static Double_t GetBz(Float_t *r) {
+ Float_t b[3]; fgkFieldMap->Field(r,b);
+ Double_t bz=-Double_t(b[2]);
+ return (TMath::Sign(1e-13,bz) + bz);
+ }
+ static Double_t GetBz() {return fgBz;}
+ static Bool_t UniformField() {return fgUniformField;}
private:
AliTracker & operator=(const AliTracker & atr);
- static const AliMagF *fgkFieldMap; //field map
+ static Bool_t fgUniformField; // uniform field flag
+ static const AliMagF *fgkFieldMap; // field map
+ static Double_t fgBz; // Nominal Bz (kG)
Double_t fX; //X-coordinate of the primary vertex
Double_t fY; //Y-coordinate of the primary vertex
Double_t fSigmaY; // error of the primary vertex position in Y
Double_t fSigmaZ; // error of the primary vertex position in Z
- ClassDef(AliTracker,2) //abstract tracker
+ ClassDef(AliTracker,3) //abstract tracker
};
#endif