Print

Print


Commit in lcsim/src/org/lcsim/util/lcio on MAIN
SIOSimTrackerHit.java+23-21.3 -> 1.4
Added reading and writing of track momentum at hit point.

lcsim/src/org/lcsim/util/lcio
SIOSimTrackerHit.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- SIOSimTrackerHit.java	3 Aug 2005 06:36:52 -0000	1.3
+++ SIOSimTrackerHit.java	22 Sep 2005 15:39:10 -0000	1.4
@@ -12,12 +12,14 @@
 /**
  *
  * @author Tony Johnson
- * @version $Id: SIOSimTrackerHit.java,v 1.3 2005/08/03 06:36:52 jeremy Exp $
+ * @version $Id: SIOSimTrackerHit.java,v 1.4 2005/09/22 15:39:10 ngraf Exp $
  */
 class SIOSimTrackerHit implements SimTrackerHit
-{
+{ 
    private int cellID;
    private double[] position = new double[3];
+   // px,py,pz momentum of track creating hit 
+   private double[] momentum = new double[3];
    private float dEdx;
    private float time;
    private Object particle;
@@ -31,6 +33,13 @@
       dEdx = in.readFloat();
       time = in.readFloat();
       particle = in.readPntr();
+      if ( LCIOUtil.bitTest(flags,LCIOConstants.THBIT_MOMENTUM) )
+      {
+        momentum[0] = in.readFloat();
+        momentum[1] = in.readFloat();
+        momentum[2] = in.readFloat();
+      }      
+      
       if( version > 1000) in.readPTag(this);
    }
    
@@ -80,6 +89,11 @@
       return cellID;
    }
    
+   public double[] getMomentum()
+   {
+       return momentum;
+   }
+   
    static void write(SimTrackerHit hit, SIOOutputStream out, int flags) throws IOException
    {
       out.writeInt(hit.getCellID());
@@ -91,6 +105,13 @@
       out.writeFloat((float) hit.getdEdx());
       out.writeFloat((float) hit.getTime());
       out.writePntr(hit.getMCParticle());
+      if ( LCIOUtil.bitTest(flags,LCIOConstants.THBIT_MOMENTUM) )
+      {
+        double[] p = hit.getMomentum() ;
+        out.writeFloat((float) p[0] ) ;
+        out.writeFloat((float) p[1] ) ;
+        out.writeFloat((float) p[2] ) ;
+      }      
       out.writePTag(hit);
    }
 }
CVSspam 0.2.8