Print

Print


Commit in GeomConverter/src/org/lcsim on MAIN
detector/converter/compact/SiTrackerBarrelConverter.java+8-61.32 -> 1.33
geometry/compact/converter/lcdd/SiTrackerBarrel.java+6-51.5 -> 1.6
+14-11
2 modified files
JM: fix SiTrackerBarrel layer numbering to use layer ids from compact description

GeomConverter/src/org/lcsim/detector/converter/compact
SiTrackerBarrelConverter.java 1.32 -> 1.33
diff -u -r1.32 -r1.33
--- SiTrackerBarrelConverter.java	2 Jul 2008 21:38:32 -0000	1.32
+++ SiTrackerBarrelConverter.java	3 Jul 2008 20:55:06 -0000	1.33
@@ -244,12 +244,14 @@
         String detector_name = subdet.getName();
         
 //      Build the layers.
-        int nlayer = 0;
-        for (Iterator i = node.getChildren("layer").iterator(); i.hasNext(); nlayer++)
+        //int nlayer = 0;        
+        for (Iterator i = node.getChildren("layer").iterator(); i.hasNext();)
         {
             // Get the next layer element.
             Element layer_element = (Element) i.next();
             
+            int layern = layer_element.getAttribute("id").getIntValue();
+            
             // Get the reference to the module from the layer.
             String module_name = layer_element.getAttributeValue("module");
             
@@ -269,7 +271,7 @@
             double oz = barrel_envelope.getAttribute("z_length").getDoubleValue();
             
             // Name of this layer including layer number.
-            String layer_name = detector_name + "_layer" + nlayer;
+            String layer_name = detector_name + "_layer" + layern;
             
             //System.out.println("layer_name=" + layer_name);
             
@@ -291,12 +293,12 @@
                     layer_name,
                     layer_volume,
                     detector.getTrackingVolume().getLogicalVolume(),
-                    nlayer);
+                    layern);
             
             // Layer DE.
             String layerPath = "/tracking_region/" + layer_name;
             IDetectorElement layerDE =
-                    new SiTrackerLayer(layer_name, subdet.getDetectorElement(), layerPath, nlayer);
+                    new SiTrackerLayer(layer_name, subdet.getDetectorElement(), layerPath, layern);
             
             // Get the rphi_layout element.
             Element rphi_layout = layer_element.getChild("rphi_layout");
@@ -385,7 +387,7 @@
                 for (int zcount = 0; zcount < nz; zcount++)
                 {
                     // Create a unique name for the module in this logical volume, layer, phi, and z.
-                    String module_place_name = detector_name + "_layer" + nlayer + "_phi" + phicount + "_z" + zcount;
+                    String module_place_name = detector_name + "_layer" + layern + "_phi" + phicount + "_z" + zcount;
                     
                     double z = module_z;
                     

GeomConverter/src/org/lcsim/geometry/compact/converter/lcdd
SiTrackerBarrel.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- SiTrackerBarrel.java	26 Mar 2008 23:13:27 -0000	1.5
+++ SiTrackerBarrel.java	3 Jul 2008 20:55:06 -0000	1.6
@@ -81,11 +81,12 @@
 		}
 
 		// Build the layers.
-		int nlayer = 0;
-		for (Iterator i = node.getChildren("layer").iterator(); i.hasNext(); nlayer++)
+		for (Iterator i = node.getChildren("layer").iterator(); i.hasNext();)
 		{
 			// Get the next layer element.
 			Element layer_element = (Element) i.next();
+			
+			int layern = layer_element.getAttribute("id").getIntValue();
 
 			// Get the reference to the module from the layer.
 			String module_name = layer_element.getAttributeValue("module");
@@ -106,7 +107,7 @@
 			double oz = barrel_envelope.getAttribute("z_length").getDoubleValue();
 
 			// Name of this layer including layer number.
-			String layer_name = detector_name + "_layer" + nlayer;
+			String layer_name = detector_name + "_layer" + layern;
 
 			//System.out.println("layer_name=" + layer_name);
 
@@ -209,7 +210,7 @@
 				for (int j = 0; j < nz; j++)
 				{
 					// Create a unique name for the module in this logical volume, layer, phi, and z.
-					String module_place_name = detector_name + "_layer" + nlayer + "_phi" + ii + "_z" + j;
+					String module_place_name = detector_name + "_layer" + layern + "_phi" + ii + "_z" + j;
 
 					double z = module_z;
 
@@ -302,7 +303,7 @@
 			layer_envelope_physvol.addPhysVolID("barrel", 0);
 
 			// Set the layer ID.
-			layer_envelope_physvol.addPhysVolID("layer", nlayer);
+			layer_envelope_physvol.addPhysVolID("layer", layern);
 
 			// Put the layer into the mother volume.
 			tracking_volume.addPhysVol(layer_envelope_physvol);
CVSspam 0.2.8