Commit in projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter on MAIN
HPSTestRunTracker2014GeometryDefinition.java+156-713370 -> 3371
HPSTestRunTracker2014JavaBuilder.java+2-23370 -> 3371
HPSTestRunTracker2014LCDDBuilder.java+2-23370 -> 3371
HPSTrackerBuilder.java+8-83370 -> 3371
HPSTrackerJavaBuilder.java+8-83370 -> 3371
HPSTrackerLCDDBuilder.java+8-83370 -> 3371
lcdd/HPSTestRunTracker2014.java+58-583370 -> 3371
+242-157
7 modified files
Add alignment correction class to interface with builder. Work in progress. Refactor some names to make more sense.

projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter
HPSTestRunTracker2014GeometryDefinition.java 3370 -> 3371
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014GeometryDefinition.java	2014-10-17 19:38:02 UTC (rev 3370)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014GeometryDefinition.java	2014-10-17 20:52:02 UTC (rev 3371)
@@ -18,6 +18,7 @@
 import org.lcsim.detector.Rotation3D;
 import org.lcsim.detector.Transform3D;
 import org.lcsim.detector.Translation3D;
+import org.lcsim.geometry.util.TransformationUtils;
 
 /**
  * 
@@ -68,7 +69,7 @@
             // Each item has knowledge of its mother but not its daughters
             HPSTestRunTracker2014GeometryDefinition.TrackingBase tracking = new HPSTestRunTracker2014GeometryDefinition.TrackingBase("trackingVolume",null);
             geometries.add(tracking);
-            HPSTestRunTracker2014GeometryDefinition.Base base = new HPSTestRunTracker2014GeometryDefinition.Base("base",tracking);
+            HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope base = new HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope("base",tracking);
             geometries.add(base);
             HPSTestRunTracker2014GeometryDefinition.BasePlate basePlate = new HPSTestRunTracker2014GeometryDefinition.BasePlate("baseplate",base, "Aluminum");
             geometries.add(basePlate);
@@ -98,7 +99,7 @@
             if(isDebug()) {
                 System.out.printf("%s: DONE constructing the geometry objects\n", this.getClass().getSimpleName());
                 System.out.printf("%s: List of all the geometry objects built\n", this.getClass().getSimpleName());
-                for(BaseGeometry bg : geometries) {
+                for(SurveyVolume bg : geometries) {
                     System.out.printf("-------\n%s\n", bg.toString());
                 }
             }
@@ -125,13 +126,13 @@
             // find the mother and reference geometry
             // Note that the reference geometry is the support plate and since that is assumed to be 
             // created through it's references we don't need more than one reference to reach the mother coordinate system
-            final HPSTestRunTracker2014GeometryDefinition.BaseGeometry mother;
-            final HPSTestRunTracker2014GeometryDefinition.BaseGeometry ref;
+            final HPSTestRunTracker2014GeometryDefinition.SurveyVolume mother;
+            final HPSTestRunTracker2014GeometryDefinition.SurveyVolume ref;
             if(half == "bottom") {
-                mother = getBaseGeometry(HPSTestRunTracker2014GeometryDefinition.Base.class);
+                mother = getBaseGeometry(HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.class);
                 ref = getBaseGeometry(HPSTestRunTracker2014GeometryDefinition.SupportPlateBottom.class);
             } else {
-                mother= getBaseGeometry(HPSTestRunTracker2014GeometryDefinition.Base.class);
+                mother= getBaseGeometry(HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.class);
                 ref = getBaseGeometry(HPSTestRunTracker2014GeometryDefinition.SupportPlateTop.class);
             }
             
@@ -355,44 +356,78 @@
             
         }
             
-        public boolean doLayer(int layer) {
+        private boolean doLayer(int layer) {
             int a = (1<<(layer-1)) & layerBitMask;
             return a!=0?true:false;
         }
         
        
+        /**
+         * Class containing the final translation and rotation from alignment corrections.
+         * 
+         * @author Per Hansson Adrian <[log in to unmask]>
+         *
+         */
+        public static class AlignmentCorrection {
+            private Rotation rotation = null;
+            private Hep3Vector translation = null;
+            public AlignmentCorrection() {
+            }
+            public Rotation getRotation() {
+                return rotation;
+            }
+            public void setRotation(Rotation rotation) {
+                this.rotation = rotation;
+            }
+            public void setRotation(double rot_x, double rot_y, double rot_z) {
+                Rotation rx = new Rotation(new Vector3D(1,0,0),rot_x);
+                Rotation ry = new Rotation(new Vector3D(0,1,0),rot_y);
+                Rotation rz = new Rotation(new Vector3D(0,0,1),rot_z);
+                // Build full rotation
+                Rotation rzyx = rz.applyTo(ry.applyTo(rx));
+                setRotation(rzyx);
+            }
+            public Hep3Vector getTranslation() {
+                return translation;
+            }
+            public void setTranslation(Hep3Vector translation) {
+                this.translation = translation;
+            }
+        }
+        
 		
 		/**
 		 * 
 		 * Base geometry class for generating volumes based on survey information. 
 		 * 
 		 */
