UVMod.h
Classes
- UVMod -- VisCal: Model multiplicative errors for the VisEquation (full description)
Interface
- Public Members
- UVMod(VisSet& vs)
- virtual ~UVMod()
- inline Int& nPar()
- void setModel(const ComponentType::Shape type, const Vector<Double> inpar, const Vector<Bool> invary)
- Bool modelfit(const Int& maxiter, const String file)
- inline Vector<Double>& par()
- Protected Members
- void initSolve()
- virtual void residual()
- void chiSquare()
- void accGradHess()
- void solveGradHess(const Bool& doCovar=False)
- Bool updPar()
- Bool setCompPar()
- void printPar(const Int& iter)
- inline VisSet& vs()
- inline ComponentList& cl()
- inline SkyComponent& skycomp(const uInt id)
- inline VisBuffer& svb()
- inline Int& fitfld()
- inline MDirection& pc()
- inline Cube<DComplex>& R()
- inline Array<DComplex>& dR()
- inline Double& chiSq()
- inline Double& lastChiSq()
- inline Double& sumWt()
- inline Int& nWt()
- inline Vector<Bool>& polWt()
- inline Double& lamb()
- inline Vector<Double>& lastPar()
- inline Vector<Double>& grad()
- inline Vector<Double>& lastGrad()
- inline Matrix<Double>& hess()
- inline Matrix<Double>& lastHess()
- inline Vector<Double>& dpar()
- inline Vector<Bool>& vary()
- inline Int& nVary()
Prerequisite
Etymology
VisCal describes an interface for multiplicative errors to be used in
the VisEquation. It is an Abstract Base Class: most methods
must be defined in derived classes.
Synopsis
See VisEquation for definition of the
Visibility Measurement Equation.
The following examples illustrate how an VisCal can be
used:
- Simulation: random multiplicative gains of a certain scaling
can be applied: SimVisCal
- Time variable multiplicative errors: TimeVarVisCal
- Solvable time variable multiplicatiove errors: SolvableVisCal
Example
// Read the VisSet from disk
VisSet vs("3c84.MS");
VisEquation ve(vs);
// Make an VisCal
PhaseScreenVisCal coac(vs);
// Correct the visset
ve.correct();
Motivation
The properties of an multiplicative component must be described
for the VisEquation.
To Do
**********************************************************
VisCal
Member Description
inline Int& nPar()
void setModel(const ComponentType::Shape type, const Vector<Double> inpar, const Vector<Bool> invary)
Bool modelfit(const Int& maxiter, const String file)
inline Vector<Double>& par()
Initial solving data
Calculate residuals (incl. diff'd) and chi2
Internal solving methods
void solveGradHess(const Bool& doCovar=False)
void printPar(const Int& iter)
Access to VisSet
Access to ComponentList
Access to SkyComponents by id
Access to current VisBuffer
inline Int& fitfld()
Access to fieldId we are fitting for
inline Cube<DComplex>& R()
Accessors to current svb's (differentiated) Residuals
inline Array<DComplex>& dR()
inline Double& chiSq()
Access to chi2
inline Double& sumWt()
inline Int& nWt()
inline Double& lamb()
Access to parameters, & grad,hess,dp
inline Int& nVary()