Commit in GeomConverter/src/org/lcsim/detector on MAIN
RotationGeant.java+4-41.1 -> 1.2
Rotation3D.java+5-51.13 -> 1.14
+9-9
2 modified files
Fixed bugs in rotations using Geant conventions.

GeomConverter/src/org/lcsim/detector
RotationGeant.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- RotationGeant.java	7 Aug 2007 18:11:39 -0000	1.1
+++ RotationGeant.java	26 Mar 2008 20:33:53 -0000	1.2
@@ -35,12 +35,12 @@
         
         // Rotate around body x_axis
         IRotation3D rotation = passiveAxisRotation(phi,x_axis);
-               
-        // Rotate around body y_axis
-        rotation.multiplyBy(passiveAxisRotation(theta,rotation.rotated(y_axis)));
         
+        // Rotate around body y_axis
+        rotation = Rotation3D.multiply(passiveAxisRotation(theta,rotation.rotated(y_axis)),rotation);
+
         // Rotate around body z_axis
-        rotation.multiplyBy(passiveAxisRotation(theta,rotation.rotated(z_axis)));
+        rotation = Rotation3D.multiply(passiveAxisRotation(psi,rotation.rotated(z_axis)),rotation);
         
         return rotation;
     }

GeomConverter/src/org/lcsim/detector
Rotation3D.java 1.13 -> 1.14
diff -u -r1.13 -r1.14
--- Rotation3D.java	24 Dec 2007 14:27:08 -0000	1.13
+++ Rotation3D.java	26 Mar 2008 20:33:53 -0000	1.14
@@ -16,7 +16,7 @@
  *
  * @author Tim Nelson <[log in to unmask]>
  * @author Jeremy McCormick <[log in to unmask]>
- * @version $Id: Rotation3D.java,v 1.13 2007/12/24 14:27:08 tknelson Exp $
+ * @version $Id: Rotation3D.java,v 1.14 2008/03/26 20:33:53 tknelson Exp $
  */
 public class Rotation3D implements IRotation3D
 {
@@ -221,7 +221,7 @@
     {
         if (axis.magnitude() == 0.0)
         {
-            // FIXME: throw exception
+            throw new RuntimeException("Rotation3D: cannot define a rotation around a null vector!");
         }
         
         Hep3Vector unit_axis = VecOp.unit(axis);
@@ -234,9 +234,9 @@
         
         BasicHep3Matrix rotation_matrix = new BasicHep3Matrix
                 (
-                ca+(1-ca)*dx*dx,        (1-ca)*dx*dy-sa*dz,     (1-ca)*dx*dz+sa*dy,
-                (1-ca)*dy*dx+sa*dz,     ca+(1-ca)*dy*dy,        (1-ca)*dy*dz-sa*dx,
-                (1-ca)*dz*dx-sa*dy,     (1-ca)*dz*dy+sa*dx,     ca+(1-ca)*dz*dz
+                ca+(1-ca)*dx*dx,        (1-ca)*dx*dy+sa*dz,     (1-ca)*dx*dz-sa*dy,
+                (1-ca)*dy*dx-sa*dz,     ca+(1-ca)*dy*dy,        (1-ca)*dy*dz+sa*dx,
+                (1-ca)*dz*dx+sa*dy,     (1-ca)*dz*dy-sa*dx,     ca+(1-ca)*dz*dz
                 );
         
         return new Rotation3D(rotation_matrix);
CVSspam 0.2.8