Commit in GeomConverter/src/org/lcsim/detector/converter/compact on MAIN
SiTrackerEndcapConverter.java+23-121.6 -> 1.7
JM: add endcaps

GeomConverter/src/org/lcsim/detector/converter/compact
SiTrackerEndcapConverter.java 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- SiTrackerEndcapConverter.java	29 Oct 2007 18:30:10 -0000	1.6
+++ SiTrackerEndcapConverter.java	29 Oct 2007 21:36:37 -0000	1.7
@@ -29,7 +29,7 @@
  * Converter for SiTrackerEndcap.
  *
  * @author Jeremy McCormick, Tim Nelson
- * @version $Id: SiTrackerEndcapConverter.java,v 1.6 2007/10/29 18:30:10 tknelson Exp $
+ * @version $Id: SiTrackerEndcapConverter.java,v 1.7 2007/10/29 21:36:37 jeremy Exp $
  */
 
 public class SiTrackerEndcapConverter
@@ -75,34 +75,45 @@
             
             double layerZ = innerZ + thickness / 2;
             
-            // Layer PV.
+            // Positive endcap.
             ITransform3D layerTrans = new Transform3D(new Translation3D(0,0,layerZ));
-            
-            String layerName = layerLV.getName();
-            
+            String layerName = layerLV.getName() + "_positive";
             new PhysicalVolume(layerTrans,layerName,layerLV,trackingLV,layern);
-            
-            // Layer DE.
             String layerPath = "/" + trackingPV.getName() + "/" + layerName;
             IDetectorElement layerDE = new DetectorElement(layerLV.getName(),null,detector.getNavigator().getPath(layerPath));
             
-            //System.out.println(layerDE.getName() + " -> " + layerPath);
+            // Negative endcap.
+            ITransform3D layerTransReflect = new Transform3D(new Translation3D(0,0,-layerZ), new RotationPassiveXYZ(0,Math.PI,0));
+            String layerNameReflect = layerLV.getName() + "_negative";
+            new PhysicalVolume(layerTransReflect,layerNameReflect,layerLV,trackingLV,layern);
+            String layerPathReflect = "/" + trackingPV.getName() + "/" + layerNameReflect;
+            IDetectorElement layerDEReflect = new DetectorElement(layerNameReflect,null,detector.getNavigator().getPath(layerPathReflect));
             
             // Wedge DE.
             for (IPhysicalVolume wedge : layerLV.getDaughters())
             {
+                // Positive endcap.
                 String wedgePath = layerPath + "/" + wedge.getName();
-                String wedgeName = subdet.getName() + "_layer" + layern + "_wedge" + wedge.getCopyNumber();
-                //System.out.println(wedgeName + " -> " + wedgePath);
+                String wedgeName = layerName + "_wedge" + wedge.getCopyNumber();
                 IDetectorElement wedgeDE = new DetectorElement(wedgeName,layerDE,detector.getNavigator().getPath(wedgePath));
+
+                // Negative endcap.
+                String wedgePathReflect = layerPathReflect + "/" + wedge.getName();
+                String wedgeNameReflect = layerNameReflect + "_wedge" + wedge.getCopyNumber();
+                IDetectorElement wedgeDEReflect = new DetectorElement(wedgeNameReflect,layerDEReflect,detector.getNavigator().getPath(wedgePathReflect));
                 
                 // Module DEs.
                 for (IPhysicalVolume module : wedge.getLogicalVolume().getDaughters())
                 {
+                    // Positive endcap.
                     String modulePath = wedgePath + "/" + module.getName();
-                    String moduleName = layerName + "_wedge" + wedge.getCopyNumber() + "_module" + module.getCopyNumber();
-                    //System.out.println(moduleName + " -> " + modulePath);
+                    String moduleName = wedgeName + "_module" + module.getCopyNumber();
                     new DetectorElement(moduleName,wedgeDE,detector.getNavigator().getPath(modulePath));
+                    
+                    // Negative endcap.
+                    String modulePathReflect = wedgePathReflect + "/" + module.getName();
+                    String moduleNameReflect = wedgeNameReflect + "_module" + module.getCopyNumber();
+                    new DetectorElement(moduleNameReflect,wedgeDEReflect,detector.getNavigator().getPath(modulePathReflect));
                 }
             }
         }
CVSspam 0.2.8