Exact solution instead of linear approximation in PropagateToVertex (Yu.Belikov)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 13 Mar 2003 10:47:01 +0000 (10:47 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 13 Mar 2003 10:47:01 +0000 (10:47 +0000)
ITS/AliITStrackV2.cxx

index 28ae42bd369cb168d433de924ee88ec6807d950c..a9c2298e012330b1498158ff9e1ce5cdaf2c0a27 100644 (file)
@@ -160,9 +160,11 @@ Int_t AliITStrackV2::PropagateToVertex(Double_t d,Double_t x0) {
   //------------------------------------------------------------------
   //This function propagates a track to the minimal distance from the origin
   //------------------------------------------------------------------
-  Double_t xv=fP2*(fX*fP2 - fP0*TMath::Sqrt(1.- fP2*fP2)); //linear approxim.
-  PropagateTo(xv,d,x0);   
-  return 0;
+  //Double_t xv=fP2*(fX*fP2 - fP0*TMath::Sqrt(1.- fP2*fP2)); //linear approxim.
+  Double_t tgf=-(fP4*fX - fP2)/(fP4*fP0 + TMath::Sqrt(1 - fP2*fP2));
+  Double_t snf=tgf/TMath::Sqrt(1.+ tgf*tgf);
+  Double_t xv=(snf - fP2)/fP4 + fX;
+  return PropagateTo(xv,d,x0);
 }
 
 //____________________________________________________________________________