Print

Print


Commit in lcsim/src/org/lcsim/util/heprep on MAIN
ZvVertexConverter.java+56added 1.1
ZvTubeConverter.java+53added 1.1
LCSimHepRepConverter.java+21.7 -> 1.8
+111
2 added + 1 modified, total 3 files
Added preliminary HepReps for ZvTrack and ZvVertex classes.
ZvTrack is a parabolic approximation to the Helix.
ZvVertex is the (fitted or unfitted) common point of several Tracks.
ZvTrack needs to be processed ahead of Track, because it's a subclass.
ZvVertex needs to be processed ahead of SpacePoint, because it's a subclass.

lcsim/src/org/lcsim/util/heprep
ZvVertexConverter.java added at 1.1
diff -N ZvVertexConverter.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ZvVertexConverter.java	9 Aug 2005 19:03:03 -0000	1.1
@@ -0,0 +1,56 @@
+package org.lcsim.util.heprep;
+
+import hep.graphics.heprep.HepRepFactory;
+import hep.graphics.heprep.HepRepInstance;
+import hep.graphics.heprep.HepRepInstanceTree;
+import hep.graphics.heprep.HepRepPoint;
+import hep.graphics.heprep.HepRepType;
+import hep.graphics.heprep.HepRepTypeTree;
+
+import java.awt.Color;
+import java.util.List;
+
+import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.EventHeader.LCMetaData;
+import org.lcsim.geometry.CalorimeterIDDecoder;
+import org.lcsim.recon.vertexing.zvtop4.ZvVertex;
+import org.lcsim.spacegeom.SpacePoint;
+import org.lcsim.util.lcio.LCIOConstants;
+import org.lcsim.util.lcio.LCIOUtil;
+
+/**
+ * Representation of the Candidate vertices before fitting
+ * 
+ * @author jstrube
+ * 
+ */
+public class ZvVertexConverter implements HepRepCollectionConverter {
+
+    public boolean canHandle(Class k) {
+        return ZvVertex.class.isAssignableFrom(k);
+    }
+
+    public void convert(EventHeader event, List collection, HepRepFactory factory
+            , HepRepTypeTree typeTree, HepRepInstanceTree instanceTree) {
+        LCMetaData meta = event.getMetaData(collection);
+        String name = meta.getName();
+        int flags = meta.getFlags();
+
+        HepRepType typeX = factory.createHepRepType(typeTree, name);
+        typeX.addAttValue("layer", LCSimHepRepConverter.PARTICLES_LAYER);
+        typeX.addAttValue("drawAs", "Ellipse");
+        typeX.addAttValue("color", Color.RED);
+        typeX.addAttValue("fill", true);
+        typeX.addAttValue("fillColor", Color.RED);
+        typeX.addAttValue("MarkName", "Box");
+        typeX.addAttDef("nTracks", "number of Tracks", "physics", "");
+
+        for (ZvVertex vtx : (List<ZvVertex>) collection) {
+            SpacePoint pos = vtx.getPosition();
+            HepRepInstance instanceX = factory.createHepRepInstance(instanceTree, typeX);
+            instanceX.addAttValue("nTracks", vtx.getNumTracks());
+            HepRepPoint pp = factory.createHepRepPoint(instanceX, pos.x(), pos.y(), pos.z());
+        }
+    }
+}

lcsim/src/org/lcsim/util/heprep
ZvTubeConverter.java added at 1.1
diff -N ZvTubeConverter.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ZvTubeConverter.java	9 Aug 2005 19:03:03 -0000	1.1
@@ -0,0 +1,53 @@
+package org.lcsim.util.heprep;
+
+import hep.graphics.heprep.HepRepFactory;
+import hep.graphics.heprep.HepRepInstance;
+import hep.graphics.heprep.HepRepInstanceTree;
+import hep.graphics.heprep.HepRepType;
+import hep.graphics.heprep.HepRepTypeTree;
+
+import java.util.List;
+
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.Track;
+import org.lcsim.event.EventHeader.LCMetaData;
+import org.lcsim.geometry.Detector;
+import org.lcsim.recon.vertexing.zvtop4.ZvTrack;
+import org.lcsim.spacegeom.SpacePoint;
+import org.lcsim.util.swim.HelixSwim;
+
+public class ZvTubeConverter implements HepRepCollectionConverter {
+    private static final double[] zero = { 0, 0, 0 };
+
+    public boolean canHandle(Class k) {
+        return ZvTrack.class.isAssignableFrom(k);
+    }
+
+    public void convert(EventHeader event, List collection, HepRepFactory factory,
+            HepRepTypeTree typeTree, HepRepInstanceTree instanceTree) {
+        LCMetaData meta = event.getMetaData(collection);
+        String name = meta.getName();
+        int flags = meta.getFlags();
+        Detector detector = event.getDetector();
+
+        double trackingRMax = detector.getConstants().get("tracking_region_radius").getValue();
+        double trackingZMax = detector.getConstants().get("tracking_region_zmax").getValue();
+
+        HepRepType typeX = factory.createHepRepType(typeTree, name);
+        typeX.addAttValue("layer", LCSimHepRepConverter.PARTICLES_LAYER);
+        typeX.addAttValue("drawAs", "Line");
+
+        for (ZvTrack t : (List<ZvTrack>) collection) {
+
+            HepRepInstance instanceX = factory.createHepRepInstance(instanceTree, typeX);
+
+            double dAlpha = .01; // 1cm
+
+            for (int k = 0; k < 200; k++) {
+                SpacePoint point = t.getTubeCenter(k*dAlpha);
+                factory.createHepRepPoint(instanceX, 10 * point.x(), 10 * point.y(), 10 * point.z());
+            }
+        }
+    }
+
+}

lcsim/src/org/lcsim/util/heprep
LCSimHepRepConverter.java 1.7 -> 1.8
diff -u -r1.7 -r1.8
--- LCSimHepRepConverter.java	1 Jul 2005 22:56:22 -0000	1.7
+++ LCSimHepRepConverter.java	9 Aug 2005 19:03:03 -0000	1.8
@@ -35,8 +35,10 @@
          register(new MCParticleConverter());
          register(new SimTrackerHitConverter());
          register(new TrackerHitConverter());
+         register(new ZvTubeConverter());
          register(new TrackConverter());
          register(new ReconstructedParticleConverter());
+         register(new ZvVertexConverter());
       }
       catch (Exception x)
       {
CVSspam 0.2.8