Print

Print


Commit in lcsim/src/org/lcsim/fit/helicaltrack on MAIN
HelicalTrackFitter.java+13-31.3 -> 1.4
HelicalTrackFit.java+12-11.2 -> 1.3
+25-4
2 modified files
added explicit circle fit parameters as convenience methods

lcsim/src/org/lcsim/fit/helicaltrack
HelicalTrackFitter.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- HelicalTrackFitter.java	29 Mar 2006 18:50:30 -0000	1.3
+++ HelicalTrackFitter.java	15 Jun 2006 22:12:15 -0000	1.4
@@ -3,7 +3,7 @@
  *
  * Created on March 25, 2006, 6:11 PM
  *
- * $Id: HelicalTrackFitter.java,v 1.3 2006/03/29 18:50:30 ngraf Exp $
+ * $Id: HelicalTrackFitter.java,v 1.4 2006/06/15 22:12:15 ngraf Exp $
  */
 
 package org.lcsim.fit.helicaltrack;
@@ -27,6 +27,8 @@
     
     private HelicalTrackFit _fit;
     
+    private double[] _circleParameters = new double[3];
+    
     /** Creates a new instance of HelicalTrackFitter */
     public HelicalTrackFitter()
     {
@@ -49,6 +51,9 @@
         double dca = cfit.dca();
         double xc = (radius-dca)*sin(phi0);
         double yc = (radius-dca)*cos(phi0);
+        _circleParameters[0] = xc;
+        _circleParameters[1] = yc;
+        _circleParameters[2] = radius;
         // fit a line in the s-z plane
         // assumes points are in increasing order
         //TODO check whether hit has z information
@@ -115,7 +120,7 @@
 //            System.out.println("pars["+i+"]= "+pars[i]);
 //        }
         _fit = new HelicalTrackFit(pars, cov, chisq, ndf);
-        
+        _fit.setCircleParameters(_circleParameters);
         return true;
     }
     
@@ -124,6 +129,11 @@
         return _fit;
     }
     
+    public double[] getCircleParameters()
+    {
+        return _circleParameters;
+    }
+    
     double s(double radius, double xcenter, double ycenter, double x1, double y1, double x2, double y2)
     {
         double phi1 = atan2( (y1-ycenter), (x1-xcenter) );
@@ -132,5 +142,5 @@
         if(dphi>PI) dphi = 2.*PI-dphi;
         return abs(radius*dphi);
     }
-
+    
 }
\ No newline at end of file

lcsim/src/org/lcsim/fit/helicaltrack
HelicalTrackFit.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- HelicalTrackFit.java	28 Mar 2006 20:16:12 -0000	1.2
+++ HelicalTrackFit.java	15 Jun 2006 22:12:15 -0000	1.3
@@ -3,7 +3,7 @@
  *
  * Created on March 25, 2006, 6:11 PM
  *
- * $Id: HelicalTrackFit.java,v 1.2 2006/03/28 20:16:12 ngraf Exp $
+ * $Id: HelicalTrackFit.java,v 1.3 2006/06/15 22:12:15 ngraf Exp $
  */
 
 package org.lcsim.fit.helicaltrack;
@@ -20,6 +20,7 @@
     private int[] _ndf = new int[2];
     private double[] _parameters;
     private double[][] _covmatrix;
+    private double[] _circleParameters = new double[3];
     
     /** Creates a new instance of HelicalTrackFit */
     public HelicalTrackFit(double[] pars, double[][] cov, double[] chisq, int[] ndf)
@@ -63,4 +64,14 @@
         return sb.toString();
     }
     
+    public void setCircleParameters(double[] pars)
+    {
+        System.arraycopy(pars,0,_circleParameters,0,3);
+    }
+    
+    public double[] circleParameters()
+    {
+        return _circleParameters;
+    }
+    
 }
CVSspam 0.2.8