GeomConverter/src/org/lcsim/detector/converter/compact
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");