GeomConverter/src/org/lcsim/detector/converter/compact
diff -u -r1.15 -r1.16
--- CylindricalBarrelCalorimeterConverter.java 23 Mar 2009 17:43:17 -0000 1.15
+++ CylindricalBarrelCalorimeterConverter.java 23 Mar 2009 18:51:29 -0000 1.16
@@ -170,19 +170,21 @@
// Make an id for the sensor.
IExpandedIdentifier expid = new ExpandedIdentifier(helper.getIdentifierDictionary().getNumberOfFields());
- expid.setValue(helper.getFieldIndex("system"), cal.getSystemID());
- expid.setValue(helper.getFieldIndex("barrel"), BarrelEndcapFlag.BARREL.getFlag());
- expid.setValue(helper.getFieldIndex("layer"), i);
- if (helper.hasField("slice"))
- expid.setValue(helper.getFieldIndex("slice"), j);
- IIdentifier id = helper.pack(expid);
+ if (helper.hasField("system"))
+ {
+ expid.setValue(helper.getFieldIndex("system"), cal.getSystemID());
+ expid.setValue(helper.getFieldIndex("barrel"), BarrelEndcapFlag.BARREL.getFlag());
+ expid.setValue(helper.getFieldIndex("layer"), i);
+ if (helper.hasField("slice"))
+ expid.setValue(helper.getFieldIndex("slice"), j);
+ IIdentifier id = helper.pack(expid);
- new DetectorElement(
+ new DetectorElement(
cal.getName() + "_layer" + layerNumber + "_sensor" + sensorNumber,
cal.getDetectorElement(),
sensorPath,
id);
-
+ }
// Increment the number of sensors.
++sensorNumber;
}
GeomConverter/src/org/lcsim/detector/converter/compact
diff -u -r1.18 -r1.19
--- CylindricalEndcapCalorimeterConverter.java 23 Mar 2009 17:43:17 -0000 1.18
+++ CylindricalEndcapCalorimeterConverter.java 23 Mar 2009 18:51:29 -0000 1.19
@@ -111,39 +111,48 @@
String pathName = "/" + cal.getName() + "_positive" + "/" + layerName + "/" + sliceName;
// Make an id for the endcap north sensor.
- IExpandedIdentifier expid = new ExpandedIdentifier(helper.getIdentifierDictionary().getNumberOfFields());
- expid.setValue(helper.getFieldIndex("system"), cal.getSystemID());
- expid.setValue(helper.getFieldIndex("barrel"), BarrelEndcapFlag.ENDCAP_NORTH.getFlag());
- expid.setValue(helper.getFieldIndex("layer"), i);
- if (helper.hasField("slice"))
- expid.setValue(helper.getFieldIndex("slice"), j);
- IIdentifier id = helper.pack(expid);
+ if (helper.hasField("system"))
+ {
+ IExpandedIdentifier expid = new ExpandedIdentifier(helper.getIdentifierDictionary().getNumberOfFields());
+ if (helper.hasField("system"))
+ expid.setValue(helper.getFieldIndex("system"), cal.getSystemID());
+ expid.setValue(helper.getFieldIndex("barrel"), BarrelEndcapFlag.ENDCAP_NORTH.getFlag());
+ expid.setValue(helper.getFieldIndex("layer"), i);
+ if (helper.hasField("slice"))
+ expid.setValue(helper.getFieldIndex("slice"), j);
+ IIdentifier id = helper.pack(expid);
- new DetectorElement(
+ new DetectorElement(
cal.getName() + "_positive_layer" + layerNumber + "_sensor" + sensorNumber,
endcap,
pathName,
id);
-
+ }
+
// Create the reflected endcap sensor.
if ( reflectedEndcap != null )
{
pathName = "/" + cal.getName() + "_negative" + "/" + layerName + "/" + sliceName;
// Make an id for the endcap south sensor.
- IExpandedIdentifier expidReflect = new ExpandedIdentifier(helper.getIdentifierDictionary().getNumberOfFields());
- expid.setValue(helper.getFieldIndex("system"), cal.getSystemID());
- expid.setValue(helper.getFieldIndex("barrel"), BarrelEndcapFlag.ENDCAP_SOUTH.getFlag());
- expid.setValue(helper.getFieldIndex("layer"), i);
- if (helper.hasField("slice"))
- expid.setValue(helper.getFieldIndex("slice"), j);
- IIdentifier idReflect = helper.pack(expidReflect);
+
+ if (helper.hasField("system"))
+ {
+ IExpandedIdentifier expidReflect = new ExpandedIdentifier(helper.getIdentifierDictionary().getNumberOfFields());
+ if (helper.hasField("system"))
+ expidReflect.setValue(helper.getFieldIndex("system"), cal.getSystemID());
+ expidReflect.setValue(helper.getFieldIndex("barrel"), BarrelEndcapFlag.ENDCAP_SOUTH.getFlag());
+ expidReflect.setValue(helper.getFieldIndex("layer"), i);
+ if (helper.hasField("slice"))
+ expidReflect.setValue(helper.getFieldIndex("slice"), j);
+ IIdentifier idReflect = helper.pack(expidReflect);
- new DetectorElement(
+ new DetectorElement(
cal.getName() + "_negative_layer" + layerNumber + "_sensor" + sensorNumber,
reflectedEndcap,
pathName,
idReflect);
+ }
}
// Increment the sensor number.
++sensorNumber;