Private Members
- void newCalBuffer (const Vector<Int>& fieldIdKeys, const Vector<Int>& antennaId)
- Int getKnots (const Vector<Double>& times, Vector<Double>& knots)
- virtual void updateCalTable (const Vector<Int>& fieldIdKeys, const Vector<Int>& antennaId, const Vector<String>& freqGrpName, const Vector<String>& polyType, const Vector<String>& polyMode, const Vector<Complex>& scaleFactor, const Matrix<Double>& polyCoeffAmp, const Matrix<Double>& polyCoeffPhase, const Vector<String>& phaseUnits, const Vector<Double>& splineKnotsAmp, const Vector<Double>& splineKnotsPhase, const Vector<Matrix>& refFreq, const Vector<Int>& refAnt)
- Double getSplineVal (Double x, Vector<Double>& knots, Vector<Double>& coeff)
- void plotsolve(const Vector<Double>& x, const Matrix<Double>& yall, const Matrix<Double>& weightall, const Vector<Double>& errall, Matrix<Double>& coeff, Bool phasesoln)
- Vector<Int> fieldIdRange()
Prerequisite
- TJones module
- TJonesPoly module
Etymology
TJonesSpline describes the atmospheric gain visibility Jones matrix
parametrized as a spline polynomial over time.
Synopsis
See VisEquation for definition of the
Visibility Measurement Equation.
The elements of TJonesSpline are only non-zero on the diagonal.
Motivation
Support atmospheric gain calibration using splines polynomials over time.
To Do
i) Support solution and pre-averaging intervals
Member Description
Construct from a visibility data set
Destructor
Set the solver parameters
Set the interpolation parameters
Solve
virtual void checkCache(const VisBuffer& vb, Int spw, Double time)
Check the validity of the antenna and baseline gain cache;
re-compute the spline polynomial corrections and refresh
the cache as necessary.
void newCalBuffer (const Vector<Int>& fieldIdKeys, const Vector<Int>& antennaId)
Create and fill an empty output calibration buffer
Int getKnots (const Vector<Double>& times, Vector<Double>& knots)
Compute the number of spline knots required and their location
virtual void updateCalTable (const Vector<Int>& fieldIdKeys, const Vector<Int>& antennaId, const Vector<String>& freqGrpName, const Vector<String>& polyType, const Vector<String>& polyMode, const Vector<Complex>& scaleFactor, const Matrix<Double>& polyCoeffAmp, const Matrix<Double>& polyCoeffPhase, const Vector<String>& phaseUnits, const Vector<Double>& splineKnotsAmp, const Vector<Double>& splineKnotsPhase, const Vector<Matrix>& refFreq, const Vector<Int>& refAnt)
Update the output calibration table
Double getSplineVal (Double x, Vector<Double>& knots, Vector<Double>& coeff)
Compute a spline polynomial value
void plotsolve(const Vector<Double>& x, const Matrix<Double>& yall, const Matrix<Double>& weightall, const Vector<Double>& errall, Matrix<Double>& coeff, Bool phasesoln)
Plot solutions as compare with data
Return all field id.'s in the underlying MS