From: abercuci Date: Fri, 29 May 2009 07:29:24 +0000 (+0000) Subject: protect against track prolongation fail (Savannah bug 50806) X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=530fb4e22193c3abe5ef5404335d4a99e6311846;p=u%2Fmrichter%2FAliRoot.git protect against track prolongation fail (Savannah bug 50806) --- diff --git a/TRD/AliTRDtrackV1.cxx b/TRD/AliTRDtrackV1.cxx index 0c27e177307..87f6f968300 100644 --- a/TRD/AliTRDtrackV1.cxx +++ b/TRD/AliTRDtrackV1.cxx @@ -508,12 +508,12 @@ Int_t AliTRDtrackV1::GetProlongation(Double_t xk, Double_t &y, Double_t &z) { // // Find a prolongation at given x - // Return 0 if it does not exist + // Return -1 if it does not exist // Double_t bz = GetBz(); - if (!AliExternalTrackParam::GetYAt(xk,bz,y)) return 0; - if (!AliExternalTrackParam::GetZAt(xk,bz,z)) return 0; + if (!AliExternalTrackParam::GetYAt(xk,bz,y)) return -1; + if (!AliExternalTrackParam::GetZAt(xk,bz,z)) return -1; return 1; @@ -629,7 +629,7 @@ Int_t AliTRDtrackV1::PropagateToR(Double_t r,Double_t step) Double_t alpha = TMath::ATan2(xyz0[1],xyz0[0]); Rotate(alpha,kTRUE); GetXYZ(xyz0); - GetProlongation(x,y,z); + if(GetProlongation(r,y,z)<0) return -1; xyz1[0] = x * TMath::Cos(alpha) + y * TMath::Sin(alpha); xyz1[1] = x * TMath::Sin(alpha) - y * TMath::Cos(alpha); xyz1[2] = z; @@ -646,7 +646,7 @@ Int_t AliTRDtrackV1::PropagateToR(Double_t r,Double_t step) Double_t alpha = TMath::ATan2(xyz0[1],xyz0[0]); Rotate(alpha,kTRUE); GetXYZ(xyz0); - GetProlongation(r,y,z); + if(GetProlongation(r,y,z)<0) return -1; xyz1[0] = r * TMath::Cos(alpha) + y * TMath::Sin(alpha); xyz1[1] = r * TMath::Sin(alpha) - y * TMath::Cos(alpha); xyz1[2] = z;