Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/SteveMagill on MAIN
MCTrPropertyDriver.java+68added 1.1


lcsim-contrib/src/main/java/org/lcsim/contrib/SteveMagill
MCTrPropertyDriver.java added at 1.1
diff -N MCTrPropertyDriver.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ MCTrPropertyDriver.java	12 Aug 2009 18:29:56 -0000	1.1
@@ -0,0 +1,68 @@
+package org.lcsim.contrib.SteveMagill;
+
+import java.util.*;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.LCRelation;
+import org.lcsim.util.Driver;
+import org.lcsim.event.MCParticle;
+import hep.physics.vec.Hep3Vector;
+import org.lcsim.event.Track;
+import org.lcsim.event.base.*;
+import org.lcsim.event.ReconstructedParticle;
+import org.lcsim.spacegeom.*;
+
+/**
+ *  Defines tracks from MC final states
+ */
+
+public class MCTrPropertyDriver extends Driver
+{
+
+    private String _fsname;
+    private String _tname;
+
+    public MCTrPropertyDriver()
+    {
+
+    }
+  
+    public void process(EventHeader event) 
+    {
+        //  Use LCRelation formed by FastTracking code
+        List<LCRelation> trmc = event.get(LCRelation.class,_fsname);
+        List<Track> tl = event.get(Track.class,_tname);
+        Map<MCParticle,Track> result = new HashMap<MCParticle,Track>();
+        Map<Track,SpacePoint> TrepSP = new HashMap<Track,SpacePoint>();
+        for (Track t : tl)
+        {
+            MCParticle mcp = null;
+            for (LCRelation r : trmc)
+            {
+                if (r.getFrom() == t)
+                {
+                    mcp = (MCParticle) r.getTo();
+                    int pch = (int) mcp.getCharge();
+                    System.out.println("Particle charge = " + pch);
+                    Hep3Vector trendp = mcp.getEndPoint();
+                    SpacePoint endpsp = new SpacePoint(trendp);
+                    TrepSP.put(t, endpsp);
+                    result.put(mcp, t);
+                }
+            }
+        }
+        event.put("MCPTrMap",result);
+        event.put("TrackEndPointSP",TrepSP);
+    }
+
+    public void setTrMCRelationName(String fsname)
+    {
+        _fsname = fsname;
+    }
+
+    public void setTrackName(String tname)
+    {
+        _tname = tname;
+    }
+
+
+}
CVSspam 0.2.8