Commit in GeomConverter on MAIN
src/org/lcsim/detector/ITransform3D.java+32added 1.1
                      /DetectorFactory.java+2-21.2 -> 1.3
                      /GeometryInfo.java+13-111.4 -> 1.5
                      /IDetectorFactory.java+2-21.5 -> 1.6
                      /IGeometryInfo.java+3-31.6 -> 1.7
                      /IPhysicalVolume.java+1-11.4 -> 1.5
                      /PhysicalVolume.java+3-31.5 -> 1.6
                      /Transform3D.java+6-61.1 -> 1.2
test/org/lcsim/detector/SimpleDetectorTest.java+5-51.6 -> 1.7
+67-33
1 added + 8 modified, total 9 files


GeomConverter/src/org/lcsim/detector
ITransform3D.java added at 1.1
diff -N ITransform3D.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ITransform3D.java	9 Mar 2007 22:47:38 -0000	1.1
@@ -0,0 +1,32 @@
+/*
+ * ITransform3D.java
+ */
+
+package org.lcsim.detector;
+
+import hep.physics.vec.Hep3Vector;
+
+/**
+ *
+ * @author tknelson
+ */
+public interface ITransform3D
+{       
+    public Hep3Vector getTranslation();
+    public Rotation3D getRotation();
+    
+    // Transformations in place
+    public void transform(Hep3Vector coordinates);
+    public void translate(Hep3Vector coordinates);    
+    public void rotate(Hep3Vector coordinates);    
+    
+    // Transformations creating new position vectors
+    public Hep3Vector transformed(Hep3Vector coordinates);
+    public Hep3Vector translated(Hep3Vector coordinates);    
+    public Hep3Vector rotated(Hep3Vector coordinates);    
+    
+    public void multiplyBy(ITransform3D trans);
+    
+    public void invert();
+    public Transform3D inverse();
+}
\ No newline at end of file

GeomConverter/src/org/lcsim/detector
DetectorFactory.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- DetectorFactory.java	9 Mar 2007 22:23:55 -0000	1.2
+++ DetectorFactory.java	9 Mar 2007 22:47:38 -0000	1.3
@@ -22,7 +22,7 @@
 				zHalfLength);
 	}
 
-	public ICoordinateTransformation3D createCoordinateTransformation3D() 
+	public ITransform3D createTransform3D() 
 	{
 		return new Transform3D();
 	}
@@ -95,7 +95,7 @@
 	}
 
 	public IPhysicalVolume createPhysicalVolume(
-			ICoordinateTransformation3D transform, 
+			ITransform3D transform, 
 			String name,
 			ILogicalVolume logicalVolume, 
 			ILogicalVolume motherLogicalVolume,

GeomConverter/src/org/lcsim/detector
GeometryInfo.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- GeometryInfo.java	9 Mar 2007 22:23:33 -0000	1.4
+++ GeometryInfo.java	9 Mar 2007 22:47:38 -0000	1.5
@@ -23,9 +23,9 @@
 	IPhysicalVolumePath support;
 	IPhysicalVolumeNavigator navigator;
 	ILogicalVolume logicalVolume;
-	ICoordinateTransformation3D globalToLocal;
-	ICoordinateTransformation3D localToGlobal;
-	ICoordinateTransformation3D parentToLocal;
+	ITransform3D globalToLocal;
+	ITransform3D localToGlobal;
+	ITransform3D parentToLocal;
 	Hep3Vector globalPosition;	
 
 	/**
@@ -96,9 +96,11 @@
 		localToGlobal = globalToLocal.inverse();
 		
 		// Cache parent to global.
-		parentToLocal = Transform3D.multiply(
-				getGlobalToLocal(),
-				parentIGeometryInfo().getLocalToGlobal());
+        if ( parentIGeometryInfo() != null ) {
+		    parentToLocal = Transform3D.multiply(
+			    	getGlobalToLocal(),
+			     	parentIGeometryInfo().getLocalToGlobal());
+        }
 		
 		// Cache global position.
 		globalPosition = globalToLocal.transformed(new BasicHep3Vector());
@@ -163,7 +165,7 @@
 	/* (non-Javadoc)
 	 * @see org.lcsim.detector.IGeometryInfoTest#globalToLocal()
 	 */
-	public ICoordinateTransformation3D getGlobalToLocal() 
+	public ITransform3D getGlobalToLocal() 
 	{
 		return globalToLocal;
 	}
@@ -213,7 +215,7 @@
 	/* (non-Javadoc)
 	 * @see org.lcsim.detector.IGeometryInfoTest#localToGlobal()
 	 */
-	public ICoordinateTransformation3D getLocalToGlobal() 
+	public ITransform3D getLocalToGlobal() 
 	{
 		return localToGlobal;
 	}
@@ -231,13 +233,13 @@
 	 */
 	public IGeometryInfo parentIGeometryInfo() 
 	{
-		return parentIGeometryInfo();
+		return parentIGeometryInfo;
 	}
 
 	/* (non-Javadoc)
 	 * @see org.lcsim.detector.IGeometryInfoTest#parentToLocal()
 	 */
-	public ICoordinateTransformation3D getParentToLocal() 
+	public ITransform3D getParentToLocal() 
 	{
 		return parentToLocal;
 	}
@@ -254,4 +256,4 @@
 	{
 		this.support = support;		
 	}
-}
\ No newline at end of file
+}