-		public static abstract class BaseGeometry {
+		public static abstract class SurveyVolume {
 			protected boolean debug = false;
 			private String name;
 			private String material = "Vacuum";
-			private BaseGeometry mother;
+			private SurveyVolume mother;
 			// The reference geometry is used when the survey points are w.r.t. to 
 			// a different/intermediate coord system. So that transformation has to be used when 
 			// transforming to the mother system
-			protected List<BaseGeometry> referenceGeom = null;
+			protected List<SurveyVolume> referenceGeom = null;
 			private Coord coord;
 			protected  Hep3Vector ballPos;
 			protected  Hep3Vector veePos;
 			protected  Hep3Vector flatPos;
 			private Hep3Vector center;
 			private Hep3Vector boxDim;
+			private AlignmentCorrection alignmentCorrections;
 			
-			public BaseGeometry(String name, BaseGeometry m) {
+			public SurveyVolume(String name, SurveyVolume m) {
 				setName(name);
 				setMother(m);
 			}
-			public BaseGeometry(String name, BaseGeometry m, BaseGeometry ref) {
+			public SurveyVolume(String name, SurveyVolume m, SurveyVolume ref) {
 				setName(name);
 				setMother(m);
 				addReferenceGeom(ref);
 			}
-			public BaseGeometry(String name, BaseGeometry m, List<BaseGeometry> ref) {
+			public SurveyVolume(String name, SurveyVolume m, List<SurveyVolume> ref) {
 				setName(name);
 				setMother(m);
 				addReferenceGeom(ref);
@@ -408,13 +443,63 @@
 				setCoord();
 				setCenter();
 				setBoxDim();
-				applyCorrections();
+				applyGenericCoordinateSystemCorrections();
+				applyAlignmentCorrections();
 			}
 
-			protected void applyCorrections() {
+			protected void applyGenericCoordinateSystemCorrections() {
 			    //do nothing here unless overridden
 			}
 			
+			private void applyAlignmentCorrections() {
+			    // Apply alignment corrections to local coordinate system that is already built
+	
+			    if(this.coord==null) throw new RuntimeException("no coordinate system was set before trying to apply alignment corrections.");
+
+			    if(alignmentCorrections!=null) {
+
+			        if(debug) System.out.printf("%s: Apply alignment corrections to this coord system:\n%s\n",this.getClass().getSimpleName(),getCoord().toString());
+
+			        // translate
+			        if(alignmentCorrections.getTranslation()!=null) {			    
+
+			            if(debug) System.out.printf("%s: Apply translation %s to coordinate system\n", this.getClass().getSimpleName(),alignmentCorrections.getTranslation().toString());			    
+
+			            getCoord().translate(alignmentCorrections.getTranslation());
+
+			        } else {
+			            if(debug) System.out.printf("%s: No translation to coordinate system\n", this.getClass().getSimpleName());
+			        }
+
+			        // rotate
+			        if(alignmentCorrections.getRotation()!=null) {                
+
+			            if(debug) {
+			                System.out.printf("%s: Apply rotation to coordinate system. Matrix:\n", this.getClass().getSimpleName());             
+			                double mat[][] = alignmentCorrections.getRotation().getMatrix();
+			                TransformationUtils.printMatrix(mat);
+			                // Get the Cardan angles of the rotation
+			                double res[] = alignmentCorrections.getRotation().getAngles(RotationOrder.ZYX);
+			                // Since the rotation was created based on active transformations convert to passive right here. 
+			                // This conversion is simply to reverse the order of rotations.
+			                Hep3Vector res_passive = new BasicHep3Vector(res[2],res[1],res[0]);
+			                System.out.printf("%s: Corresponding LCDD Cardan angles:\n", this.getClass().getSimpleName(), res_passive.toString());             
+			            }
+
+			            getCoord().rotateApache(alignmentCorrections.getRotation());
+
+			        } else {
+			            if(debug) System.out.printf("%s: No rotation to coordinate system\n", this.getClass().getSimpleName());
+			        }
+
+			        if(debug) System.out.printf("%s: coordinate system after alignment corrections:\n%s\n",this.getClass().getSimpleName(),getCoord().toString());
+
+			    } else {
+			        if(debug) System.out.printf("%s: No aligment corrections to coordinate system\n", this.getClass().getSimpleName());
+			    }
+
+			}
+			
 			public  void setBallPos(double x, double y, double z) {
 				ballPos = new BasicHep3Vector(x,y,z);
 			}
@@ -470,23 +555,23 @@
 			public void setBoxDim(double x, double y, double z) {
 				this.boxDim = new BasicHep3Vector(x,y,z);
 			}
-			public BaseGeometry getMother() {
+			public SurveyVolume getMother() {
 				return mother;
 			}
-			public void setMother(BaseGeometry mother) {
+			public void setMother(SurveyVolume mother) {
 				this.mother = mother;
 			}
-			public void addReferenceGeom(BaseGeometry refGeom) {
+			public void addReferenceGeom(SurveyVolume refGeom) {
 			    if(refGeom!=null) { // check that it's not a dummy call
 			        if(referenceGeom == null) {
-			            referenceGeom = new ArrayList<BaseGeometry>();
+			            referenceGeom = new ArrayList<SurveyVolume>();
 			        }
 			        referenceGeom.add(refGeom);
 			    }
 			}
-			public void addReferenceGeom(List<BaseGeometry> refGeomList) {
+			public void addReferenceGeom(List<SurveyVolume> refGeomList) {
 				if(referenceGeom == null) {
-					referenceGeom = new ArrayList<BaseGeometry>();
+					referenceGeom = new ArrayList<SurveyVolume>();
 				}
 				referenceGeom.addAll(refGeomList);
 			}
@@ -514,8 +599,8 @@
 		/**
 		 * Tracking volume geometry definition. 
 		 */
-		public static class TrackingBase extends BaseGeometry {
-			public TrackingBase(String name, BaseGeometry mother) {
+		public static class TrackingBase extends SurveyVolume {
+			public TrackingBase(String name, SurveyVolume mother) {
 				super(name,mother);
 				init();
 			}
@@ -538,14 +623,14 @@
 			}
 		}
 
-		public static class Base extends BaseGeometry {
+		public static class TrackerEnvelope extends SurveyVolume {
 			// height of the dummy box holding the entire SVT: 
 			// this means the bottom of the base plate to the the inner surface of of the PS vac box for now
 		    public static final double base_height = PS_vac_box_inner_height - BasePlate.base_plate_offset_height; 
 		    public static final double base_width = BasePlate.base_plate_width;
 		    public static final double base_length = BasePlate.base_plate_length;
 			
-			public Base(String name, BaseGeometry mother) {
+			public TrackerEnvelope(String name, SurveyVolume mother) {
 				super(name,mother);
 				init();
 			}
@@ -576,14 +661,14 @@
 
 		
 		
-		public static class BasePlate extends BaseGeometry {
+		public static class BasePlate extends SurveyVolume {
 			// Base plate references	
 		    public static final double base_plate_thickness = 0.25*inch;
 			public static final double base_plate_width = 385.00;
 			public static final double base_plate_length = 1216.00;
 			//height from vacuum chamber surface
 			protected static final double base_plate_offset_height = 2.0; //from Marco's 3D model
-			public BasePlate(String name, BaseGeometry mother, String material) {
+			public BasePlate(String name, SurveyVolume mother, String material) {
 				super(name,mother);
 				init();
 				setMaterial(material);
@@ -607,7 +692,7 @@
 		
 
 
-		public static class CSupport extends BaseGeometry {
+		public static class CSupport extends SurveyVolume {
 			// This is the sequence of locating the support plate positions:
 			// The c-support pin positions are found
 			// the points on the axis of rotation are used as references for building the box surrounding the support plates (incl sensors).
@@ -628,7 +713,7 @@
 			private static  double vee_pos_csup_pin_bottom_z = 0.0;
 			
 			
-			public CSupport(String name, BaseGeometry mother) {
+			public CSupport(String name, SurveyVolume mother) {
 				super(name,mother);
 				init();
 			}			
@@ -688,7 +773,7 @@
 		
 		
 
-		public static class SupportTop extends BaseGeometry {
+		public static class SupportTop extends SurveyVolume {
 			// Top only needs a vertical offset to be specified
 			private static final double ball_pos_csup_bearings_top_z = 146.4;
 			//these are for the box surrounding the whole support including modules
@@ -696,15 +781,15 @@
 			protected static final double support_top_width = SupportBottom.support_bottom_width;
 			protected static final double support_top_height = SupportBottom.support_bottom_height;
 
-			public SupportTop(String name, BaseGeometry mother) {
+			public SupportTop(String name, SurveyVolume mother) {
 				super(name,mother);
 				init();
 			}
-			public SupportTop(String name, BaseGeometry mother, BaseGeometry referenceGeom) {
+			public SupportTop(String name, SurveyVolume mother, SurveyVolume referenceGeom) {
 				super(name,mother,referenceGeom);
 				init();
 			}
-			public SupportTop(String name, BaseGeometry mother, List<BaseGeometry> referenceGeom) {
+			public SupportTop(String name, SurveyVolume mother, List<SurveyVolume> referenceGeom) {
 				super(name,mother,referenceGeom);
 				init();
 			}
@@ -736,7 +821,7 @@
 					throw new RuntimeException("No ref found for " + getName());
 				}
 
-				for(BaseGeometry ref : referenceGeom) {
+				for(SurveyVolume ref : referenceGeom) {
 				
 					if(debug) {
 						System.out.printf("%s: survey positions before ref %s transform\n",this.getClass().getSimpleName(),ref.getName());
@@ -768,7 +853,7 @@
 	
 		
 		
-		public static class SupportBottom extends BaseGeometry {
+		public static class SupportBottom extends SurveyVolume {
 			// "bearings" are points on axis of rotation on the inside of the c-support frame where the insert get's attached
 			// this is referenced to the pin position of the c-support
 			private static final double ball_pos_csup_bearings_bottom_x = 240.0 - 265.0 + 14.0;
@@ -784,7 +869,7 @@
 			protected static final double support_bottom_height = SupportPlateBottom.support_plate_bottom_height - SupportPlateBottom.support_plate_pocket_depth + TestRunModuleL13.module_box_L13_width + SupportPlateBottom.pedestal_height_L1;
 			
 			
-			public SupportBottom(String name, BaseGeometry mother, BaseGeometry referenceGeom) {
+			public SupportBottom(String name, SurveyVolume mother, SurveyVolume referenceGeom) {
 				super(name,mother,referenceGeom);
 				init();
 			}
@@ -823,7 +908,7 @@
 					throw new RuntimeException("No ref found for " + getName());
 				}
 
-				for(BaseGeometry ref : referenceGeom) {
+				for(SurveyVolume ref : referenceGeom) {
 				
 					if(debug) {
 						System.out.printf("%s: survey positions before ref %s transform\n",this.getClass().getSimpleName(),ref.getName());
@@ -856,18 +941,18 @@
 		}
 	
 		
-		protected static abstract class SupportPlate extends BaseGeometry {
+		protected static abstract class SupportPlate extends SurveyVolume {
 			protected static final double support_plate_pocket_depth = 6.65; // Tim's sketchup, drawing says 6.66mm?
 			protected static final double pedestal_height_L1 = 11.00;
 			protected static final double pedestal_height_L2 = 9.50;
 			protected static final double pedestal_height_L3 = 8.00;
 			protected static final double pedestal_height_L4 = 10.00;
 			protected static final double pedestal_height_L5 = 7.00;
-			public SupportPlate(BaseGeometry mother, BaseGeometry referenceGeom, String name, String material) {
+			public SupportPlate(SurveyVolume mother, SurveyVolume referenceGeom, String name, String material) {
 				super(name,mother,referenceGeom);
 				setMaterial(material);
 			}
-			public SupportPlate(BaseGeometry mother, List<BaseGeometry> referenceGeom, String name, String material) {
+			public SupportPlate(SurveyVolume mother, List<SurveyVolume> referenceGeom, String name, String material) {
 				super(name,mother,referenceGeom);
 				setMaterial(material);
 			}
@@ -886,11 +971,11 @@
 			protected static final double support_plate_bottom_length = 736.1;
 			protected static final double support_plate_bottom_width = 120.0;
 
-			public SupportPlateBottom(String name, BaseGeometry mother, BaseGeometry referenceGeom, String material) {
+			public SupportPlateBottom(String name, SurveyVolume mother, SurveyVolume referenceGeom, String material) {
 				super(mother, referenceGeom, name, material);
 				init();				
 			}
-			public SupportPlateBottom(String name, BaseGeometry mother, List<BaseGeometry> referenceGeom, String material) {
+			public SupportPlateBottom(String name, SurveyVolume mother, List<SurveyVolume> referenceGeom, String material) {
 				super(mother, referenceGeom, name, material);
 				init();				
 			}
@@ -905,7 +990,7 @@
 					throw new RuntimeException("No ref found for " + getName());
 				}
 
-				for(BaseGeometry ref : referenceGeom) {
+				for(SurveyVolume ref : referenceGeom) {
 				
 					if(debug) {
 						System.out.printf("%s: survey positions before ref %s transform\n",this.getClass().getSimpleName(),ref.getName());
@@ -945,7 +1030,7 @@
 			protected static final double support_plate_top_width = SupportPlateBottom.support_plate_bottom_width;
 			protected static final double support_plate_top_height = SupportPlateBottom.support_plate_bottom_height;
 			
-			public SupportPlateTop(String name, BaseGeometry mother, BaseGeometry referenceGeom, String material) {
+			public SupportPlateTop(String name, SurveyVolume mother, SurveyVolume referenceGeom, String material) {
 				super(mother,referenceGeom, name,material);
 				init();
 			}
@@ -960,7 +1045,7 @@
 					throw new RuntimeException("No ref found for " + getName());
 				}
 
-				for(BaseGeometry ref : referenceGeom) {
+				for(SurveyVolume ref : referenceGeom) {
 				
 					if(debug) System.out.printf("%s: survey positions before ref %s transform\n",this.getClass().getSimpleName(),ref.getName());
 					if(debug) printSurveyPos();
@@ -998,10 +1083,10 @@
 			protected static final double dist_lower_sensor_edge_to_cold_block_mounting_surface = 7.662;
 
 
-			public TestRunModuleL45(String name, BaseGeometry mother, int layer,String half) {
+			public TestRunModuleL45(String name, SurveyVolume mother, int layer,String half) {
 				super(name, mother, layer, half);
 			}
-			public TestRunModuleL45(String name, BaseGeometry mother, BaseGeometry ref, int layer, String half) {
+			public TestRunModuleL45(String name, SurveyVolume mother, SurveyVolume ref, int layer, String half) {
 				super(name, mother, ref, layer, half);
 			}
 			protected double getColdBlockThickness() {
@@ -1028,10 +1113,10 @@
 			protected static final double module_box_L13_width = 71.3 - 13.0 + box_extra_width; // height from cold block to encapsulate the whole module
 			protected static final double dist_lower_sensor_edge_to_cold_block_mounting_surface = 12.66;
 
-			public TestRunModuleL13(String name, BaseGeometry mother, int layer, String half) {
+			public TestRunModuleL13(String name, SurveyVolume mother, int layer, String half) {
 				super(name, mother, layer, half);
 			}
-			public TestRunModuleL13(String name, BaseGeometry mother, BaseGeometry ref, int layer, String half) {
+			public TestRunModuleL13(String name, SurveyVolume mother, SurveyVolume ref, int layer, String half) {
 				super(name, mother, ref, layer, half);
 			}
 			protected double getColdBlockThickness() {
@@ -1057,11 +1142,11 @@
             protected final static double box_extra_width = 15.0;// random at this point
             protected final static double box_extra_height = 1.0;// random at this point
             
-			public TestRunModule(String name, BaseGeometry mother, int layer, String half) {
+			public TestRunModule(String name, SurveyVolume mother, int layer, String half) {
 				super(name, mother,layer,half);
 				init();
 			}			
-			public TestRunModule(String name, BaseGeometry mother, BaseGeometry ref, int layer, String half) {
+			public TestRunModule(String name, SurveyVolume mother, SurveyVolume ref, int layer, String half) {
 				super(name, mother,ref,layer,half);
 				init();
 			}			
@@ -1165,7 +1250,7 @@
 				
 				// walk through the reference volumes
 				if(referenceGeom!=null) {
-				    for(BaseGeometry ref : referenceGeom) {
+				    for(SurveyVolume ref : referenceGeom) {
 
 				        if(debug) {
 				            System.out.printf("%s: survey positions before ref %s transform\n",this.getClass().getSimpleName(),ref.getName());
@@ -1190,17 +1275,17 @@
 		}
 		
 		
-		public static abstract class BaseModule extends BaseGeometry {
+		public static abstract class BaseModule extends SurveyVolume {
 			private int layer;
 			private String half;
 			
-			public BaseModule(String name, BaseGeometry mother, int layer, String half) {
+			public BaseModule(String name, SurveyVolume mother, int layer, String half) {
 				super(name, mother);
 				setLayer(layer);
 				setHalf(half);
 				isValid();
 			}
-			public BaseModule(String name, BaseGeometry mother, BaseGeometry ref, int layer, String half) {
+			public BaseModule(String name, SurveyVolume mother, SurveyVolume ref, int layer, String half) {
 				super(name, mother,ref);
 				setLayer(layer);
 				setHalf(half);
@@ -1253,7 +1338,7 @@
 			
 			protected double stereo_angle = 0.0;
 			
-			public TestRunHalfModule(String name, BaseGeometry mother, int layer, String half) {
+			public TestRunHalfModule(String name, SurveyVolume mother, int layer, String half) {
 				super(name,mother, layer, half);
 			}
 						
@@ -1313,7 +1398,7 @@
 		
 		public static class TestRunHalfModuleAxial extends TestRunHalfModule {
 
-			public TestRunHalfModuleAxial(String name, BaseGeometry mother, int layer, String half) {
+			public TestRunHalfModuleAxial(String name, SurveyVolume mother, int layer, String half) {
 				super(name, mother, layer, half);
 				init();
 			}
@@ -1345,7 +1430,7 @@
 		
 		public static class TestRunHalfModuleStereo extends TestRunHalfModule {
 
-			public TestRunHalfModuleStereo(String name, BaseGeometry mother, int layer, String half) {
+			public TestRunHalfModuleStereo(String name, SurveyVolume mother, int layer, String half) {
 				super(name, mother, layer, half);
 				if(layer<=3) stereo_angle = -0.1;
                 else if(layer>=4&&layer<=5) stereo_angle = -0.05;
@@ -1381,7 +1466,7 @@
 			
 			
 			
-			protected void applyCorrections() {
+			protected void applyGenericCoordinateSystemCorrections() {
 			    // Apply whatever corrections we want to the final volume as created
 			    // Maybe alignment corrections too but should be done in the top level
 			    
@@ -1411,9 +1496,9 @@
 			
 		}
 		
-		public static abstract class TestRunColdBlock extends BaseGeometry {		
+		public static abstract class TestRunColdBlock extends SurveyVolume {		
 			private int layer;
-			public TestRunColdBlock(String name, BaseGeometry mother, int layer) {
+			public TestRunColdBlock(String name, SurveyVolume mother, int layer) {
 				super(name, mother);
 				setLayer(layer);
 				init();
@@ -1460,7 +1545,7 @@
 			protected static final double coldblock_L13_width = 52.50;
 			protected static final double coldblock_L13_thickness = 6.00;
 
-			public TestRunColdBlockL13(String name, BaseGeometry mother, int layer) {
+			public TestRunColdBlockL13(String name, SurveyVolume mother, int layer) {
 				super(name, mother, layer);
 			}
 			protected double getWidth() {
@@ -1482,7 +1567,7 @@
 			protected static final double coldblock_L45_width = 51.00;
 			protected static final double coldblock_L45_thickness = 6.00;
 
-			public TestRunColdBlockL45(String name, BaseGeometry mother, int layer) {
+			public TestRunColdBlockL45(String name, SurveyVolume mother, int layer) {
 				super(name, mother, layer);
 			}
 			protected double getWidth() {
@@ -1504,7 +1589,7 @@
 			static final double sensor_length= 100.00; 
 			private static final double sensor_width = 40.34; 
 			private static final double sensor_thickness = 0.32;
-			public Sensor(String name, BaseGeometry m, int id) {
+			public Sensor(String name, SurveyVolume m, int id) {
 				super(name, m, id);
 				init();
 			}			
@@ -1558,11 +1643,11 @@
 			}			
 		}
 		
-		public static class ActiveSensor extends BaseGeometry {
+		public static class ActiveSensor extends SurveyVolume {
 			private static final double sensor_active_length= 98.33;
 			private static final double sensor_active_width = 38.3399;
 			private static final double sensor_active_thickness = Sensor.sensor_thickness;
-			public ActiveSensor(String name, BaseGeometry m) {
+			public ActiveSensor(String name, SurveyVolume m) {
 				super(name, m);
 				init();
 			}
@@ -1605,9 +1690,9 @@
 			}
 		}
 		
-		public static abstract class HalfModuleComponent extends BaseGeometry {
+		public static abstract class HalfModuleComponent extends SurveyVolume {
 			int id = -1;
-			public HalfModuleComponent(String name, BaseGeometry m, int id) {
+			public HalfModuleComponent(String name, SurveyVolume m, int id) {
 				super(name, m);
 				this.id = id;
 			}
@@ -1627,7 +1712,7 @@
 			protected static final double kapton_length = 184.0;
 			protected static final double kapton_width = 40.0;
 			protected static final double kapton_thickness = 0.050;
-			public HalfModuleLamination(String name, BaseGeometry m, int id) {
+			public HalfModuleLamination(String name, SurveyVolume m, int id) {
 				super(name, m, id);
 				init();
 			}
@@ -1671,7 +1756,7 @@
 			protected static  final double cf_length = 200.;
 			protected static  final double cf_width = 45.;
 			protected static  final double cf_thickness = 0.250;
-			public CarbonFiber(String name, BaseGeometry m, int id) {
+			public CarbonFiber(String name, SurveyVolume m, int id) {
 				super(name, m, id);
 				init();
 			}
@@ -1714,7 +1799,7 @@
 			protected static final double hybrid_length = 170.0 - HPSTestRunTracker2014GeometryDefinition.Sensor.getSensorLength(); // sensor b-to-b with hybrid
 			protected static final double hybrid_width  = HPSTestRunTracker2014GeometryDefinition.Sensor.getSensorWidth();
 			protected static final double hybrid_thickness = 4.0/64.0*inch;
-			public Hybrid(String name, BaseGeometry m, int id) {
+			public Hybrid(String name, SurveyVolume m, int id) {
 				super(name, m, id);
 				init();
 			}

projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter
HPSTestRunTracker2014JavaBuilder.java 3370 -> 3371
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014JavaBuilder.java	2014-10-17 19:38:02 UTC (rev 3370)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014JavaBuilder.java	2014-10-17 20:52:02 UTC (rev 3371)
@@ -7,7 +7,7 @@
 
 import org.jdom.Element;
 import org.lcsim.detector.ILogicalVolume;
-import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.Base;
+import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope;
 import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.BasePlate;
 import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.SupportBottom;
 import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.SupportPlateBottom;
@@ -65,7 +65,7 @@
 		JavaBaseGeometry trackingGeometry = new JavaBaseGeometry(_builder.getBaseGeometry(TrackingBase.class), trackingVolume);
 		add(trackingGeometry);
 		//setBaseTrackerGeometry(new GhostJavaBaseGeom(_builder.getBaseGeometry(Base.class), trackingGeometry));
-        setBaseTrackerGeometry(new JavaBaseGeometry(_builder.getBaseGeometry(Base.class), trackingGeometry,1));
+        setBaseTrackerGeometry(new JavaBaseGeometry(_builder.getBaseGeometry(TrackerEnvelope.class), trackingGeometry,1));
         add(getBaseTrackerGeometry());
 		JavaBaseGeometry basePlateGeometry = new GhostJavaBaseGeom(_builder.getBaseGeometry(BasePlate.class), getBaseTrackerGeometry());
 		add(basePlateGeometry);

projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter
HPSTestRunTracker2014LCDDBuilder.java 3370 -> 3371
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014LCDDBuilder.java	2014-10-17 19:38:02 UTC (rev 3370)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014LCDDBuilder.java	2014-10-17 20:52:02 UTC (rev 3371)
@@ -1,7 +1,7 @@
 package org.lcsim.geometry.compact.converter;
 
 import org.jdom.Element;
-import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.Base;
+import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope;
 import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.BasePlate;
 import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.CSupport;
 import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.SupportBottom;
@@ -50,7 +50,7 @@
 		// TODO this is manual now since I don't have a way of knowing in the generic builder class what is a ghost volume at this point.
 		LCDDBaseGeometry trackingGeometry = new LCDDBaseGeometry(_builder.getBaseGeometry(TrackingBase.class), worldVolume);
 		add(trackingGeometry);
-		baseTrackerGeometry = new LCDDBaseGeometry(_builder.getBaseGeometry(Base.class), lcdd, trackingGeometry);
+		baseTrackerGeometry = new LCDDBaseGeometry(_builder.getBaseGeometry(TrackerEnvelope.class), lcdd, trackingGeometry);
 		add(baseTrackerGeometry);
 		LCDDBaseGeometry basePlateGeometry = new LCDDBaseGeometry(_builder.getBaseGeometry(BasePlate.class), lcdd, baseTrackerGeometry);
 		add(basePlateGeometry);

projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter
HPSTrackerBuilder.java 3370 -> 3371
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerBuilder.java	2014-10-17 19:38:02 UTC (rev 3370)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerBuilder.java	2014-10-17 20:52:02 UTC (rev 3371)
@@ -7,7 +7,7 @@
 
 import org.jdom.Element;
 import org.lcsim.detector.Transform3D;
-import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.BaseGeometry;
+import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.SurveyVolume;
 import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.TestRunColdBlock;
 import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.TestRunModule;
 
@@ -15,7 +15,7 @@
 
 	private boolean debug = true;
 	public List<ModuleBundle> modules;
-	protected List<HPSTestRunTracker2014GeometryDefinition.BaseGeometry> geometries = new ArrayList<HPSTestRunTracker2014GeometryDefinition.BaseGeometry>();
+	protected List<HPSTestRunTracker2014GeometryDefinition.SurveyVolume> geometries = new ArrayList<HPSTestRunTracker2014GeometryDefinition.SurveyVolume>();
     protected Element node;
 	
 	
@@ -137,7 +137,7 @@
 		 * Find mother to this module.
 		 * @return mother 
 		 */
-		public BaseGeometry getMother() {
+		public SurveyVolume getMother() {
 			if(module==null) throw new RuntimeException("Need to add module to bundle first!");
 			return module.getMother();
 		}
@@ -165,7 +165,7 @@
 	public <T> T getBaseGeometry(Class<T> c) {
 		//if(isDebug()) System.out.printf("%s: get Item %s\n", this.getClass().getSimpleName(),c.getName());
 		
-		for(HPSTestRunTracker2014GeometryDefinition.BaseGeometry item : geometries) {
+		for(SurveyVolume item : geometries) {
 			//if(isDebug()) System.out.printf("%s: item %s\n", getClass().getSimpleName(),item.getClass().getName());
 			if(c.isInstance(item)) {
 				return (T)item;
@@ -271,7 +271,7 @@
 	 * @param targetMotherName - parent volume defining new vector coordinate system
 	 * @return transform.
 	 */
-	public static Transform3D getTransform(Transform3D t, BaseGeometry mother, String targetMotherName) {
+	public static Transform3D getTransform(Transform3D t, SurveyVolume mother, String targetMotherName) {
 		int debug=0;
 		if(debug>0) System.out.printf("getTransform mother %s target %s with current transform\n%s\n", mother.getName(), targetMotherName,t.toString());
 		if(mother==null) throw new RuntimeException("Trying to get mother transform but there is no mother?!");
@@ -294,9 +294,9 @@
 	 * @param targetMotherName - parent volume defining new vector coordinate system
 	 * @return transformed vector.
 	 */
-	public static Hep3Vector transformToMotherCoord(Hep3Vector vec, BaseGeometry geometry, String targetMotherName) {
+	public static Hep3Vector transformToMotherCoord(Hep3Vector vec, SurveyVolume geometry, String targetMotherName) {
 	    int debug =0;
-	    BaseGeometry mother = geometry.getMother();
+	    SurveyVolume mother = geometry.getMother();
 	    if(debug>0) System.out.printf("transformToMotherCoord vec %s geomtry %s  mother %s target %s\n", vec.toString(), geometry.getName(), geometry.getMother().getName(), targetMotherName);
 
 	    Transform3D t = getTransform(geometry.getCoord().getTransformation(), mother, targetMotherName);
@@ -318,7 +318,7 @@
 	 * @param geometry - geometry where vector is defined.
 	 * @return transformed vector.
 	 */
-	public static Hep3Vector transformToTracking(Hep3Vector vec, BaseGeometry geometry) {
+	public static Hep3Vector transformToTracking(Hep3Vector vec, SurveyVolume geometry) {
 		int debug =0;
 		if(debug>0) System.out.printf("\ntransformToTracking: vec %s in local coordiantes of %s with mother %s\n", vec.toString(), geometry.getName(), geometry.getMother().getName().toString());
 		Hep3Vector vec_mother_coord = geometry.getCoord().getTransformation().transformed(vec);

projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter
HPSTrackerJavaBuilder.java 3370 -> 3371
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerJavaBuilder.java	2014-10-17 19:38:02 UTC (rev 3370)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerJavaBuilder.java	2014-10-17 20:52:02 UTC (rev 3371)
@@ -27,7 +27,7 @@
 import org.lcsim.detector.solids.Box;
 import org.lcsim.detector.tracker.silicon.SiTrackerModule;
 import org.lcsim.geometry.compact.Subdetector;
-import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.BaseGeometry;
+import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.SurveyVolume;
 import org.lcsim.geometry.util.TransformationUtils;
 
 public abstract class HPSTrackerJavaBuilder implements IHPSTrackerJavaBuilder {
@@ -199,7 +199,7 @@
 		 * @param base - object used to get geometry definitions
 		 * @param mother - mother object
 		 */
-		public GhostJavaBaseGeom(BaseGeometry base, JavaBaseGeometry mother) {
+		public GhostJavaBaseGeom(SurveyVolume base, JavaBaseGeometry mother) {
 			super();
 			if(isDebug()) System.out.printf("%s: constructing JAVA ghost object %s with mother %s\n", this.getClass().getSimpleName(),base.getName(),mother==null?"null":mother.getName());
 			setName(base.getName());
@@ -241,7 +241,7 @@
 		 * @param geomObject - input geometry definition
 		 * @param vol - logical volume
 		 */
-		public JavaBaseGeometry(BaseGeometry geomObject, ILogicalVolume vol) {
+		public JavaBaseGeometry(SurveyVolume geomObject, ILogicalVolume vol) {
 			if(isDebug()) System.out.printf("%s: JavaBaseGeometry %s (given logical volume %s)\n", this.getClass().getSimpleName(),geomObject.getName(),vol.getName());
 			// this must be tracking volume. May change in the future and is probably weird to make this requirement here. 
 			if(!geomObject.getName().contains("tracking")) throw new RuntimeException("this constructor is only used with the tracking volume!?");
@@ -260,7 +260,7 @@
 		 * @param mother - reference to mother JAVA definition
 		 * @param volumeId - component id number 
 		 */
-		public JavaBaseGeometry(BaseGeometry geomObject, JavaBaseGeometry mother, int volumeId) {
+		public JavaBaseGeometry(SurveyVolume geomObject, JavaBaseGeometry mother, int volumeId) {
 			if(isDebug()) System.out.printf("%s: JavaBaseGeometry %s (volumeID %d, mother %s)\n", this.getClass().getSimpleName(),geomObject.getName(),volumeId,mother==null?"null":mother.getName());
 			setName(geomObject.getName());
 			setComponentId(volumeId);
@@ -282,19 +282,19 @@
 			JavaBaseGeometry physMother =  getPhysMother();
 			setPhysVolume(new PhysicalVolume(new Transform3D(getPos(), getRot()), name, volume, physMother.getVolume(),getComponentId()));
 		}
-		protected void buildBox(BaseGeometry base) {
+		protected void buildBox(SurveyVolume base) {
 			Hep3Vector b = base.getBoxDim();
 			b = VecOp.mult(0.5, b);
 			if(isDebug()) System.out.printf("%s: build box for %s with dimensions %s \n", this.getClass().getSimpleName(),getName(), b);
 			setBox(new Box(getName() + "Box", b.x(), b.y(), b.z())); 
 		}
-		protected void buildVolume(BaseGeometry base) {
+		protected void buildVolume(SurveyVolume base) {
 			if(isDebug()) System.out.printf("%s: build volume for %s with material %s\n", this.getClass().getSimpleName(),getName(),base.getMaterial());
 				IMaterial material = MaterialStore.getInstance().get(base.getMaterial());
 				setVolume(new LogicalVolume(getName() + "_volume", box, material));
 			
 		}
-		protected void setPositionAndRotation(BaseGeometry base) {
+		protected void setPositionAndRotation(SurveyVolume base) {
 			if(isDebug()) System.out.printf("%s: set position and rotation for volume %s\n", this.getClass().getSimpleName(),getName());
 			
 			// no mother, this must be the world/tracking volume!?
@@ -315,7 +315,7 @@
 			// find the position of the center of the box in the mother coordinate system, make sure to use the physical mother coordinates
 			if(isDebug()) System.out.printf("%s: find center of box in physical mother coord %s \n", this.getClass().getSimpleName(),physMother.getName());
 			// hack since my getTransform function needs a mother TODO Fix this!
-			BaseGeometry gm = base;
+			SurveyVolume gm = base;
 			if(isDebug()) System.out.printf("%s: look for physical mother %s starting from mother %s \n", this.getClass().getSimpleName(),physMother.getName(),gm.getMother()!=null?gm.getMother().getName():"-- no mother --");
 			while((gm=gm.getMother()).getName()!=physMother.getName()) {
 				if(isDebug()) System.out.printf("%s: gm is %s \n", this.getClass().getSimpleName(),gm.getName());

projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter
HPSTrackerLCDDBuilder.java 3370 -> 3371
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerLCDDBuilder.java	2014-10-17 19:38:02 UTC (rev 3370)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerLCDDBuilder.java	2014-10-17 20:52:02 UTC (rev 3371)
@@ -11,7 +11,7 @@
 import org.jdom.Element;
 import org.jdom.JDOMException;
 import org.lcsim.detector.Transform3D;
-import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.BaseGeometry;
+import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.SurveyVolume;
 import org.lcsim.geometry.compact.converter.lcdd.util.Box;
 import org.lcsim.geometry.compact.converter.lcdd.util.LCDD;
 import org.lcsim.geometry.compact.converter.lcdd.util.Material;
@@ -97,7 +97,7 @@
 		 * @param base - object used to get geometry definitions
 		 * @param vol - given volume
 		 */
-		public LCDDBaseGeometry(BaseGeometry base, Volume volume) {
+		public LCDDBaseGeometry(SurveyVolume base, Volume volume) {
 			super();
 			if(isDebug()) System.out.printf("%s: constructing LCDD object %s with given volume name %s\n", this.getClass().getSimpleName(),base.getName(),volume.getName());
 			setName(base.getName());
@@ -115,7 +115,7 @@
 		 * @param lcdd - lcdd file 
 		 * @param mother - reference to mother LCDD definition
 		 */
-		public LCDDBaseGeometry(BaseGeometry base, LCDD lcdd, LCDDBaseGeometry mother) {
+		public LCDDBaseGeometry(SurveyVolume base, LCDD lcdd, LCDDBaseGeometry mother) {
 			if(isDebug()) System.out.printf("%s: constructing LCDD object %s with mother %s\n", this.getClass().getSimpleName(),base.getName(),mother==null?"null":mother.getName());
 			this.lcdd = lcdd;
 			setName(base.getName());
@@ -133,11 +133,11 @@
 			if(isDebug()) System.out.printf("%s: build phys volume for %s\n", this.getClass().getSimpleName(),getName());
 			setPhysVolume(new PhysVol(volume, getMother().getVolume(), getPos(), getRot()));
 		}
-		public void buildBox(BaseGeometry base) {
+		public void buildBox(SurveyVolume base) {
 			if(isDebug()) System.out.printf("%s: build box for %s\n", this.getClass().getSimpleName(),getName());
 			setBox(new Box(getName() + "Box", base.getBoxDim().x(), base.getBoxDim().y(), base.getBoxDim().z())); 
 		}
-		public void buildVolume(BaseGeometry base) {
+		public void buildVolume(SurveyVolume base) {
 			if(isDebug()) System.out.printf("%s: build volume for %s with material %s\n", this.getClass().getSimpleName(),getName(),base.getMaterial());
 			try {
 				Material mat = lcdd.getMaterial(base.getMaterial());
@@ -148,7 +148,7 @@
 		}
 		
 		
-		public void setPositionAndRotation(BaseGeometry base) {
+		public void setPositionAndRotation(SurveyVolume base) {
 			if(isDebug()) System.out.printf("%s: set position and rotation for volume %s\n", this.getClass().getSimpleName(),getName());
 			
 			// NOTE:
@@ -173,7 +173,7 @@
 			// find the position of the center of the box in the mother coordinate system, make sure to use the physical mother coordinates
 			if(isDebug()) System.out.printf("%s: find center of box in physical mother coord %s \n", this.getClass().getSimpleName(),physMother.getName());
 			// hack since my getTransform function needs a mother TODO Fix this!
-			BaseGeometry gm = base;
+			SurveyVolume gm = base;
 			if(isDebug()) System.out.printf("%s: look for physical mother %s starting from mother %s \n", this.getClass().getSimpleName(),physMother.getName(),gm.getMother()!=null?gm.getMother().getName():"-- no mother --");
 			while((gm=gm.getMother()).getName()!=physMother.getName()) {
 				if(isDebug()) System.out.printf("%s: gm is %s \n", this.getClass().getSimpleName(),gm.getName());
@@ -370,7 +370,7 @@
 		 * @param base - object used to get geometry definitions
 		 * @param mother - mother LCDD object
 		 */
-		public GhostLCDDBaseGeometry(BaseGeometry base, LCDDBaseGeometry mother) {
+		public GhostLCDDBaseGeometry(SurveyVolume base, LCDDBaseGeometry mother) {
 			super();
 			if(isDebug()) System.out.printf("%s: constructing LCDD ghost object %s with mother %s\n", this.getClass().getSimpleName(),base.getName(),mother==null?"null":mother.getName());
 			setName(base.getName());

projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/lcdd
HPSTestRunTracker2014.java 3370 -> 3371
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/lcdd/HPSTestRunTracker2014.java	2014-10-17 19:38:02 UTC (rev 3370)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/lcdd/HPSTestRunTracker2014.java	2014-10-17 20:52:02 UTC (rev 3371)
@@ -318,7 +318,7 @@
 	
 	final double beamPlaneThickness = 0.00000001;
 	String volName = "beamPlaneVol";
-	Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length*2, beamPlaneThickness);
+	Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length*2, beamPlaneThickness);
 	lcdd.add(box);
 	Volume volume = new Volume(volName + "_volume", box, lcdd.getMaterial("Vacuum"));
 	
@@ -332,7 +332,7 @@
 
 	
 	// Find distance to center in the local coordinate system 
-	Hep3Vector box_center_base_local = new BasicHep3Vector(HPSTestRunTracker2014GeometryDefinition.Base.base_width/2.0, HPSTestRunTracker2014GeometryDefinition.Base.base_length/2.0, beamPlaneThickness/2.0);
+	Hep3Vector box_center_base_local = new BasicHep3Vector(HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width/2.0, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/2.0, beamPlaneThickness/2.0);
 	
 	//translate to the mother coordinate system
 	Hep3Vector box_center_base = trans_beamplane_to_tracking.transformed(box_center_base_local);
@@ -387,7 +387,7 @@
 	
 	
 	String volName = "example";
-	Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length , HPSTestRunTracker2014GeometryDefinition.Base.base_height/4.0);
+	Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/4.0);
 	lcdd.add(box);
 	Volume volume = new Volume(volName + "_volume", box, lcdd.getMaterial("Vacuum"));
 	
@@ -438,7 +438,7 @@
      //double [] rotations = r12.getAngles(org.apache.commons.math3.geometry.euclidean.threed.RotationOrder.XYZ);
      double [] rotations = r123.getAngles(org.apache.commons.math3.geometry.euclidean.threed.RotationOrder.XYZ);
      
-     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.Base.base_width*1.5,0,0);
+     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width*1.5,0,0);
      //Rotation rot = new Rotation(volName + "_rotation",rotations[0],rotations[1],rotations[2]);
      Rotation rot = new Rotation(volName + "_rotation",0,0,0);
      lcdd.add(pos);
@@ -454,10 +454,10 @@
      
      
      volName = volName + "_sub";
-     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.Base.base_height/8.0);
+     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/8.0);
      lcdd.add(boxSub);
      Volume volumeSub = new Volume(volName + "_volume", boxSub, lcdd.getMaterial("Vacuum"));
-     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.Base.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.Base.base_height/16.0);
+     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/16.0);
      Rotation subRot = new Rotation(volName + "_rotation",0,0,0);
      lcdd.add(subPos);
      lcdd.add(subRot);
@@ -487,7 +487,7 @@
 		}
 		
 		String volName = "example2";
-		Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length , HPSTestRunTracker2014GeometryDefinition.Base.base_height/4.0);
+		Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/4.0);
 		lcdd.add(box);
 		Volume volume = new Volume(volName + "_volume", box, lcdd.getMaterial("Vacuum"));
 	    
@@ -522,7 +522,7 @@
 	     //double [] rotations = r12.getAngles(org.apache.commons.math3.geometry.euclidean.threed.RotationOrder.XYZ);
 	     double [] rotations = r123.getAngles(org.apache.commons.math3.geometry.euclidean.threed.RotationOrder.XYZ);
 	     
-	     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.Base.base_width*1.5,0,0);
+	     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width*1.5,0,0);
 	     Rotation rot = new Rotation(volName + "_rotation",rotations[0],rotations[1],rotations[2]);
 	     lcdd.add(pos);
 	     lcdd.add(rot);
@@ -536,10 +536,10 @@
 	     
 	     
 	     volName = volName + "_sub";
-	     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.Base.base_height/8.0);
+	     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/8.0);
 	     lcdd.add(boxSub);
 	     Volume volumeSub = new Volume(volName + "_volume", boxSub, lcdd.getMaterial("Vacuum"));
-	     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.Base.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.Base.base_height/16.0);
+	     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/16.0);
 	     Rotation subRot = new Rotation(volName + "_rotation",0,0,0);
 	     lcdd.add(subPos);
 	     lcdd.add(subRot);
@@ -569,7 +569,7 @@
 		}
 		
 		String volName = "example3";
-		Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length , HPSTestRunTracker2014GeometryDefinition.Base.base_height/4.0);
+		Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/4.0);
 		lcdd.add(box);
 		Volume volume = new Volume(volName + "_volume", box, lcdd.getMaterial("Vacuum"));
 		
@@ -668,7 +668,7 @@
 		   
 		
 		
-	     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.Base.base_width*1.5*4,0,0);
+	     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width*1.5*4,0,0);
 	     Rotation rot = new Rotation(volName + "_rotation",rotations[0],rotations[1],rotations[2]);
 	     lcdd.add(pos);
 	     lcdd.add(rot);
@@ -682,10 +682,10 @@
 	     
 	     
 	     volName = volName + "_sub";
-	     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.Base.base_height/8.0);
+	     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/8.0);
 	     lcdd.add(boxSub);
 	     Volume volumeSub = new Volume(volName + "_volume", boxSub, lcdd.getMaterial("Vacuum"));
-	     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.Base.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.Base.base_height/16.0);
+	     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/16.0);
 	     Rotation subRot = new Rotation(volName + "_rotation",0,0,0);
 	     lcdd.add(subPos);
 	     lcdd.add(subRot);
@@ -714,7 +714,7 @@
 		}
 		
 		String volName = "example4";
-		Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length , HPSTestRunTracker2014GeometryDefinition.Base.base_height/4.0);
+		Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/4.0);
 		lcdd.add(box);
 		Volume volume = new Volume(volName + "_volume", box, lcdd.getMaterial("Vacuum"));
 	
@@ -759,7 +759,7 @@
 		
 		//apply to unit vector
 		
-	     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.Base.base_width*1.5*2,0,0);
+	     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width*1.5*2,0,0);
 	     Rotation rot = new Rotation(volName + "_rotation",rotations[0],rotations[1],rotations[2]);
 	     lcdd.add(pos);
 	     lcdd.add(rot);
@@ -774,10 +774,10 @@
 	     
 	     
 	     volName = volName + "_sub";
-	     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.Base.base_height/8.0);
+	     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/8.0);
 	     lcdd.add(boxSub);
 	     Volume volumeSub = new Volume(volName + "_volume", boxSub, lcdd.getMaterial("Vacuum"));
-	     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.Base.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.Base.base_height/16.0);
+	     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/16.0);
 	     Rotation subRot = new Rotation(volName + "_rotation",0,0,0);
 	     lcdd.add(subPos);
 	     lcdd.add(subRot);
@@ -806,7 +806,7 @@
 			}
 			
 			String volName = "example5";
-			Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length , HPSTestRunTracker2014GeometryDefinition.Base.base_height/4.0);
+			Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/4.0);
 			lcdd.add(box);
 			Volume volume = new Volume(volName + "_volume", box, lcdd.getMaterial("Vacuum"));
 		
@@ -866,7 +866,7 @@
 			
 			//apply to unit vector
 			
-		     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.Base.base_width*1.5*3,0,0);
+		     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width*1.5*3,0,0);
 		     Rotation rot = new Rotation(volName + "_rotation",rotations[0],rotations[1],rotations[2]);
 		     lcdd.add(pos);
 		     lcdd.add(rot);
@@ -879,10 +879,10 @@
 			
 		     
 		     volName = volName + "_sub";
-		     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.Base.base_height/8.0);
+		     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/8.0);
 		     lcdd.add(boxSub);
 		     Volume volumeSub = new Volume(volName + "_volume", boxSub, lcdd.getMaterial("Vacuum"));
-		     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.Base.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.Base.base_height/16.0);
+		     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/16.0);
 		     Rotation subRot = new Rotation(volName + "_rotation",0,0,0);
 		     lcdd.add(subPos);
 		     lcdd.add(subRot);
@@ -913,7 +913,7 @@
 			}
 			
 			String volName = "example5b";
-			Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length , HPSTestRunTracker2014GeometryDefinition.Base.base_height/4.0);
+			Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/4.0);
 			lcdd.add(box);
 			Volume volume = new Volume(volName + "_volume", box, lcdd.getMaterial("Vacuum"));
 		
@@ -957,7 +957,7 @@
 			
 			//apply to unit vector
 			
-		     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.Base.base_width*1.5*3,HPSTestRunTracker2014GeometryDefinition.Base.base_length*-1.5,0);
+		     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width*1.5*3,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length*-1.5,0);
 		     Rotation rot = new Rotation(volName + "_rotation",rotations[0],rotations[1],rotations[2]);
 		     lcdd.add(pos);
 		     lcdd.add(rot);
@@ -970,10 +970,10 @@
 			
 		     
 		     volName = volName + "_sub";
-		     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.Base.base_height/8.0);
+		     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/8.0);
 		     lcdd.add(boxSub);
 		     Volume volumeSub = new Volume(volName + "_volume", boxSub, lcdd.getMaterial("Vacuum"));
-		     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.Base.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.Base.base_height/16.0);
+		     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/16.0);
 		     Rotation subRot = new Rotation(volName + "_rotation",0,0,0);
 		     lcdd.add(subPos);
 		     lcdd.add(subRot);
@@ -1001,7 +1001,7 @@
 			}
 			
 			String volName = "example3b";
-			Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length , HPSTestRunTracker2014GeometryDefinition.Base.base_height/4.0);
+			Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/4.0);
 			lcdd.add(box);
 			Volume volume = new Volume(volName + "_volume", box, lcdd.getMaterial("Vacuum"));
 			
@@ -1108,7 +1108,7 @@
 			   
 			
 			
-		     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.Base.base_width*1.5*4,HPSTestRunTracker2014GeometryDefinition.Base.base_length*-1.5,0);
+		     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width*1.5*4,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length*-1.5,0);
 		     Rotation rot = new Rotation(volName + "_rotation",rotations[0],rotations[1],rotations[2]);
 		     lcdd.add(pos);
 		     lcdd.add(rot);
@@ -1122,10 +1122,10 @@
 		     
 		     
 		     volName = volName + "_sub";
-		     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.Base.base_height/8.0);
+		     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/8.0);
 		     lcdd.add(boxSub);
 		     Volume volumeSub = new Volume(volName + "_volume", boxSub, lcdd.getMaterial("Vacuum"));
-		     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.Base.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.Base.base_height/16.0);
+		     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/16.0);
 		     Rotation subRot = new Rotation(volName + "_rotation",0,0,0);
 		     lcdd.add(subPos);
 		     lcdd.add(subRot);
@@ -1154,7 +1154,7 @@
 		}
 		
 		String volName = "example6";
-		Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length , HPSTestRunTracker2014GeometryDefinition.Base.base_height/4.0);
+		Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/4.0);
 		lcdd.add(box);
 		Volume volume = new Volume(volName + "_volume", box, lcdd.getMaterial("Vacuum"));
 	    
@@ -1172,7 +1172,7 @@
 		
 		//apply to unit vector
 		
-	     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.Base.base_width*1.5*-2,0,0);
+	     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width*1.5*-2,0,0);
 	     Rotation rot = new Rotation(volName + "_rotation",rotations[0],rotations[1],rotations[2]);
 	     lcdd.add(pos);
 	     lcdd.add(rot);
@@ -1187,10 +1187,10 @@
 	     
 	     
 	     volName = volName + "_sub";
-	     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.Base.base_height/8.0);
+	     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/8.0);
 	     lcdd.add(boxSub);
 	     Volume volumeSub = new Volume(volName + "_volume", boxSub, lcdd.getMaterial("Vacuum"));
-	     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.Base.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.Base.base_height/16.0);
+	     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/16.0);
 	     Rotation subRot = new Rotation(volName + "_rotation",0,0,0);
 	     lcdd.add(subPos);
 	     lcdd.add(subRot);
@@ -1220,7 +1220,7 @@
 			}
 			
 			String volName = "example66";
-			Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length , HPSTestRunTracker2014GeometryDefinition.Base.base_height/4.0);
+			Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/4.0);
 			lcdd.add(box);
 			Volume volume = new Volume(volName + "_volume", box, lcdd.getMaterial("Vacuum"));
 		
@@ -1265,7 +1265,7 @@
 			
 			//apply to unit vector
 			
-		     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.Base.base_width*1.5*-4,0,0);
+		     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width*1.5*-4,0,0);
 		     Rotation rot = new Rotation(volName + "_rotation",rotations[0],rotations[1],rotations[2]);
 		     lcdd.add(pos);
 		     lcdd.add(rot);
@@ -1280,10 +1280,10 @@
 		     
 		     
 		     volName = volName + "_sub";
-		     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.Base.base_height/8.0);
+		     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/8.0);
 		     lcdd.add(boxSub);
 		     Volume volumeSub = new Volume(volName + "_volume", boxSub, lcdd.getMaterial("Vacuum"));
-		     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.Base.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.Base.base_height/16.0);
+		     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/16.0);
 		     Rotation subRot = new Rotation(volName + "_rotation",0,0,0);
 		     lcdd.add(subPos);
 		     lcdd.add(subRot);
@@ -1316,7 +1316,7 @@
 		}
 		
 		String volName = "example7";
-		Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length , HPSTestRunTracker2014GeometryDefinition.Base.base_height/4.0);
+		Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/4.0);
 		lcdd.add(box);
 		Volume volume = new Volume(volName + "_volume", box, lcdd.getMaterial("Vacuum"));
 	    
@@ -1334,7 +1334,7 @@
 		
 		//apply to unit vector
 		
-	     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.Base.base_width*1.5*-2,HPSTestRunTracker2014GeometryDefinition.Base.base_length*-1,0);
+	     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width*1.5*-2,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length*-1,0);
 	     Rotation rot = new Rotation(volName + "_rotation",rotations[0],rotations[1],rotations[2]);
 	     lcdd.add(pos);
 	     lcdd.add(rot);
@@ -1349,10 +1349,10 @@
 	     
 	     
 	     volName = volName + "_sub";
-	     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.Base.base_height/8.0);
+	     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/8.0);
 	     lcdd.add(boxSub);
 	     Volume volumeSub = new Volume(volName + "_volume", boxSub, lcdd.getMaterial("Vacuum"));
-	     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.Base.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.Base.base_height/16.0);
+	     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/16.0);
 	     Rotation subRot = new Rotation(volName + "_rotation",0,0,0);
 	     lcdd.add(subPos);
 	     lcdd.add(subRot);
@@ -1382,7 +1382,7 @@
 			}
 			
 			String volName = "example77";
-			Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length , HPSTestRunTracker2014GeometryDefinition.Base.base_height/4.0);
+			Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/4.0);
 			lcdd.add(box);
 			Volume volume = new Volume(volName + "_volume", box, lcdd.getMaterial("Vacuum"));
 		
@@ -1450,7 +1450,7 @@
 			
 			//apply to unit vector
 			
-		     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.Base.base_width*1.5*-4,HPSTestRunTracker2014GeometryDefinition.Base.base_length*-1,0);
+		     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width*1.5*-4,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length*-1,0);
 		     Rotation rot = new Rotation(volName + "_rotation",rotations[0],rotations[1],rotations[2]);
 		     lcdd.add(pos);
 		     lcdd.add(rot);
@@ -1465,10 +1465,10 @@
 		     
 		     
 		     volName = volName + "_sub";
-		     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.Base.base_height/8.0);
+		     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/8.0);
 		     lcdd.add(boxSub);
 		     Volume volumeSub = new Volume(volName + "_volume", boxSub, lcdd.getMaterial("Vacuum"));
-		     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.Base.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.Base.base_height/16.0);
+		     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/16.0);
 		     Rotation subRot = new Rotation(volName + "_rotation",0,0,0);
 		     lcdd.add(subPos);
 		     lcdd.add(subRot);
@@ -1499,7 +1499,7 @@
 	}
 	
 	String volName = "example8";
-	Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length , HPSTestRunTracker2014GeometryDefinition.Base.base_height/4.0);
+	Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/4.0);
 	lcdd.add(box);
 	Volume volume = new Volume(volName + "_volume", box, lcdd.getMaterial("Vacuum"));
     
@@ -1532,7 +1532,7 @@
 	
 	//apply to unit vector
 	
-     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.Base.base_width*1.5*-1,HPSTestRunTracker2014GeometryDefinition.Base.base_length*-3,0);
+     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width*1.5*-1,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length*-3,0);
      Rotation rot = new Rotation(volName + "_rotation",euler_angles.x(),euler_angles.y(),euler_angles.z());
      lcdd.add(pos);
      lcdd.add(rot);
@@ -1547,10 +1547,10 @@
      
      
      volName = volName + "_sub";
-     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.Base.base_height/8.0);
+     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/8.0);
      lcdd.add(boxSub);
      Volume volumeSub = new Volume(volName + "_volume", boxSub, lcdd.getMaterial("Vacuum"));
-     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.Base.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.Base.base_height/16.0);
+     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/16.0);
      Rotation subRot = new Rotation(volName + "_rotation",0,0,0);
      lcdd.add(subPos);
      lcdd.add(subRot);
@@ -1580,7 +1580,7 @@
 		}
 		
 		String volName = "example9";
-		Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length , HPSTestRunTracker2014GeometryDefinition.Base.base_height/4.0);
+		Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/4.0);
 		lcdd.add(box);
 		Volume volume = new Volume(volName + "_volume", box, lcdd.getMaterial("Vacuum"));
 	    
