]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliExternalTrackParam.h
Added track cut method, warning for q<0, profiles for qmax vs pad row and qtot vs...
[u/mrichter/AliRoot.git] / STEER / AliExternalTrackParam.h
index 6bbc7d9d3aa57b9c023f2a30b02b5fde894567c6..a06eb9511cadede9d407052d11a08284fdcebc85 100644 (file)
@@ -31,6 +31,8 @@ const Double_t kMostProbablePt=0.35;
 
 class AliESDVertex;
 
+Double_t ApproximateBetheBloch(Double_t);
+
 class AliExternalTrackParam: public TObject {
  public:
   AliExternalTrackParam();
@@ -87,7 +89,8 @@ class AliExternalTrackParam: public TObject {
   void GetDZ(Double_t x,Double_t y,Double_t z,Double_t b,Float_t dz[2]) const; 
   Double_t GetD(Double_t xv, Double_t yv, Double_t b) const; 
   Double_t GetLinearD(Double_t xv, Double_t yv) const; 
-  Bool_t CorrectForMaterial(Double_t d, Double_t x0, Double_t mass);
+  Bool_t CorrectForMaterial(Double_t d, Double_t x0, Double_t mass,
+                           Double_t (*f)(Double_t)=ApproximateBetheBloch);
   Double_t GetPredictedChi2(Double_t p[2],Double_t cov[3]) const;
   Bool_t Update(Double_t p[2],Double_t cov[3]);
   Bool_t Rotate(Double_t alpha);
@@ -97,6 +100,8 @@ class AliExternalTrackParam: public TObject {
       if (PropagateTo(x,b)) return kTRUE;
     return kFALSE;
   }
+  void   Propagate(Double_t len,Double_t x[3],Double_t p[3],Double_t bz) const;
+  Bool_t Intersect(Double_t pnt[3], Double_t norm[3], Double_t bz) const;
 
   void GetHelixParameters(Double_t h[6], Double_t b) const;
   Double_t GetDCA(const AliExternalTrackParam *p, Double_t b,
@@ -104,6 +109,7 @@ class AliExternalTrackParam: public TObject {
   Double_t PropagateToDCA(AliExternalTrackParam *p, Double_t b);
   Bool_t PropagateToDCA(const AliESDVertex *vtx, Double_t b, Double_t maxd);
 
+  void GetDirection(Double_t d[3]) const;
   Bool_t GetPxPyPz(Double_t *p) const;
   Bool_t GetXYZ(Double_t *p) const;
   Bool_t GetCovarianceXYZPxPyPz(Double_t cv[21]) const;