]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCTracklet.cxx
Missing protection - check the presence of array
[u/mrichter/AliRoot.git] / TPC / AliTPCTracklet.cxx
index fcc3ebd9a9ac72c697cdfc7535817d3a6986508c..9f9f4e86b834a3bea8a4b7ca646929f225f55038 100755 (executable)
@@ -617,7 +617,7 @@ Bool_t AliTPCTracklet::Riemann2Helix(Double_t *a,Double_t */*ca*/,
   Double_t R=.5*TMath::Sqrt(4.*a[0]+a[1]*a[1]+a[2]*a[2]);
   Double_t dx=x0-xr0;
   if (dx*dx>=R*R) return kFALSE;
-  Double_t dy=TMath::Sqrt(R*R-dx*dx); //sign!!
+  Double_t dy=TMath::Sqrt((R-dx)*(R+dx)); //sign!!
   if (TMath::Abs(yr0+dy)>TMath::Abs(yr0-dy))
     dy=-dy;
   Double_t y0=yr0+dy; 
@@ -719,19 +719,25 @@ Bool_t AliTPCTracklet::PropagateToMeanX(const AliTPCTracklet &t1,
       t2m=new AliExternalTrackParam(*t2.GetOuter());
     }
     Double_t mx=.5*(t1m->GetX()+t2m->GetX());
-    Double_t b1,b2;
+    //Double_t b1,b2;
     Double_t xyz[3];
     t1m->GetXYZ(xyz);
-    b1=GetBz(xyz);
+    //b1=GetBz(xyz);
+    Double_t b1[3]; AliTracker::GetBxByBz(xyz,b1);
     t2m->GetXYZ(xyz);
-    b2=GetBz(xyz);
+    //b2=GetBz(xyz);
+    Double_t b2[3]; AliTracker::GetBxByBz(xyz,b2);
     if (t1m->Rotate(t2m->GetAlpha()) 
-       && t1m->PropagateTo(mx,b1) 
-       && t2m->PropagateTo(mx,b2));
+       //&& t1m->PropagateTo(mx,b1) 
+       //&& t2m->PropagateTo(mx,b2));
+       && t1m->PropagateToBxByBz(mx,b1) 
+       && t2m->PropagateToBxByBz(mx,b2));
     else
       if (t2m->Rotate(t1m->GetAlpha())
-         && t1m->PropagateTo(mx,b1) 
-         && t2m->PropagateTo(mx,b2));
+         //&& t1m->PropagateTo(mx,b1) 
+         //&& t2m->PropagateTo(mx,b2));
+         && t1m->PropagateToBxByBz(mx,b1) 
+         && t2m->PropagateToBxByBz(mx,b2));
       else {
        delete t1m;
        delete t2m;