Print

Print


Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/Partridge/TrackingTest on MAIN
FindableTrack.java+15-21.2 -> 1.3
Fix problem in getting hit layer info for Nick's pixel sim hits

lcsim-contrib/src/main/java/org/lcsim/contrib/Partridge/TrackingTest
FindableTrack.java 1.2 -> 1.3
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
CVSspam 0.2.8