lcsim-contrib/src/main/java/org/lcsim/contrib/SteveMagill
diff -N IDHitMapDriver.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ IDHitMapDriver.java 12 Aug 2009 18:30:59 -0000 1.1
@@ -0,0 +1,54 @@
+package org.lcsim.contrib.SteveMagill;
+
+import java.util.*;
+import org.lcsim.event.*;
+import org.lcsim.event.CalorimeterHit;
+import org.lcsim.util.Driver;
+import org.lcsim.recon.cluster.util.*;
+import org.lcsim.util.aida.AIDA;
+import hep.aida.ITree;
+
+public class IDHitMapDriver extends Driver
+{
+ private AIDA aida = AIDA.defaultInstance();
+ private String[] _inhitnames;
+ private String _omapname;
+
+ public IDHitMapDriver()
+ {
+
+ }
+
+ protected void process(EventHeader event)
+ {
+ super.process(event); // executes all added drivers
+
+ // create map linking cellID to CalHit
+ Map<Long, CalorimeterHit> omap = new HashMap<Long, CalorimeterHit>();
+
+ for (int i=0; i<_inhitnames.length; i++)
+ {
+ List<CalorimeterHit> schits = event.get(CalorimeterHit.class,_inhitnames[i]);
+ for (CalorimeterHit schit : schits)
+ {
+ long cid = schit.getCellID();
+ omap.put(cid, schit);
+ }
+ }
+
+ event.put(_omapname,omap);
+
+ } // end of event loop
+
+ public void setInHitnames(String[] inhitnames)
+ {
+ _inhitnames = inhitnames;
+ }
+
+ public void setOutMapname(String omapname)
+ {
+ _omapname = omapname;
+ }
+
+}
+