GJonesPoly.h

Classes

GJonesPoly -- Electronic gain Jones matrix as a polynomial over time (full description)
GJonesSpline -- Electronic gain Jones matrix as spline polynomial over time (full description)

class GJonesPoly : public GJones

Interface

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

Description

Prerequisite

Etymology

GJonesPoly describes the electronic gain visibility Jones matrix parametrized as a polynomial over time.

Synopsis

See VisEquation for definition of the Visibility Measurement Equation.

The elements of GJonesSpline are only non-zero on the diagonal.

Motivation

Support electronic gain calibration using polynomials over time.

To Do

Member Description

GJonesPoly (VisSet& vs)

Construct from a visibility data set

virtual ~GJonesPoly()

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 GJonesSpline : public GJones

Interface

GJonesSpline (VisSet& vs)
virtual ~GJonesSpline()
virtual void setSolver (const Record& solver)
virtual void setInterpolation (const Record& interpolation)
virtual Bool solve (VisEquation& me)
void setRawPhaseVisSet(VisSet& rawvs_p)
void setPhaseWrapHelp(const Int& numpoi, const Double& phaseWrap)
Protected Members
virtual void getThisGain(const VisBuffer& vb, const Bool& forceAntMat=True, const Bool& doInverse=False, const Bool& forceIntMat=True)
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 fillRawPhaseBuff()
Double getRawPhase(Int ant1, Int ant2, Double time)
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()
void writeAsciiLog(const String& filename, const Matrix<Double>& coeff, const Vector<Double>& rmsFit, Bool phasesoln)

Description

Prerequisite

Etymology

GJonesSpline describes the electronic gain visibility Jones matrix parametrized as a spline polynomial over time.

Synopsis

See VisEquation for definition of the Visibility Measurement Equation.

The elements of GJonesSpline are only non-zero on the diagonal.

Motivation

Support electronic gain calibration using splines polynomials over time.

To Do

Member Description

GJonesSpline (VisSet& vs)

Construct from a visibility data set

virtual ~GJonesSpline()

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

void setRawPhaseVisSet(VisSet& rawvs_p)

Set raw phase transfer from another spw

void setPhaseWrapHelp(const Int& numpoi, const Double& phaseWrap)

Set parameters for phase wrapping resolution

virtual void getThisGain(const VisBuffer& vb, const Bool& forceAntMat=True, const Bool& doInverse=False, const Bool& forceIntMat=True)

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 fillRawPhaseBuff()

fill the raw phase buffer for usage

Double getRawPhase(Int ant1, Int ant2, Double time)

return the rawphase of

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

void writeAsciiLog(const String& filename, const Matrix<Double>& coeff, const Vector<Double>& rmsFit, Bool phasesoln)

Logging solution and rms