lcsim/src/org/lcsim/recon/cluster/mipfinder
diff -u -r1.1 -r1.2
--- MIPClusterDriver.java 2 Jan 2006 21:45:19 -0000 1.1
+++ MIPClusterDriver.java 16 Jan 2006 21:05:09 -0000 1.2
@@ -2,6 +2,8 @@
import java.util.List;
import java.util.Vector;
+import java.util.Map;
+import java.util.Collection;
import java.io.IOException;
import org.lcsim.util.Driver;
@@ -74,7 +76,7 @@
Object from <tt> event</tt>.
@author [log in to unmask]
- @version $Id: MIPClusterDriver.java,v 1.1 2006/01/02 21:45:19 mcharles Exp $
+ @version $Id: MIPClusterDriver.java,v 1.2 2006/01/16 21:05:09 mcharles Exp $
Modification Log:
-- 01/08/2005 Version 1.0 available in CVS
@@ -103,11 +105,34 @@
private String userTag = null;
private String clusterName = null;// = "MIPCluster "+calType;
- private Vector<CalorimeterHit> nucleii = new Vector<CalorimeterHit>();
+ private List<CalorimeterHit> nucleii = new Vector<CalorimeterHit>();
private boolean lUserNucleii = false;
- public void provideNucleii(Vector<CalorimeterHit> v){
+ private boolean lUserHitMap = false;
+ private boolean lUserHitList = false;
+ private String m_hitMapName;
+ private String m_hitListName;
+ @Deprecated public void provideNucleii(Vector<CalorimeterHit> v){
nucleii = v;
lUserNucleii = true;
+ lUserHitMap = false;
+ lUserHitList = false;
+ }
+
+ /**
+ * Find a List of CalorimeterHit objects in the event and use those
+ * as potential starting points for tracks
+ */
+ public void provideNucleiiHitList(String hitListName) {
+ m_hitListName = hitListName;
+ lUserHitList = true;
+ lUserHitMap = false;
+ lUserNucleii = false;
+ }
+ public void provideNucleiiHitMap(String hitMapName) {
+ m_hitMapName = hitMapName;
+ lUserHitMap = true;
+ lUserHitList = false;
+ lUserNucleii = false;
}
public void process(EventHeader event)
@@ -147,6 +172,14 @@
clusterBuilder.setDirectionAndFirstLayer(direction,firstLayer);
if ( lUserNucleii ) {
clusterBuilder.provideNucleii(nucleii);
+ } else if ( lUserHitList ) {
+ List<CalorimeterHit> hitList = event.get(CalorimeterHit.class, m_hitListName);
+ clusterBuilder.provideNucleii(hitList);
+ } else if ( lUserHitMap ) {
+ Object tmpObj = event.get(m_hitMapName);
+ Map<Long,CalorimeterHit> hitMap = (Map<Long,CalorimeterHit>) (tmpObj);
+ Collection<CalorimeterHit> hitSet = hitMap.values();
+ clusterBuilder.provideNucleii(hitSet);
}
clusterBuilder.setDebugMode(lDebug);
clusterBuilder.initialize();