3 modified files
lcsim/src/org/lcsim/detector/driver
diff -u -r1.4 -r1.5
--- ExampleRawTrackerHitReadoutDriver.java 3 Jul 2007 23:56:11 -0000 1.4
+++ ExampleRawTrackerHitReadoutDriver.java 28 Aug 2007 23:48:39 -0000 1.5
@@ -26,7 +26,7 @@
* {@link org.lcsim.event.RawTrackerHit}s from {@link SimTrackerHit} collections.
*
* @author Jeremy McCormick
- * @version $Id: ExampleRawTrackerHitReadoutDriver.java,v 1.4 2007/07/03 23:56:11 jeremy Exp $
+ * @version $Id: ExampleRawTrackerHitReadoutDriver.java,v 1.5 2007/08/28 23:48:39 jeremy Exp $
*/
public class ExampleRawTrackerHitReadoutDriver
extends Driver
@@ -62,17 +62,25 @@
// Create an Identifier from the SimTrackerHit's cellId.
IIdentifier hitId = new Identifier(aSimHit.getCellID());
+ IIdentifier geomId = null;
+ IDetectorElementContainer deHit = null;
+
+ try {
+
+ // Extract the field values up to "side".
+ IExpandedIdentifier expGeomId =
+ helper.unpack(hitId, 0, helper.getIdentifierDictionary().getFieldIndex("side") - 1);
+
+ // Repack the Identifier.
+ geomId = helper.pack(expGeomId);
- // Extract the field values up to "side".
- IExpandedIdentifier expGeomId =
- helper.unpack(hitId, 0, helper.getIdentifierDictionary().getFieldIndex("side") - 1);
-
- // Repack the Identifier.
- IIdentifier geomId = helper.pack(expGeomId);
-
- // Lookup the DetectorElement from the Identifier.
- IDetectorElementContainer deHit =
- DetectorElementStore.getInstance().find(geomId);
+ // Lookup the DetectorElement from the Identifier.
+ deHit = DetectorElementStore.getInstance().find(geomId);
+ }
+ catch (Exception x)
+ {
+ throw new RuntimeException(x);
+ }
// Fatal error if DetectorElement was not found.
if (deHit.size() == 0)
lcsim/src/org/lcsim/event/base
diff -u -r1.6 -r1.7
--- BaseRawTrackerHit.java 3 Jul 2007 23:15:32 -0000 1.6
+++ BaseRawTrackerHit.java 28 Aug 2007 23:48:39 -0000 1.7
@@ -17,7 +17,7 @@
/**
* A basic implementation of RawTrackerHit.
* @author Tony Johnson
- * @version $Id: BaseRawTrackerHit.java,v 1.6 2007/07/03 23:15:32 jeremy Exp $
+ * @version $Id: BaseRawTrackerHit.java,v 1.7 2007/08/28 23:48:39 jeremy Exp $
*/
public class BaseRawTrackerHit implements RawTrackerHit
{
@@ -84,7 +84,13 @@
public IExpandedIdentifier getExpandedIdentifier()
{
- return getIdentifierHelper().unpack(identifier);
+ try {
+ return getIdentifierHelper().unpack(identifier);
+ }
+ catch (Exception x)
+ {
+ throw new RuntimeException(x);
+ }
}
public IIdentifierHelper getIdentifierHelper()
lcsim/test/org/lcsim/detector/driver
diff -u -r1.4 -r1.5
--- SimTrackerHitIdentifierTest.java 7 Aug 2007 17:36:38 -0000 1.4
+++ SimTrackerHitIdentifierTest.java 28 Aug 2007 23:48:39 -0000 1.5
@@ -15,6 +15,7 @@
import org.lcsim.util.Driver;
import org.lcsim.event.*;
import org.lcsim.detector.identifier.*;
+import org.lcsim.detector.identifier.IIdentifierDictionary.InvalidIndexException;
import org.lcsim.geometry.IDDecoder;
@@ -31,7 +32,7 @@
* @see org.lcsim.detector.IDetectorElement
* @see org.lcsim.geometry.Subdetector
*
- * @version $Id: SimTrackerHitIdentifierTest.java,v 1.4 2007/08/07 17:36:38 jeremy Exp $
+ * @version $Id: SimTrackerHitIdentifierTest.java,v 1.5 2007/08/28 23:48:39 jeremy Exp $
* @author jeremym
*/
public class SimTrackerHitIdentifierTest
@@ -79,8 +80,15 @@
// Create an Identifier from the CellID.
Identifier id = new Identifier( hit.getCellID() );
- // Create an ExpandedIdentifier from the CellID.
- IExpandedIdentifier exp = helper.unpack( id );
+ IExpandedIdentifier exp = null;
+ try {
+ // Create an ExpandedIdentifier from the CellID.
+ exp = helper.unpack( id );
+ }
+ catch (InvalidIndexException x)
+ {
+ throw new RuntimeException(x);
+ }
// Test that IDDecoder and ExpandedIdentifier have the same number of fields.
assertEquals( "IDs have different number of fields.", decoder.getFieldCount(), exp.size() );
CVSspam 0.2.8