]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliKalmanTrack.h
Use default errors in case the vertexer didn't find any
[u/mrichter/AliRoot.git] / STEER / AliKalmanTrack.h
index 99f407013dfb78a887add3c0efb92e16db79f5ce..4596e3097aa494179d6dbbbd4ce633f6c9bf1daf 100644 (file)
@@ -15,7 +15,6 @@
 #include <TObject.h>
 #include "AliLog.h"
 #include "AliPID.h"
-#include "AliMagF.h"
 
 class AliCluster;
 
@@ -43,9 +42,6 @@ public:
     return 0.;
   }
 
-  virtual Double_t GetDCA(const AliKalmanTrack *p,Double_t &xthis,Double_t &xp) const; 
-  virtual 
-  Double_t PropagateToDCA(AliKalmanTrack *p, Double_t d=0., Double_t x0=0.); 
   virtual Double_t GetAlpha() const {
     AliWarning("Method must be overloaded !\n");
     return 0.;
@@ -66,22 +62,9 @@ public:
 
   virtual Double_t GetPredictedChi2(const AliCluster *) const = 0;
   virtual Int_t PropagateTo(Double_t/*xr*/,Double_t/*x0*/,Double_t/*rho*/) = 0;
-  //virtual Int_t PropagateToVertex(Double_t /*d*/=0., Double_t /*x0*/=0.) = 0; 
-  virtual Int_t Update(const AliCluster*, Double_t /*chi2*/, UInt_t) = 0;
-
-  static void SetFieldMap(const AliMagF *map) { fgkFieldMap=map; }
-  static const AliMagF *GetFieldMap() { return fgkFieldMap; }
 
-  static void SetUniformFieldTracking() {
-     if (fgkFieldMap==0) {
-        printf("AliKalmanTrack: Field map has not been set !\n"); 
-        exit(1);
-     } 
-     fgConvConst=1000/0.299792458/(fgkFieldMap->SolenoidField()+1e-13);
-  }
-  static void SetNonuniformFieldTracking() { fgConvConst=0.; }
+  virtual Int_t Update(const AliCluster*, Double_t /*chi2*/, UInt_t) = 0;
 
-  static Double_t GetConvConst();
   static Double_t MeanMaterialBudget(Double_t *start, Double_t *end, Double_t *mparam);
  
   // Time integration (S.Radomski@gsi.de)
@@ -94,18 +77,18 @@ public:
   void GetIntegratedTimes(Double_t *times) const;
   Double_t GetIntegratedTime(Int_t pdg) const;
   Double_t GetIntegratedLength() const {return fIntegratedLength;}
-  void PrintTime() const;
+  virtual void GetXYZ(Float_t r[3]) const = 0;
 
+  static Double_t GetConvConst();
+  void SetNumberOfClusters(Int_t n) {fN=n;} 
 protected:
-  virtual void GetXYZ(Float_t r[3]) const = 0;
   void     SaveLocalConvConst();
-  Double_t GetLocalConvConst() const;
+  Double_t GetLocalConvConst() const {return fLocalConvConst;}
 
   void External2Helix(Double_t helix[6]) const;
 
   void SetChi2(Double_t chi2) {fChi2=chi2;} 
   void SetMass(Double_t mass) {fMass=mass;}
-  void SetNumberOfClusters(Int_t n) {fN=n;} 
 
   Int_t fLab;             // track label
   Float_t fFakeRatio;     // fake ratio
@@ -114,8 +97,6 @@ protected:
   Int_t fN;               // number of associated clusters
 
 private:
-  static const AliMagF *fgkFieldMap;//pointer to the magnetic field map
-  static Double_t fgConvConst;      //conversion "curvature(1/cm) -> pt(GeV/c)"
   Double_t fLocalConvConst;   //local conversion "curvature(1/cm) -> pt(GeV/c)"
 
   // variables for time integration (S.Radomski@gsi.de)
@@ -123,35 +104,9 @@ private:
   Double_t fIntegratedTime[AliPID::kSPECIES];       // integrated time
   Double_t fIntegratedLength;        // integrated length
   
-  ClassDef(AliKalmanTrack,4)    // Reconstructed track
+  ClassDef(AliKalmanTrack,5)    // Reconstructed track
 };
 
-inline Double_t AliKalmanTrack::GetConvConst() {
-//
-//  For backward compatibility only !
-//
-    if (fgConvConst > 0 || fgConvConst < 0) return fgConvConst; 
-    return 1000/0.299792458/(fgkFieldMap->SolenoidField()+1e-13);
-}
-
-inline void AliKalmanTrack::SaveLocalConvConst() {
-  //---------------------------------------------------------------------
-  // Saves local conversion constant "curvature (1/cm) -> pt (GeV/c)" 
-  //---------------------------------------------------------------------
-     if (fgConvConst > 0 || fgConvConst < 0) return; //uniform field tracking
-     Float_t r[3]={0.,0.,0.}; GetXYZ(r);
-     Float_t b[3]; fgkFieldMap->Field(r,b);
-     fLocalConvConst=1000/0.299792458/(1e-13 - b[2]);
-} 
-
-inline Double_t AliKalmanTrack::GetLocalConvConst() const {
-  //---------------------------------------------------------------------
-  // Returns conversion constant "curvature (1/cm) -> pt (GeV/c)" 
-  //---------------------------------------------------------------------
-     if (fgConvConst > 0 || fgConvConst < 0) return fgConvConst; //uniform field tracking
-     return fLocalConvConst;
-} 
-
 #endif