From fad64ec2ac01317bfbe39ed6c8a57ed465890d38 Mon Sep 17 00:00:00 2001
From: David Blyth <dblyth@anl.gov>
Date: Mon, 26 Jun 2017 23:34:27 +0000
Subject: [PATCH] Added Java Fast Math for fast acos()

---
 detector-framework/pom.xml                                   | 5 +++++
 .../src/main/java/org/lcsim/detector/solids/GeomOp3D.java    | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/detector-framework/pom.xml b/detector-framework/pom.xml
index 396e5ae..0937907 100644
--- a/detector-framework/pom.xml
+++ b/detector-framework/pom.xml
@@ -105,6 +105,11 @@
       <artifactId>reflections</artifactId>
       <version>0.9.9</version>
     </dependency>
+    <dependency>
+      <groupId>net.jafama</groupId>
+      <artifactId>jafama</artifactId>
+      <version>2.1.0</version>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/detector-framework/src/main/java/org/lcsim/detector/solids/GeomOp3D.java b/detector-framework/src/main/java/org/lcsim/detector/solids/GeomOp3D.java
index 42b4b6f..90cb5b0 100644
--- a/detector-framework/src/main/java/org/lcsim/detector/solids/GeomOp3D.java
+++ b/detector-framework/src/main/java/org/lcsim/detector/solids/GeomOp3D.java
@@ -3,6 +3,7 @@ package org.lcsim.detector.solids;
 import hep.physics.matrix.BasicMatrix;
 import hep.physics.vec.Hep3Vector;
 import hep.physics.vec.VecOp;
+import net.jafama.FastMath;
 
 import java.util.List;
 
@@ -130,7 +131,7 @@ public class GeomOp3D
             }
             else
             {
-                angle_sum += Math.acos(VecOp.dot(v1_vec,v2_vec)/(v1_mag*v2_mag));
+                angle_sum += net.jafama.FastMath.acos(VecOp.dot(v1_vec,v2_vec)/(v1_mag*v2_mag));
             }
         }
         
-- 
GitLab