BJonesPoly.h

Classes

BJonesPoly -- A bandpass visibility Jones matrix of polynomial form (full description)

class BJonesPoly : public BJones

Interface

Public Members
BJonesPoly (VisSet& vs)
virtual ~BJonesPoly()
virtual void setSolver (const Record& solver)
virtual void setInterpolation (const Record& interpolation)
virtual Bool prenorm()
virtual Bool solve (VisEquation& me)
Protected Members
virtual void checkCache (const VisBuffer& vb, const Int& spw, const Double& time)
Private Members
Bool maskedChannel (const Int& chan, const Int& nChan)
void updateCalTable (const String& freqGrpName, const Vector<Int>& antennaId, const Vector<String>& polyType, const Vector<Complex>& scaleFactor, const Matrix<Double>& validDomain, const Matrix<Double>& polyCoeffAmp, const Matrix<Double>& polyCoeffPhase, const Vector<String>& phaseUnits, const Vector<Complex>& sideBandRef, const Vector<Matrix>& refFreq, const Vector<Int>& refAnt)
Double getChebVal (const Vector<Double>& coeff, const Double& xinit, const Double& xfinal, const Double& x)
void load (const String& applyTable)
Double meanFrequency (const Vector<Int>& spwids)
String freqGrpName (const Int& spwId)
Vector<Int> spwIdsInGroup (const String& freqGrpName)
Vector<Double> freqAxis (const Int& spwId)
void plotsolve(const Vector<Double>& x, const Matrix<Double>& yall, const Matrix<Double>& weightall, const Vector<Double>& errall, Matrix<Double>& coeff, Bool phasesoln)
void plotsolve2(const Vector<Double>& x, const Matrix<Double>& ampdata, const Matrix<Double>& phadata, const Matrix<Double>& wtdata, const Vector<Int>& ant1idx, const Vector<Int>& ant2idx, const Vector<Double>& amperr, Matrix<Double>& ampcoeff, const Vector<Double>& phaerr, Matrix<Double>& phacoeff)

Description

Prerequisite

Etymology

BJonesPoly describes a bandpass visibility Jones matrix of polynomial form.

Synopsis

See VisEquation for definition of the Visibility Measurement Equation.

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

Motivation

Support polynomial bandpass calibration.

To Do

Member Description

BJonesPoly (VisSet& vs)

Construct from a visibility data set

virtual ~BJonesPoly()

Destructor

virtual void setSolver (const Record& solver)

Set the solver parameters

virtual void setInterpolation (const Record& interpolation)

Set the interpolation parameters

virtual Bool prenorm()

Return the pre-normalization flag virtual Bool prenorm() {return visnorm_p;}; TURN OFF, FOR NOW (gmoellen 04Jan07)

virtual Bool solve (VisEquation& me)

Solve

virtual void checkCache (const VisBuffer& vb, const Int& spw, const Double& time)

Virtual function to check the bandpass correction cache validity Null here to allow unmodified use of BJones::apply()/applyInv()

Bool maskedChannel (const Int& chan, const Int& nChan)

Determine if a given channel is masked

void updateCalTable (const String& freqGrpName, const Vector<Int>& antennaId, const Vector<String>& polyType, const Vector<Complex>& scaleFactor, const Matrix<Double>& validDomain, const Matrix<Double>& polyCoeffAmp, const Matrix<Double>& polyCoeffPhase, const Vector<String>& phaseUnits, const Vector<Complex>& sideBandRef, const Vector<Matrix>& refFreq, const Vector<Int>& refAnt)

Update the output calibration table to include the current solution parameters

Double getChebVal (const Vector<Double>& coeff, const Double& xinit, const Double& xfinal, const Double& x)

Compute a Chebyshev polynomial using the CLIC library

void load (const String& applyTable)

Load bandpass parameters from a calibration table and pre-compute the corrections (and their inverse)

Double meanFrequency (const Vector<Int>& spwids)

Utility function to return the bandwidth-weighted average frequency for a set of spectral window id.'s

String freqGrpName (const Int& spwId)

Utility function to return the frequency group name for a given spw. id.

Vector<Int> spwIdsInGroup (const String& freqGrpName)

Utility function to return the spw id.'s in a given freq. group

Vector<Double> freqAxis (const Int& spwId)

Utility function to return the frequency axis for a given spw. id.

void plotsolve(const Vector<Double>& x, const Matrix<Double>& yall, const Matrix<Double>& weightall, const Vector<Double>& errall, Matrix<Double>& coeff, Bool phasesoln)

Utility function to do a plot baseline data (phase or amplitude and compare with the solution of the polynomial fits

void plotsolve2(const Vector<Double>& x, const Matrix<Double>& ampdata, const Matrix<Double>& phadata, const Matrix<Double>& wtdata, const Vector<Int>& ant1idx, const Vector<Int>& ant2idx, const Vector<Double>& amperr, Matrix<Double>& ampcoeff, const Vector<Double>& phaerr, Matrix<Double>& phacoeff)