GeomConverter/src/org/lcsim/detector
IDetectorFactory.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- IDetectorFactory.java	7 Mar 2007 00:43:41 -0000	1.5
+++ IDetectorFactory.java	9 Mar 2007 22:47:38 -0000	1.6
@@ -11,7 +11,7 @@
 {
 	IRotation3D createRotation3D();
 	
-	ICoordinateTransformation3D createCoordinateTransformation3D();
+	ITransform3D createTransform3D();
 	
 	IDetectorElement createDetectorElement(
 			String name,
@@ -25,7 +25,7 @@
 			IMaterial material);	
 	
 	IPhysicalVolume createPhysicalVolume(
-			ICoordinateTransformation3D transform,
+			ITransform3D transform,
 			String name,
 			ILogicalVolume logicalVolume,
 			ILogicalVolume motherLogicalVolume,

GeomConverter/src/org/lcsim/detector
IGeometryInfo.java 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- IGeometryInfo.java	6 Mar 2007 20:22:16 -0000	1.6
+++ IGeometryInfo.java	9 Mar 2007 22:47:38 -0000	1.7
@@ -84,7 +84,7 @@
 	 * Get the combined global to local transform.
 	 * @return
 	 */
-	public ICoordinateTransformation3D getGlobalToLocal();
+	public ITransform3D getGlobalToLocal();
 
 	/**
 	 * Transform the global point @param globalPoint from global
@@ -120,7 +120,7 @@
 	 * Get the combined local to global transform.
 	 * @return
 	 */
-	public ICoordinateTransformation3D getLocalToGlobal();
+	public ITransform3D getLocalToGlobal();
 
 	/**
 	 * Get the transformation from parent geometry 
@@ -128,7 +128,7 @@
 	 * 
 	 * @return
 	 */
-	public ICoordinateTransformation3D getParentToLocal();
+	public ITransform3D getParentToLocal();
 	
 	/**
 	 * Transform the local point @param localPoint from local

GeomConverter/src/org/lcsim/detector
IPhysicalVolume.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- IPhysicalVolume.java	6 Mar 2007 20:22:16 -0000	1.4
+++ IPhysicalVolume.java	9 Mar 2007 22:47:38 -0000	1.5
@@ -21,7 +21,7 @@
 	 * Get the transformation from mother's coordinate system.
 	 * @return
 	 */
-	public ICoordinateTransformation3D getTransform();
+	public ITransform3D getTransform();
 	
 	/**
 	 * Get the translation component of the coordinate transform.

GeomConverter/src/org/lcsim/detector
PhysicalVolume.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- PhysicalVolume.java	9 Mar 2007 22:23:55 -0000	1.5
+++ PhysicalVolume.java	9 Mar 2007 22:47:38 -0000	1.6
@@ -6,13 +6,13 @@
 extends Named
 implements IPhysicalVolume
 {
-	ICoordinateTransformation3D transform;
+	ITransform3D transform;
 	ILogicalVolume logicalVolume;
 	ILogicalVolume motherLogicalVolume;
 	int copyNum;
 	
 	public PhysicalVolume(
-			ICoordinateTransformation3D transform,
+			ITransform3D transform,
 			String name,
 			ILogicalVolume logicalVolume,
 			ILogicalVolume motherLogicalVolume,
@@ -63,7 +63,7 @@
 		return logicalVolume;
 	}
 	
-	public ICoordinateTransformation3D getTransform()
+	public ITransform3D getTransform()
 	{
 		return transform;
 	}

GeomConverter/src/org/lcsim/detector
Transform3D.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- Transform3D.java	9 Mar 2007 22:23:55 -0000	1.1
+++ Transform3D.java	9 Mar 2007 22:47:38 -0000	1.2
@@ -1,5 +1,5 @@
 /*
- * CoordinateTransformation3D.java
+ * Transform3D.java
  */
 
 package org.lcsim.detector;
@@ -17,7 +17,7 @@
  * @author Jeremy McCormick <[log in to unmask]>
  */
 public class Transform3D 
-implements ICoordinateTransformation3D
+implements ITransform3D
 {
     
     // Fields
@@ -25,7 +25,7 @@
     Rotation3D _rotation = new Rotation3D();
             
     /**
-     * Creates a new instance of CoordinateTransformation3D
+     * Creates a new instance of Transform3D
      * with the identity matrix.
      */
     public Transform3D()
@@ -123,7 +123,7 @@
     }
     
     // Static functions
-    public static Transform3D multiply(ICoordinateTransformation3D transformation1, ICoordinateTransformation3D transformation2)
+    public static Transform3D multiply(ITransform3D transformation1, ITransform3D transformation2)
     {
         Rotation3D rotation = Rotation3D.multiply(transformation1.getRotation(),transformation2.getRotation());
         Hep3Vector translation = VecOp.add(
@@ -133,7 +133,7 @@
     }
     
     // multiply in place
-    public void multiplyBy(ICoordinateTransformation3D transformation)
+    public void multiplyBy(ITransform3D transformation)
     {
         _rotation.multiplyBy(transformation.getRotation());
         _translation = VecOp.add(
@@ -146,7 +146,7 @@
     	return _translation.toString() + '\n' + _rotation.toString();
     }
     
-    public static Transform3D copy(ICoordinateTransformation3D ci)
+    public static Transform3D copy(ITransform3D ci)
     {
     	Transform3D c = (Transform3D)ci; 
     	try { return (Transform3D)c.clone(); } catch (Throwable x) {}

GeomConverter/test/org/lcsim/detector
SimpleDetectorTest.java 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- SimpleDetectorTest.java	7 Mar 2007 01:13:27 -0000	1.6
+++ SimpleDetectorTest.java	9 Mar 2007 22:47:38 -0000	1.7
@@ -74,7 +74,7 @@
     	    	    	    
     	IPhysicalVolumePath path = nav.getPath("/box1");
     	
-    	ICoordinateTransformation3D t = nav.getTransform(path);
+    	ITransform3D t = nav.getTransform(path);
     	
     	//System.out.println("transform to <" + path.toString() +"> = " + t.toString());
     	      
@@ -211,7 +211,7 @@
 		Box box = new Box("test_box1",5.0,5.0,5.0);
 		LogicalVolume lvTest = new LogicalVolume("lvTest",box,dummymat);
 		new PhysicalVolume(
-				new CoordinateTransformation3D(),
+				new Transform3D(),
 				"box1",
 				lvTest,
 				mom.getLogicalVolume(),
@@ -221,7 +221,7 @@
 		Box box2 = new Box("test_box2",5.0,5.0,5.0);
 		LogicalVolume lvTest2 = new LogicalVolume("lvTest2",box2,dummymat);
 		new PhysicalVolume(
-				new CoordinateTransformation3D(new BasicHep3Vector(50.0,0,0)),
+				new Transform3D(new BasicHep3Vector(50.0,0,0)),
 				"box2",
 				lvTest2,
 				mom.getLogicalVolume(),
@@ -231,7 +231,7 @@
 		Box box3 = new Box("test_box3",5.0,5.0,5.0);
 		LogicalVolume lvTest3 = new LogicalVolume("lvTest3",box3,dummymat);
 		new PhysicalVolume(
-				new CoordinateTransformation3D(new BasicHep3Vector(0,50.0,0)),
+				new Transform3D(new BasicHep3Vector(0,50.0,0)),
 				"box3",
 				lvTest3,
 				mom.getLogicalVolume(),
@@ -248,7 +248,7 @@
 				0);				
 		
 		Tube tube1 = new Tube("test_tube1",100.0,200.0,1000.0);
-		//new CoordinateTransformation3D(new BasicHep3Vector(0,0,0))
+		//new Transform3D(new BasicHep3Vector(0,0,0))
 		LogicalVolume lvTest5 = new LogicalVolume("lvTest5",tube1,dummymat);
 		new PhysicalVolume(
 				null,
CVSspam 0.2.8