@@ -1613,7 +1613,7 @@
 		
 		//apply to unit vector
 		
-	     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.Base.base_width*1.5*-1,HPSTestRunTracker2014GeometryDefinition.Base.base_length*-2,0);
+	     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width*1.5*-1,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length*-2,0);
 	     Rotation rot = new Rotation(volName + "_rotation",euler_angles.x(),euler_angles.y(),euler_angles.z());
 	     lcdd.add(pos);
 	     lcdd.add(rot);
@@ -1628,10 +1628,10 @@
 	     
 	     
 	     volName = volName + "_sub";
-	     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.Base.base_height/8.0);
+	     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/8.0);
 	     lcdd.add(boxSub);
 	     Volume volumeSub = new Volume(volName + "_volume", boxSub, lcdd.getMaterial("Vacuum"));
-	     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.Base.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.Base.base_height/16.0);
+	     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/16.0);
 	     Rotation subRot = new Rotation(volName + "_rotation",0,0,0);
 	     lcdd.add(subPos);
 	     lcdd.add(subRot);
@@ -1663,7 +1663,7 @@
 		}
 		
 		String volName = "example10";
-		Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length , HPSTestRunTracker2014GeometryDefinition.Base.base_height/4.0);
+		Box box = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/4.0);
 		lcdd.add(box);
 		Volume volume = new Volume(volName + "_volume", box, lcdd.getMaterial("Vacuum"));
 	    
