GeomConverter/src/org/lcsim/detector/tracker/silicon
diff -u -r1.13 -r1.14
--- SiSensor.java 28 Aug 2007 22:08:22 -0000 1.13
+++ SiSensor.java 25 Sep 2007 23:42:24 -0000 1.14
@@ -22,11 +22,11 @@
import org.lcsim.detector.IDetectorElement;
import org.lcsim.detector.converter.compact.DeDetector;
import org.lcsim.detector.converter.compact.DeSubdetector;
+import org.lcsim.detector.identifier.ExpandedIdentifier;
import org.lcsim.detector.identifier.IExpandedIdentifier;
import org.lcsim.detector.identifier.IIdentifier;
+import org.lcsim.detector.identifier.IIdentifierDictionary;
import org.lcsim.detector.identifier.IIdentifierHelper;
-import org.lcsim.detector.identifier.IIdentifierDictionary.FieldNotFoundException;
-import org.lcsim.detector.identifier.IIdentifierDictionary.InvalidIndexException;
import org.lcsim.detector.solids.Box;
/**
@@ -323,16 +323,23 @@
{
try {
IIdentifierHelper helper = getIdentifierHelper();
- IExpandedIdentifier id = null;
- helper.unpack( getIdentifier(), 0, helper.getIdentifierDictionary().getFieldIndex("side") - 1);
- id.addValue(sideNumber);
- id.addValue(stripNumber);
+ IIdentifierDictionary dict = helper.getIdentifierDictionary();
+
+ IExpandedIdentifier id = new ExpandedIdentifier(getExpandedIdentifier());
+
+ int sideIndex = dict.getFieldIndex("side");
+ int stripIndex = dict.getFieldIndex("strip");
+
+ id.setValue(sideIndex, sideNumber);
+ id.setValue(stripIndex, stripNumber);
+
+ System.out.println("stripid: " + id.toString());
+
return helper.pack( id );
}
catch (Exception x)
{
throw new RuntimeException(x);
}
- }
-
-}
+ }
+}
\ No newline at end of file