lcsim/src/org/lcsim/util/heprep
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
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
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)
{