BJonesPoly.h
Classes
- BJonesPoly -- A bandpass visibility Jones matrix of polynomial form (full description)
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)
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
i) Support solution intervals
Member Description
Construct from a visibility data set
Destructor
Set the solver parameters
Set the interpolation parameters
virtual Bool prenorm()
Return the pre-normalization flag
virtual Bool prenorm() {return visnorm_p;}; TURN OFF, FOR NOW (gmoellen 04Jan07)
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)
Utility function to return the bandwidth-weighted average
frequency for a set of spectral window id.'s
Utility function to return the frequency group name for a given spw. id.
Utility function to return the spw id.'s in a given freq. group
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)