Commit in lcsim/src/org/lcsim/contrib/uiowa on MAIN
ConeReassignmentAlgorithm.java+15-121.2 -> 1.3
MJC: (contrib) One more file to update for the interface change

lcsim/src/org/lcsim/contrib/uiowa
ConeReassignmentAlgorithm.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- ConeReassignmentAlgorithm.java	28 Jul 2008 18:39:43 -0000	1.2
+++ ConeReassignmentAlgorithm.java	7 Sep 2008 07:35:40 -0000	1.3
@@ -9,22 +9,25 @@
 
 public class ConeReassignmentAlgorithm implements ReassignClustersAlgorithm {
     protected double m_limit;
-    protected LocalHelixExtrapolator m_findCluster;
-    public ConeReassignmentAlgorithm(double limit, LocalHelixExtrapolator findCluster) {
+    protected HelixExtrapolator m_findCluster;
+    public ConeReassignmentAlgorithm(double limit, HelixExtrapolator findCluster) {
 	m_limit = limit;
 	m_findCluster = findCluster;
     }
     public Double computeFigureOfMerit(Track tr, Cluster clus) {
-	Hep3Vector interceptPoint = m_findCluster.performExtrapolation(tr);
-	if (interceptPoint != null) {
-	    Hep3Vector tangent = m_findCluster.getTangent();
-	    Hep3Vector tangentUnit = VecOp.unit(tangent);
-	    Hep3Vector clusterPosition = new BasicHep3Vector(clus.getPosition());
-	    Hep3Vector displacement = VecOp.sub(clusterPosition, interceptPoint);
-	    Hep3Vector displacementUnit = VecOp.unit(displacement);
-	    double angle=Math.acos(VecOp.dot(tangentUnit, displacementUnit));
-	    if (angle < m_limit) {
-		return new Double(angle);
+	HelixExtrapolationResult result = m_findCluster.performExtrapolation(tr);
+	if (result != null) {
+	    Hep3Vector interceptPoint = result.getInterceptPoint();
+	    if (interceptPoint != null) {
+		Hep3Vector tangent = result.getTangent();
+		Hep3Vector tangentUnit = VecOp.unit(tangent);
+		Hep3Vector clusterPosition = new BasicHep3Vector(clus.getPosition());
+		Hep3Vector displacement = VecOp.sub(clusterPosition, interceptPoint);
+		Hep3Vector displacementUnit = VecOp.unit(displacement);
+		double angle=Math.acos(VecOp.dot(tangentUnit, displacementUnit));
+		if (angle < m_limit) {
+		    return new Double(angle);
+		}
 	    }
 	}
 	return null;
CVSspam 0.2.8