15#include "HiCalTypes.h" 
   18#include "NonLinearLSQ.h" 
   20#include "IException.h" 
   54    void setBin(
int bin) { _timet.setBin(bin); }
 
   71     inline int size()
 const { 
return (_data.dim()); }
 
   84    int nSize()
  const { 
return (_b2.dim()); }
 
   97    void setabsErr(
double absError) { _absErr = absError; }
 
   99    void setrelErr(
double relError) { _relErr = relError; }
 
  101    double absErr()
 const { 
return (_absErr); }
 
  103    double relErr()
 const { 
return (_relErr); }
 
  108                       const NLVector &uncerts, 
double cplxconj,
 
  111    NLVector 
f_x(
const NLVector &a);
 
  112    NLMatrix 
df_x(
const NLVector &a);
 
  115    double Chisq()
 const { 
return (_chisq); }
 
  142     virtual void printOn(std::ostream &o) 
const;
 
 
Compute HiRISE line times.
 
Module manages HiRISE calibration vectors from various sources.
 
NonLinearLSQ Computes a fit using a Levenberg-Marquardt algorithm.
 
Computes non-linear lsq fit of HiRISE Drift (Zd module)
 
virtual void printOn(std::ostream &o) const
Provides virtualized dump of data from this module.
 
int nParms() const
Number of parameter to be fitted.
 
bool gotGoodLines(const HiVector &d) const
Determines if the vector contains any valid lines.
 
HiVector Yfit() const
Computes the solution vector using current coefficents.
 
HiVector Normalize(const HiVector &v)
Compute normalized solution vector from result.
 
int size() const
Returns the size of the data buffer.
 
void setrelErr(double relError)
Sets the relative error parameter
 
double relErr() const
Returns the current value of the relative error.
 
int DoF() const
Returns the Degrees of Freedom.
 
NLMatrix df_x(const NLVector &a)
Computes the first derivative of the function at the current iteration.
 
void setabsErr(double absError)
Sets the absolute error parameter.
 
int checkIteration(const int Iter, const NLVector &fitcoefs, const NLVector &uncerts, double cplxconj, int Istatus)
Computes the interation check for convergence.
 
void setBin(int bin)
Set binning/summing mode.
 
NLVector guess()
Compute the initial guess of the fit.
 
double absErr() const
Returns the current value of the absolute error.
 
HiVector Solve(const HiVector &d)
Compute non-linear fit to (typically) ZeroBufferSmooth module.
 
double Chisq() const
Returns the Chi-Square value of the fit solution.
 
HiVector poly_fit(const HiVector &d, const double line0=0.0) const
Compute a polyonomial fit using multivariate statistics.
 
void setLineTime(double ltime)
Set scan line time.
 
int nSize() const
Returns the size of the fitted buffer.
 
NLVector f_x(const NLVector &a)
Computes the function value at the current iteration.
 
int goodLines(const HiVector &d) const
Returns the number of good lines in the image.
 
virtual ~ZeroBufferFit()
Destructor.
 
ZeroBufferFit(const HiCalConf &conf)
Compute second level drift correction (Zf module)
 
This is free and unencumbered software released into the public domain.
 
TNT::Array1D< double > HiVector
1-D Buffer