lcsim/src/org/lcsim/util/heprep
diff -u -r1.6 -r1.7
--- LCSimHepRepConverter.java 14 May 2005 00:26:54 -0000 1.6
+++ LCSimHepRepConverter.java 1 Jul 2005 22:56:22 -0000 1.7
@@ -36,6 +36,7 @@
register(new SimTrackerHitConverter());
register(new TrackerHitConverter());
register(new TrackConverter());
+ register(new ReconstructedParticleConverter());
}
catch (Exception x)
{
lcsim/src/org/lcsim/util/heprep
diff -u -r1.1 -r1.2
--- MCParticleConverter.java 14 May 2005 00:26:54 -0000 1.1
+++ MCParticleConverter.java 1 Jul 2005 22:56:22 -0000 1.2
@@ -17,11 +17,11 @@
/**
*
* @author tonyj
- * @version $Id: MCParticleConverter.java,v 1.1 2005/05/14 00:26:54 tonyj Exp $
+ * @version $Id: MCParticleConverter.java,v 1.2 2005/07/01 22:56:22 tonyj Exp $
*/
class MCParticleConverter implements HepRepCollectionConverter
{
- private static final double[] zero = { 0,0,0 };
+ private static final double[] IP = { 0,0,0 };
public boolean canHandle(Class k)
{
@@ -39,7 +39,7 @@
double ptMinCut = 0.05;
double rCut = 1.0;
- double[] field = detector.getFieldMap().getField(zero);
+ double[] field = detector.getFieldMap().getField(IP);
HelixSwim helix = new HelixSwim(field[2],0,trackingRMax,trackingZMax);
HepRepType typeX = factory.createHepRepType(typeTree, name);
@@ -68,11 +68,16 @@
try
{
stop = p.getEndPoint().v();
+ // Workaround for simdet
+ if (stop[0] == 0 && stop[1] == 0 && stop[2] == 0)
+ {
+ stop = helix.swimBy(trackingRMax);
+ }
}
catch (RuntimeException x)
{
// Use the helix swimmer to swim to end of tracking region
- stop = helix.swimBy(100);
+ stop = helix.swimBy(trackingRMax);
}
if (charge == 0 || field[2] == 0)
{