Print

Print


Commit in lcsim/src/org/lcsim/util/heprep on MAIN
VertexConverter.java+6-61.3 -> 1.4
Small change in the code to be consistent with the confluence writeup.
"Eyeball test" says it's not too far off, but this should be tested with a unit test.

lcsim/src/org/lcsim/util/heprep
VertexConverter.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- VertexConverter.java	2 Oct 2007 20:08:27 -0000	1.3
+++ VertexConverter.java	3 Oct 2007 06:36:44 -0000	1.4
@@ -23,7 +23,7 @@
  * Representation of the Candidate vertices before fitting
  * 
  * @author jstrube
- * @version $Id: VertexConverter.java,v 1.3 2007/10/02 20:08:27 jstrube Exp $
+ * @version $Id: VertexConverter.java,v 1.4 2007/10/03 06:36:44 jstrube Exp $
  * 
  */
 public class VertexConverter implements HepRepCollectionConverter {
@@ -89,11 +89,11 @@
             instanceV.addAttValue("Radius3", nSigma*Math.sqrt(eigenVals.get(2, 2)));
             
             Matrix eigenVecs = vtxEigen.getV();
-            double[] zAxis = eigenVecs.times(new double[] {0, 0, 1});
-            double[] xAxis = eigenVecs.times(new double[] {1, 0, 0});
-            double theta = Math.asin(zAxis[1]);
-            double phi = -Math.atan2(zAxis[0], zAxis[2]);
-            double omega = -Math.acos(xAxis[1]/Math.cos(theta));
+            assert eigenVecs.getRowDimension() == 3;
+            assert eigenVecs.getColumnDimension() == 3;
+            double theta = -Math.asin(eigenVecs.get(1, 2));
+            double phi = Math.atan2(eigenVecs.get(0, 2),eigenVecs.get(2, 2));
+            double omega = Math.atan2(eigenVecs.get(0, 1), eigenVecs.get(1,1));
 
             instanceV.addAttValue("Phi", phi);
             instanceV.addAttValue("Theta", theta);
CVSspam 0.2.8