TJonesPoly.h

Classes

TJonesPoly -- Atmospheric gain Jones matrix as a polynomial over time (full description)
TJonesSpline -- Atmospheric gain Jones matrix as spline polynomial over time (full description)

class TJonesPoly : public TJones

Interface

Public Members
TJonesPoly (VisSet& vs)
virtual ~TJonesPoly()
virtual void setSolver (const Record& solver)
virtual void setInterpolation (const Record& interpolation)
virtual Bool solve (VisEquation& me)

Description

Prerequisite

Etymology

TJonesPoly describes the atmospheric gain visibility Jones matrix parametrized as a 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 polynomials over time.

To Do

Member Description

TJonesPoly (VisSet& vs)

Construct from a visibility data set

virtual ~TJonesPoly()

Destructor

virtual void setSolver (const Record& solver)

Set the solver parameters

virtual void setInterpolation (const Record& interpolation)

Set the interpolation parameters

virtual Bool solve (VisEquation& me)

Solve

class TJonesSpline : public TJones

Interface

TJonesSpline (VisSet& vs)
virtual ~TJonesSpline()
virtual void setSolver (const Record& solver)
virtual void setInterpolation (const Record& interpolation)
virtual Bool solve (VisEquation& me)
Protected Members
virtual void checkCache(const VisBuffer& vb, Int spw, Double time)
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()

Description

Prerequisite

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

Member Description

TJonesSpline (VisSet& vs)

Construct from a visibility data set

virtual ~TJonesSpline()

Destructor

virtual void setSolver (const Record& solver)

Set the solver parameters

virtual void setInterpolation (const Record& interpolation)

Set the interpolation parameters

virtual Bool solve (VisEquation& me)

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

Vector<Int> fieldIdRange()

Return all field id.'s in the underlying MS