@@ -1696,7 +1696,7 @@
 		
 		//apply to unit vector
 		
-	     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.Base.base_width*1.5*-2,HPSTestRunTracker2014GeometryDefinition.Base.base_length*-2,0);
+	     Position pos = new Position(volName + "_position",HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width*1.5*-2,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length*-2,0);
 	     Rotation rot = new Rotation(volName + "_rotation",euler_angles.x(),euler_angles.y(),euler_angles.z());
 	     lcdd.add(pos);
 	     lcdd.add(rot);
@@ -1711,10 +1711,10 @@
 	     
 	     
 	     volName = volName + "_sub";
-	     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.Base.base_width, HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.Base.base_height/8.0);
+	     Box boxSub = new Box(volName + "Box", HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_width, HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0 , HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/8.0);
 	     lcdd.add(boxSub);
 	     Volume volumeSub = new Volume(volName + "_volume", boxSub, lcdd.getMaterial("Vacuum"));
-	     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.Base.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.Base.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.Base.base_height/16.0);
+	     Position subPos = new Position(volName + "_position",0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/4.0*2-HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_length/8.0,HPSTestRunTracker2014GeometryDefinition.TrackerEnvelope.base_height/16.0);
 	     Rotation subRot = new Rotation(volName + "_rotation",0,0,0);
 	     lcdd.add(subPos);
 	     lcdd.add(subRot);
SVNspam 0.1


Use REPLY-ALL to reply to list

To unsubscribe from the LCDET-SVN list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1