]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSv11GeometrySPD.cxx
When calculating a*a-b*b the form (a-b)*(a+b) is usually more numerically stable.
[u/mrichter/AliRoot.git] / ITS / AliITSv11GeometrySPD.cxx
index 2844e4e0f33e392266cfd0fd3fe0c7a12650d359..2f511b764c7e1c512c4ba46b443ac2184fb9d40c 100644 (file)
@@ -1311,7 +1311,7 @@ Bool_t AliITSv11GeometrySPD::CFHolePoints(Double_t s,Double_t r1,
     bc = 2.*l*r2;
     if(bc==0.0) {printf("bc=0 l=%e r2=%e\n",l,r2);return kFALSE;}
     betac = TMath::ACos(ac/bc);
-    alphac = TMath::Sqrt(bc*bc-ac*ac)/(2.*l*r1);
+    alphac = TMath::Sqrt((bc-ac)*(bc+ac))/(2.*l*r1);
     scb = r2*betac;
     sca = r1*alphac;
     t = r1*0.5*TMath::Pi() - sca + scb;