From 3a2f227d7cc0a2cc73fd92928496efd1a912e4ee Mon Sep 17 00:00:00 2001 From: hristov Date: Fri, 6 Aug 2004 08:10:31 +0000 Subject: [PATCH] Fix for floating point exception (T.Kuhr) --- ITS/AliITStrackerSA.cxx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/ITS/AliITStrackerSA.cxx b/ITS/AliITStrackerSA.cxx index ee8f1af5522..3f26388a616 100644 --- a/ITS/AliITStrackerSA.cxx +++ b/ITS/AliITStrackerSA.cxx @@ -1206,14 +1206,15 @@ Int_t AliITStrackerSA::FindEquation(Float_t x1, Float_t y1, Float_t x2, Float_t //c2 is -rlayer*rlayer if(a1==0) return 0; - Float_t m = c2-c1; - Float_t aA = (b1*b1)/(a1*a1)+1; - Float_t bB = (-2*m*b1/(a1*a1)); - Float_t cC = c2+(m*m)/(a1*a1); - if((bB*bB-4*aA*cC)<0) return 0; + Double_t m = c2-c1; + Double_t aA = (b1*b1)/(a1*a1)+1; + Double_t bB = (-2*m*b1/(a1*a1)); + Double_t cC = c2+(m*m)/(a1*a1); + Double_t dD = bB*bB-4*aA*cC; + if(dD<0) return 0; - y1 = (-bB+TMath::Sqrt(bB*bB-4*aA*cC))/(2*aA); - y2 = (-bB-TMath::Sqrt(bB*bB-4*aA*cC))/(2*aA); + y1 = (-bB+TMath::Sqrt(dD))/(2*aA); + y2 = (-bB-TMath::Sqrt(dD))/(2*aA); x1 = (c2-c1-b1*y1)/a1; x2 = (c2-c1-b1*y2)/a1; -- 2.43.0