Commit in lcsim/src/org/lcsim/recon/cluster/mipfinder on MAIN
MIPClusterDriver.java+36-31.1 -> 1.2
Added ability to take input nuclei from a named List or hitmap

lcsim/src/org/lcsim/recon/cluster/mipfinder
MIPClusterDriver.java 1.1 -> 1.2
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(); 
CVSspam 0.2.8