vec_math
Class LineFit

java.lang.Object
  extended by vec_math.LineFit

public abstract class LineFit
extends Object

Abstract class that holds necessary quantities for fitting (xi,yi) data with a given standard deviaition sig_i to a straight line. Note: Which kind of fit to use (e.g. Gaussian least squares) is stated in non-abstract subclasses of LineFit. For unweighed data, indicated by calling setMeasures with null as the sigma array, Weighed is set to false. In that case no quality parameters are available, and the deviation of a and b may be increased. Non-abstract subclasses must handle this.


Field Summary
 double alin
           
 double asig
           
 double blin
           
 double bsig
           
 double Chi
           
 boolean chiValid
           
 double correlation
           
 double covariance
           
 boolean fitSigma
           
 boolean fitValid
           
 int N
           
 double quality
           
 boolean qualityValid
           
 double[] sigma
           
 boolean Weighed
           
 double[] xi
           
 boolean XYValid
           
 double[] yi
           
 
Constructor Summary
LineFit()
           
LineFit(double[] x, double[] y, double[] sig)
           
 
Method Summary
 void addPoint(double x, double y)
           
 void addPoint(double x, double y, double sig)
           
abstract  void calcChi()
           
abstract  void calcLine()
           
abstract  void calcQuality()
           
abstract  void calcSigma()
           
 boolean deletePoint(double x)
           
 boolean deletePoint(double x, double y, double sig)
           
 boolean deletePoint(int n)
           
 void setMeasures(double[] x, double[] y, double[] sig)
           
 void setN(int n)
           
abstract  void updateOnAdd(double x, double y, double sig)
           
abstract  void updateOnDelete(double x, double y, double sig)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

N

public int N

xi

public double[] xi

yi

public double[] yi

sigma

public double[] sigma

XYValid

public boolean XYValid

Weighed

public boolean Weighed

Chi

public double Chi

chiValid

public boolean chiValid

alin

public double alin

blin

public double blin

fitValid

public boolean fitValid

asig

public double asig

bsig

public double bsig

fitSigma

public boolean fitSigma

covariance

public double covariance

correlation

public double correlation

quality

public double quality

qualityValid

public boolean qualityValid
Constructor Detail

LineFit

public LineFit()

LineFit

public LineFit(double[] x,
               double[] y,
               double[] sig)
Parameters:
x -
y -
sig -
Method Detail

setMeasures

public void setMeasures(double[] x,
                        double[] y,
                        double[] sig)
Parameters:
x -
y -
sig -

setN

public void setN(int n)
Parameters:
n -

addPoint

public void addPoint(double x,
                     double y)
Parameters:
x -
y -

addPoint

public void addPoint(double x,
                     double y,
                     double sig)
Parameters:
x -
y -
sig -

deletePoint

public boolean deletePoint(double x)
Parameters:
x -
Returns:
boolean

deletePoint

public boolean deletePoint(int n)
Parameters:
n -
Returns:
boolean

deletePoint

public boolean deletePoint(double x,
                           double y,
                           double sig)
Parameters:
x -
y -
sig -
Returns:
boolean

calcLine

public abstract void calcLine()

calcSigma

public abstract void calcSigma()

calcQuality

public abstract void calcQuality()

calcChi

public abstract void calcChi()

updateOnAdd

public abstract void updateOnAdd(double x,
                                 double y,
                                 double sig)
Parameters:
x -
y -
sig -

updateOnDelete

public abstract void updateOnDelete(double x,
                                    double y,
                                    double sig)
Parameters:
x -
y -
sig -