Print

Print


Author: [log in to unmask]
Date: Mon Jan 12 16:55:21 2015
New Revision: 3492

Log:
Add data structure for mapping sensors to lists of hits.

Added:
    projects/lcsim/trunk/tracking/src/main/java/org/lcsim/recon/tracking/digitization/sisim/SensorHitMap.java

Added: projects/lcsim/trunk/tracking/src/main/java/org/lcsim/recon/tracking/digitization/sisim/SensorHitMap.java
 =============================================================================
--- projects/lcsim/trunk/tracking/src/main/java/org/lcsim/recon/tracking/digitization/sisim/SensorHitMap.java	(added)
+++ projects/lcsim/trunk/tracking/src/main/java/org/lcsim/recon/tracking/digitization/sisim/SensorHitMap.java	Mon Jan 12 16:55:21 2015
@@ -0,0 +1,36 @@
+package org.lcsim.recon.tracking.digitization.sisim;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import org.lcsim.detector.IDetectorElement;
+import org.lcsim.event.SimTrackerHit;
+
+/**
+ * Map of sensors to list of hits.
+ * @author Jeremy McCormick <[log in to unmask]>
+ */
+public class SensorHitMap extends HashMap<IDetectorElement, List<SimTrackerHit>> {
+
+    static SensorHitMap create(List<SimTrackerHit> hits) {
+        SensorHitMap hitMap = new SensorHitMap();
+        for (SimTrackerHit hit : hits) {
+            hitMap.getHits(hit.getDetectorElement()).add(hit);
+        }
+        return hitMap;
+    }
+
+    void addHits(List<SimTrackerHit> hits) {
+        for (SimTrackerHit hit : hits) {
+            getHits(hit.getDetectorElement()).add(hit);
+        }
+    }
+    
+    List<SimTrackerHit> getHits(IDetectorElement sensor) {
+        if (get(sensor) == null) {
+            put(sensor, new ArrayList<SimTrackerHit>());
+        }
+        return get(sensor);
+    }    
+}

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the LCDET-SVN list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1