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
|