GeomConverter/src/org/lcsim/detector/tracker/silicon
diff -u -r1.6 -r1.7
--- SiSensor.java 18 May 2007 21:56:34 -0000 1.6
+++ SiSensor.java 18 May 2007 23:45:11 -0000 1.7
@@ -23,6 +23,8 @@
import org.lcsim.detector.Rotation3D;
import org.lcsim.detector.converter.compact.DeDetector;
import org.lcsim.detector.converter.compact.DeSubdetector;
+import org.lcsim.detector.identifier.IExpandedIdentifier;
+import org.lcsim.detector.identifier.IIdentifier;
import org.lcsim.detector.identifier.IIdentifierHelper;
import org.lcsim.detector.solids.Box;
@@ -506,6 +508,23 @@
}
return subdet.get(0).getIdentifierHelper();
}
+
+ /**
+ * Make an {@link IIdentifier} for a given strip number and side number.
+ *
+ * @author Jeremy McCormick
+ * @param stripNumber The strip number, which should be from 1 to nstrips-1.
+ * @param sideNumber The side number, which should be 1 or -1.
+ * @return A 64-bit Identifier for the strip.
+ */
+ public IIdentifier makeStripId( int stripNumber, int sideNumber )
+ {
+ IIdentifierHelper helper = getIdentifierHelper();
+ IExpandedIdentifier id = helper.unpack( getIdentifier(), 0, helper.getIdentifierDictionary().getFieldIndex("side") - 1);
+ id.addValue(sideNumber);
+ id.addValue(stripNumber);
+ return helper.pack( id );
+ }