lcsim-contrib/src/main/java/org/lcsim/contrib/Partridge/TrackingTest
diff -u -r1.2 -r1.3
--- FindableTrack.java 25 Feb 2009 17:51:32 -0000 1.2
+++ FindableTrack.java 6 Mar 2009 01:52:59 -0000 1.3
@@ -14,7 +14,9 @@
import java.util.List;
import java.util.Set;
+import org.lcsim.detector.DetectorElementStore;
import org.lcsim.detector.IDetectorElement;
+import org.lcsim.detector.IDetectorElementContainer;
import org.lcsim.event.EventHeader;
import org.lcsim.event.MCParticle;
import org.lcsim.event.RelationalTable;
@@ -125,7 +127,7 @@
// Create the set of identifiers
for (SimTrackerHit simhit : hitlist) {
- String identifier = _ID.Identifier(simhit.getDetectorElement());
+ String identifier = _ID.Identifier(getDetectorElement(simhit));
if (!idset.contains(identifier)) idset.add(identifier);
}
@@ -193,7 +195,7 @@
for (SimTrackerHit simhit : hitlist) {
// Get the detector element for this hit
- IDetectorElement de = simhit.getDetectorElement();
+ IDetectorElement de = getDetectorElement(simhit);
// See if this hit is on the layer we are checking
if (!lyr.getDetName().equals(_ID.getName(de))) continue;
@@ -207,4 +209,15 @@
return hitcount;
}
+
+ private IDetectorElement getDetectorElement(SimTrackerHit hit) {
+ IDetectorElementContainer cont = DetectorElementStore.getInstance().find(hit.getIdentifier());
+ IDetectorElement de;
+ if (cont.isEmpty()) {
+ throw new RuntimeException("Detector Container is empty!");
+ } else {
+ de = cont.get(0);
+ }
+ return de;
+ }
}
\ No newline at end of file