lcsim/src/org/lcsim/detector/driver
diff -u -r1.1 -r1.2
--- ExampleRawTrackerHitReadoutDriver.java 24 May 2007 18:15:44 -0000 1.1
+++ ExampleRawTrackerHitReadoutDriver.java 25 May 2007 20:17:09 -0000 1.2
@@ -5,6 +5,7 @@
import org.lcsim.detector.DetectorElementStore;
import org.lcsim.detector.IDetectorElement;
+import org.lcsim.detector.IDetectorElementContainer;
import org.lcsim.detector.IReadout;
import org.lcsim.detector.identifier.IExpandedIdentifier;
import org.lcsim.detector.identifier.IIdentifier;
@@ -25,7 +26,7 @@
* {@link org.lcsim.event.RawTrackerHit}s from {@link SimTrackerHit} collections.
*
* @author Jeremy McCormick
- * @version $Id: ExampleRawTrackerHitReadoutDriver.java,v 1.1 2007/05/24 18:15:44 jeremy Exp $
+ * @version $Id: ExampleRawTrackerHitReadoutDriver.java,v 1.2 2007/05/25 20:17:09 jeremy Exp $
*/
public class ExampleRawTrackerHitReadoutDriver
extends Driver
@@ -68,11 +69,11 @@
IIdentifier geomId = helper.pack(expGeomId);
// Lookup the DetectorElement from the Identifier.
- IDetectorElement deHit =
- DetectorElementStore.getInstance().findDetectorElement(geomId);
+ IDetectorElementContainer deHit =
+ DetectorElementStore.getInstance().find(geomId);
// Fatal error if DetectorElement was not found.
- if (deHit == null)
+ if (deHit.size() == 0)
{
throw new RuntimeException("DetectorElement not found with id <"+geomId.toHexString()+">.");
}
@@ -86,10 +87,10 @@
new short[]{}, // adcValues
aSimHit.getIDDecoder(), // IDDecoder
simHits, // SimTrackerHits
- deHit); // DetectorElement
+ deHit.get(0)); // DetectorElement
// Add the hit to the DetectorElement's Readout.
- IReadout ro = deHit.getReadout();
+ IReadout ro = deHit.get(0).getReadout();
ro.addHit(rawHit);
}
}
lcsim/src/org/lcsim/detector/driver
diff -u -r1.1 -r1.2
--- ReadoutCleanupDriver.java 1 May 2007 23:36:37 -0000 1.1
+++ ReadoutCleanupDriver.java 25 May 2007 20:17:09 -0000 1.2
@@ -13,7 +13,7 @@
* others.
*
* @author jeremym
- * @version $Id: ReadoutCleanupDriver.java,v 1.1 2007/05/01 23:36:37 jeremy Exp $
+ * @version $Id: ReadoutCleanupDriver.java,v 1.2 2007/05/25 20:17:09 jeremy Exp $
*/
public class ReadoutCleanupDriver
extends CollectionHandler
@@ -34,9 +34,15 @@
for ( Subdetector subdet : detector.getSubdetectors().values() )
{
- if ( canHandle( subdet.getReadout().getName() ) )
+ if (subdet.getReadout() != null)
{
- subdet.getDetectorElement().clearReadouts();
+ if (canHandle(subdet.getReadout().getName()))
+ {
+ if (subdet.getDetectorElement() != null)
+ {
+ subdet.getDetectorElement().clearReadouts();
+ }
+ }
}
}
}
lcsim/src/org/lcsim/detector/driver
diff -u -r1.2 -r1.3
--- SimTrackerHitIdentifierReadoutDriver.java 23 May 2007 00:09:38 -0000 1.2
+++ SimTrackerHitIdentifierReadoutDriver.java 25 May 2007 20:17:09 -0000 1.3
@@ -4,8 +4,8 @@
import org.lcsim.detector.DetectorElementStore;
import org.lcsim.detector.IDetectorElement;
+import org.lcsim.detector.IDetectorElementContainer;
import org.lcsim.detector.IReadout;
-import org.lcsim.detector.identifier.IExpandedIdentifier;
import org.lcsim.detector.identifier.IIdentifier;
import org.lcsim.detector.identifier.IIdentifierHelper;
import org.lcsim.detector.identifier.Identifier;
@@ -40,10 +40,14 @@
{
IDetectorElement deSubdet = hit.getSubdetector().getDetectorElement();
IIdentifier hitId = new Identifier(hit.getCellID());
- IDetectorElement deHit =
- DetectorElementStore.getInstance().findDetectorElement(hitId);
- hit.setDetectorElement( deHit );
- IReadout ro = deHit.getReadout();
+ IDetectorElementContainer deHit =
+ DetectorElementStore.getInstance().find(hitId);
+ if (deHit.size() == 0)
+ {
+ throw new RuntimeException("No DetectorElement found for id <"+hitId.toString()+">.");
+ }
+ hit.setDetectorElement( deHit.get(0) );
+ IReadout ro = deHit.get(0).getReadout();
ro.addHit( hit );
}
}