Commit in GeomConverter/src/org/lcsim/detector/converter/compact on MAIN
DiskTrackerConverter.java+15-191.22 -> 1.23
fix multiple sensors per layer

GeomConverter/src/org/lcsim/detector/converter/compact
DiskTrackerConverter.java 1.22 -> 1.23
diff -u -r1.22 -r1.23
--- DiskTrackerConverter.java	3 Dec 2008 00:50:56 -0000	1.22
+++ DiskTrackerConverter.java	25 Mar 2009 00:28:13 -0000	1.23
@@ -14,8 +14,6 @@
 import org.lcsim.detector.identifier.IIdentifierDictionary;
 import org.lcsim.detector.identifier.IIdentifierHelper;
 import org.lcsim.detector.identifier.IdentifierContext;
-import org.lcsim.detector.identifier.IdentifierDictionaryManager;
-import org.lcsim.detector.identifier.IdentifierUtil;
 import org.lcsim.detector.material.IMaterial;
 import org.lcsim.detector.material.MaterialStore;
 import org.lcsim.detector.solids.Tube;
@@ -177,30 +175,27 @@
 				sliceZ += sliceThickness/2;
 
 				if ( slice.isSensitive() && decoder != null)
-				{          
-                    slicePV.setSensitive(true);
-                    
-					String path = "/tracking_region/" + name + "_positive_layer" +i + "/slice" + j;
-	                
-                    IIdentifier posId = makeIdentifier(helper, systemNumber, helper.getEndcapPositiveValue(), i);
-                    					                   
+				{
+                    slicePV.setSensitive(true);                    
+					String path = "/tracking_region/" + name + "_positive_layer" +i + "/slice" + j;	                
+                    IIdentifier posId = makeIdentifier(helper, systemNumber, helper.getEndcapPositiveValue(), i, j);
+                                       
 					new DetectorElement(
-					        name + "_positive_layer" + sensorNum,
+					        name + "_positive_layer" + i + "_sensor" + sensorNum,
 					        endcapPos,
 					        path,
 					        posId);
-
+										
 					if ( tracker.getReflect() )
 					{
 						path = "/tracking_region/" + name + "_negative_layer" +i + "/slice" + j;
-
-                        IIdentifier negId = makeIdentifier(helper, systemNumber, helper.getEndcapNegativeValue(), i);
-						
+                        IIdentifier negId = makeIdentifier(helper, systemNumber, helper.getEndcapNegativeValue(), i, j);
+						                                                
                         new DetectorElement(
-                                name + "_negative_layer" + sensorNum,
+                                name + "_negative_layer" + i + "_sensor" + sensorNum,
                                 endcapNeg,
                                 path,
-                                negId);
+                                negId);                                                
 					}
 
 					++sensorNum;
@@ -209,13 +204,15 @@
 		}
 	}
 
-	static IIdentifier makeIdentifier(IIdentifierHelper helper, int systemNumber, int barrel, int layer)
+	static IIdentifier makeIdentifier(IIdentifierHelper helper, int systemNumber, int barrel, int layer, int slice)
 	{
 		ExpandedIdentifier id = new ExpandedIdentifier(helper.getIdentifierDictionary().getNumberOfFields());
         try {
             id.setValue(helper.getFieldIndex("system"), systemNumber);
             id.setValue(helper.getFieldIndex("barrel"), barrel);
             id.setValue(helper.getFieldIndex("layer"), layer);
+            if (helper.hasField("slice"))
+                id.setValue(helper.getFieldIndex("slice"), slice);
             return helper.pack(id);
         }
         catch (Exception x)
@@ -226,8 +223,7 @@
     
     public void makeIdentifierContext(Subdetector subdet)
     {
-        IIdentifierDictionary iddict = subdet.getDetectorElement().getIdentifierHelper().getIdentifierDictionary();
-        
+        IIdentifierDictionary iddict = subdet.getDetectorElement().getIdentifierHelper().getIdentifierDictionary();        
 
         int systemIndex = iddict.getFieldIndex("system");
         int barrelIndex = iddict.getFieldIndex("barrel");
CVSspam 0.2.8