1 package org.lcsim.recon.tracking.digitization.sisim;
2
3 import java.util.ArrayList;
4 import java.util.HashMap;
5 import java.util.List;
6
7 import org.lcsim.detector.IDetectorElement;
8 import org.lcsim.event.SimTrackerHit;
9
10
11
12
13
14 public class SensorHitMap extends HashMap<IDetectorElement, List<SimTrackerHit>> {
15
16 static SensorHitMap create(List<SimTrackerHit> hits) {
17 SensorHitMap hitMap = new SensorHitMap();
18 for (SimTrackerHit hit : hits) {
19 hitMap.getHits(hit.getDetectorElement()).add(hit);
20 }
21 return hitMap;
22 }
23
24 void addHits(List<SimTrackerHit> hits) {
25 for (SimTrackerHit hit : hits) {
26 getHits(hit.getDetectorElement()).add(hit);
27 }
28 }
29
30 List<SimTrackerHit> getHits(IDetectorElement sensor) {
31 if (get(sensor) == null) {
32 put(sensor, new ArrayList<SimTrackerHit>());
33 }
34 return get(sensor);
35 }
36 }