28 #ifndef SYNTHESIS_VISCALSOL2_H
29 #define SYNTHESIS_VISCALSOL2_H
casacore::Vector< double > & sumWtV()
SolvableVisCal * svc_
SVC (from outside)
void initSolve()
Initialize solving data.
casacore::Vector< double > hess_
void printPar(const int &iter)
casacore::Vector< double > & chiSqV()
casacore::Vector< casacore::Complex > & dpar()
bool converged()
Check for convergence.
casacore::Vector< casacore::Complex > lastPar_
int maxIter_
Maximum number of solve iterations to attempt.
void chiSquare2()
Calculate residuals (incl.
~VisCalSolver2()
Destructor.
casacore::Vector< bool > & parOK()
VisEquation * ve_
VisEquation (from outside)
int & prtlev()
Diagnostic print level.
int & maxIter()
Access to maxIter_.
void residualate2()
Obtain trial residuals w.r.t svc's current pars.
casacore::Vector< casacore::Complex > par_
Parameter storage (these are casacore::Complex to match the VisCal solvePar)
bool optstep_
Step optimization toggle.
SDBList * SDBs_
VisBuffer (from outside)
bool doL1_
Control L1 solution.
void RMSThresh(casacore::Int RejIter)
Apply RMS threshold to current residuals.
int nPar_
Total Number of parameters.
casacore::Vector< double > chiSqV_
int & nPar()
Access to parameters, & grad,hess,dp.
casacore::Vector< casacore::DComplex > grad_
Gradient, Hessian (these are double for precision in accumulation.
int prtlev_
Diagnostic print level.
casacore::Vector< casacore::DComplex > & grad()
VisCalSolver2: Default solver for calibration using visibility data.
casacore::Vector< float > parErr_
double & chiSq()
Access to chi2.
casacore::Vector< double > sumWtV_
bool solveL1R(VisEquation &viseq, SolvableVisCal &svc, SDBList &sdbs)
L1R-capable version.
casacore::Vector< casacore::Complex > & par()
void optStepSize2()
Optimize the step parabolically.
casacore::Vector< bool > parOK_
casacore::Vector< casacore::Complex > & lastPar()
casacore::Vector< double > & hess()
casacore::Vector< casacore::Float > L1clamp_
String: the storage and methods of handling collections of characters.
void getErrors()
Get and print par errors.
casacore::Vector< casacore::Float > RMSThresh_
casacore::Vector< float > & parErr()
void accGradHess2()
Internal solving methods.
VisCalSolver2()
Constructor.
casacore::Vector< casacore::Complex > dpar_
Parameter update.
double chiSq_
Chi2, sum wts.
bool doRMSThresh_
Control iterative rejection.
bool solve(VisEquation &viseq, SolvableVisCal &svc, SDBList &sdbs)
Do the solve.
SDBList & sdbs()
Access to fundamental external objects:
void differentiate2()
Differentiate w.r.t svc's pars.