lcsim/src/org/lcsim/util/lcio
diff -u -r1.8 -r1.9
--- SIOMCParticle.java 26 Jul 2007 20:41:51 -0000 1.8
+++ SIOMCParticle.java 26 Jul 2007 23:00:03 -0000 1.9
@@ -17,11 +17,10 @@
import java.util.List;
import org.lcsim.event.MCParticle;
-
/**
*
* @author Tony Johnson
- * @version $Id: SIOMCParticle.java,v 1.8 2007/07/26 20:41:51 tonyj Exp $
+ * @version $Id: SIOMCParticle.java,v 1.9 2007/07/26 23:00:03 tonyj Exp $
*/
class SIOMCParticle implements MCParticle
{
@@ -68,8 +67,8 @@
if (version != 8)
{
simulatorStatus = in.readInt();
- hasEndPoint = LCIOUtil.bitTest(simulatorStatus,31);
- simulatorStatus = LCIOUtil.bitSet(simulatorStatus,31,false);
+ hasEndPoint = LCIOUtil.bitTest(simulatorStatus,Status.BITEndpoint);
+ simulatorStatus = LCIOUtil.bitSet(simulatorStatus,Status.BITEndpoint,false);
}
vertex = new BasicHep3Vector(in.readDouble(),in.readDouble(),in.readDouble());
@@ -224,8 +223,20 @@
out.writeInt(particle.getType().getPDGID());
out.writeInt(particle.getGeneratorStatus());
boolean hasEndPoint = particle.getDaughters().isEmpty();
+ Hep3Vector endPoint = null;
+ if (hasEndPoint)
+ {
+ try
+ {
+ endPoint = particle.getEndPoint();
+ }
+ catch (Exception x)
+ {
+ hasEndPoint = false;
+ }
+ }
int simStatus = particle.getSimulatorStatus().getValue();
- simStatus = LCIOUtil.bitSet(simStatus,31,hasEndPoint);
+ simStatus = LCIOUtil.bitSet(simStatus,Status.BITEndpoint,hasEndPoint);
out.writeInt(simStatus);
out.writeDouble(particle.getOriginX());
@@ -248,10 +259,9 @@
}
if (hasEndPoint)
{
- double[] endpoint = particle.getEndPoint().v();
- out.writeDouble(endpoint[0]);
- out.writeDouble(endpoint[1]);
- out.writeDouble(endpoint[2]);
+ out.writeDouble(endPoint.x());
+ out.writeDouble(endPoint.y());
+ out.writeDouble(endPoint.z());
}
}