Commit in lcsim/src/org/lcsim/contrib/uiowa/MuonFinder on MAIN
MuonFinder.java+9-111.9 -> 1.10
make one cluster for muon

lcsim/src/org/lcsim/contrib/uiowa/MuonFinder
MuonFinder.java 1.9 -> 1.10
diff -u -r1.9 -r1.10
--- MuonFinder.java	13 Oct 2008 19:19:02 -0000	1.9
+++ MuonFinder.java	15 Oct 2008 00:51:33 -0000	1.10
@@ -33,10 +33,9 @@
 
 public class MuonFinder extends Driver{
     protected AIDA aida = AIDA.defaultInstance();
-    protected String _outName;
     protected String _tracklist;
     protected String _outHitMap;
-    protected String _outMapTrackToSetOfClusters; // was "newMapTrackToMip"
+    protected String _outMapTrackToClusters; 
     protected String _inMu;
     protected String _inCal;
     protected double _bestmatch = 0.8;
@@ -47,13 +46,12 @@
     protected HelixExtrapolator m_findCluster = new org.lcsim.recon.pfa.identifier.LocalHelixExtrapolator();
     protected boolean useMuonhits = false;
 
-    public MuonFinder(String tracklist, String inCal, String inMu, String outMap, String outName, String outMapTrackToSetOfClusters){
+    public MuonFinder(String tracklist, String inCal, String inMu, String outMap, String outMapTrackToClusters){
         _inCal = inCal;
         _inMu = inMu;
         _outHitMap = outMap;
-        _outName = outName;
         _tracklist = tracklist;
-	_outMapTrackToSetOfClusters = outMapTrackToSetOfClusters;
+	_outMapTrackToClusters = outMapTrackToClusters;
     }
 
     public void process(EventHeader event)
@@ -93,8 +91,6 @@
         m_findCluster.process(event); // picks up geometry
 
         List<Track> trackList = event.get(Track.class, _tracklist);
-        List<Cluster> muonClusters = new Vector<Cluster>();
-        List<Track> muonTracks = new Vector<Track>();
 
         //Create mip cluster separately in Calorimetry and Muon detector.
         //Mip in CAL has track matched
@@ -301,9 +297,9 @@
         }
 
         List<CalorimeterHit> muonclustershits= new Vector<CalorimeterHit>(); 
+        Map<Track, Cluster> MuonMapTrackToCluster = new HashMap<Track,Cluster>();
 
         for(Track tr : outputmap.keySet()){
-            muonTracks.add(tr);
             BasicCluster tmpClus = new BasicCluster();
             for(Cluster clus : outputmap.get(tr)){
                 for(CalorimeterHit hit : clus.getCalorimeterHits()){
@@ -311,15 +307,17 @@
                     muonclustershits.add(hit);
                 }
             }
-            muonClusters.add(tmpClus);
+            MuonMapTrackToCluster.put(tr,tmpClus);
         }
 
         HitMap muonMap = new HitMap(muonclustershits); 
         event.put(_outHitMap, muonMap);
-        event.put(_outMapTrackToSetOfClusters, outputmap);
+        event.put(_outMapTrackToClusters, MuonMapTrackToCluster);
         if(_debug){
+            List<Track> muonTracks = new Vector<Track>(MuonMapTrackToCluster.keySet());
+            List<Cluster> muonClusters = new Vector<Cluster>(MuonMapTrackToCluster.values());
             int flag = 1<<LCIOConstants.CLBIT_HITS;
-            event.put(_outName, muonClusters, Cluster.class, flag );
+            event.put("MuonClusters", muonClusters, Cluster.class, flag );
             event.put("MuonList", muonTracks);
         }
     }
CVSspam 0.2.8