lcsim/src/org/lcsim/fit/helicaltrack
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
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;
+ }
+
}