TimeVarVisJones.h

Classes

TimeVarVisJones -- Model time-variable multiplicative errors for the VisEquation (full description)
PJones -- Model parallactic angle corrections for the VisEquation (full description)
CJones -- Model configuration matrix corrections for the VisEquation (full description)

class TimeVarVisJones : public VisJones

Interface

Public Members
TimeVarVisJones()
TimeVarVisJones(VisSet& vs)
TimeVarVisJones(const TimeVarVisJones& other)
virtual ~TimeVarVisJones()
virtual void makeLocalVisSet()
virtual void setInterpolation(const Record& interpolation)
virtual void initInterp(const String& interptype, const Vector<Int>& spwmap)
virtual void deleteInterp()
virtual Type type()=0
virtual Bool freqDep()
virtual Bool isSolved()
virtual Bool isApplied()
virtual Double interval()
virtual Double preavg()
virtual VisBuffer& apply(VisBuffer& vb)
virtual VisBuffer& applyInv(VisBuffer& vb)
virtual VisBuffer & applyGradient(VisBuffer & vb, const Vector<int> & v, Int a1, Int a2, Int pos)
virtual void addGradients(const VisBuffer& vb, Int row, const Antenna& a, const Vector<Float>& sumwt, const Vector<Float>& chisq, const Vector<mjJones2>& c, const Vector<mjJones2F>& f)
virtual Bool solve(class VisEquation &)
virtual void store(const String& file, const Bool& append)
virtual void query()
Cube<mjJones4>& syncMuellerMat(const Int& spw, const Int& slot, const Bool& doInv=False)
Cube<mjJones4>& syncMuellerMat(const Int& spw, const Double& time, const Int& field=-1, const Bool& doInv=False)
Matrix<mjJones2>& syncJonesMat(const Int& spw, const Int& slot, const Bool& doInv=False)
Matrix<mjJones2>& syncJonesMat(const Int& spw, const Double& time, const Int& field=-1, const Bool& doInv=False)
Cube<Complex>& syncJonesPar(const Int& spw, const Int& slot)
Cube<Complex>& syncJonesPar(const Int& spw, const Double& time, const Int& field=-1)
Protected Members
virtual void load(const String& file, const String& select, const String& type)
void initialize(VisSet& vs)
void initMetaCache()
void fillMetaCache()
void deleteMetaCache()
void initThisGain()
void initAntGain()
void deleteThisGain()
void deleteAntGain()
void setSolved(const Bool& flag)
void setApplied(const Bool& flag)
virtual void getThisGain(const VisBuffer& vb, const Bool& forceAntMat=True, const Bool& doInverse=False, const Bool& forceIntMat=True)
virtual void syncGain(const Int& spw, const Int& slot, const Bool& doInv=False)
virtual void syncGain(const Int& spw, const Double& time, const Int& field=-1, const Bool& doInv=False)
virtual void calcAntGainPar(const VisBuffer& vb)
virtual void calcJonesPar(const Int& spw,const Double& time,const Int& field=-1)
virtual void calcJonesPar(const Int& spw,const Int& slot)
virtual void fillAntGainMat()
virtual void fillJonesMat(const Int& spw)
virtual void calcAntGainMat(mjJones2& mat, Vector<Complex>& par )
virtual void calcJonesMat(mjJones2& mat, Vector<Complex>& par )
virtual void invAntGainMat()
virtual void invJonesMat(const Int& spw)
virtual void calcIntGainMat()
virtual void calcMuellerMat(const Int& spw)
void invalidateJM(const Int& spw)
void validateJM(const Int& spw)
void invalidateMM(const Int& spw)
void validateMM(const Int& spw)
Bool JMValid(const Int& spw)
Bool MMValid(const Int& spw)
virtual Bool polznSwitch(const VisBuffer& vb)
virtual void polznMap(CStokesVector& vis)
virtual void polznUnmap(CStokesVector& vis)
LogSink& logSink()

Description

Prerequisite

Etymology

TimeVarVisJones describes an interface for time variable but not solvable multiplicative errors to be used in the VisEquation.

Synopsis

See VisEquation for definition of the Visibility Measurement Equation.

TimeVarVisJones performs caching of values to minimize computation.

Values may be saved to a table.

Example

      // Read the VisSet from disk
      VisSet vs("3c84.MS");

      VisEquation ve(vs);

      // Make an VisJones
      PJones pj(vs);

      ve.setVisJones(pj);

      // Correct the visset
      ve.correct();

Motivation

The properties of an multiplicative component must be described for the VisEquation.

To Do

Member Description

TimeVarVisJones()

TimeVarVisJones(VisSet& vs)

From VisSet

TimeVarVisJones(const TimeVarVisJones& other)

Copy

virtual ~TimeVarVisJones()

Assignment virtual TimeVarVisJones& operator=(const TimeVarVisJones& other);

Destructor

virtual void makeLocalVisSet()

Make local VisSet

virtual void setInterpolation(const Record& interpolation)

Setup apply context

virtual void initInterp(const String& interptype, const Vector<Int>& spwmap)

Initialize interpolation parameters

virtual void deleteInterp()

Cleanup interpolation parameters

virtual Type type()=0

Return the type of this Jones matrix (actual type of derived class).

virtual Bool freqDep()

Frequency-dependent ?

virtual Bool isSolved()

Is this Jones matrix to be solved for, applied or both ?

virtual Bool isApplied()

virtual Double interval()

Return the interval over which this Jones matrix is constant

virtual Double preavg()

Return the pre-averaging interval (here equal to the interval).

virtual VisBuffer& apply(VisBuffer& vb)

Apply Jones matrix

virtual VisBuffer& applyInv(VisBuffer& vb)

Apply inverse of Jones matrix

virtual VisBuffer & applyGradient(VisBuffer & vb, const Vector<int> & v, Int a1, Int a2, Int pos)

virtual void addGradients(const VisBuffer& vb, Int row, const Antenna& a, const Vector<Float>& sumwt, const Vector<Float>& chisq, const Vector<mjJones2>& c, const Vector<mjJones2F>& f)

virtual Bool solve(class VisEquation &)

virtual void store(const String& file, const Bool& append)

Store the time-variable gains as a table. Derived classes may need to redefine this if they do not use antGain_.

virtual void query()

print out internals

Cube<mjJones4>& syncMuellerMat(const Int& spw, const Int& slot, const Bool& doInv=False)

Sync Mueller matrices for this spw by slot, return reference to them

Cube<mjJones4>& syncMuellerMat(const Int& spw, const Double& time, const Int& field=-1, const Bool& doInv=False)

Sync Mueller matrices for this spw by time/field, return reference to them

Matrix<mjJones2>& syncJonesMat(const Int& spw, const Int& slot, const Bool& doInv=False)

Sync Jones matrices for this spw by slot, return reference to them

Matrix<mjJones2>& syncJonesMat(const Int& spw, const Double& time, const Int& field=-1, const Bool& doInv=False)

Sync Jones matrices for this spw by slot, return reference to them

Cube<Complex>& syncJonesPar(const Int& spw, const Int& slot)

Sync Jones parameters for this spw by slot, return reference to them

Cube<Complex>& syncJonesPar(const Int& spw, const Double& time, const Int& field=-1)

Sync Jones paraeters for this spw by time/field, return reference to them

virtual void load(const String& file, const String& select, const String& type)

Retrieve the time-variable gains from a table.

void initialize(VisSet& vs)

void initMetaCache()

void fillMetaCache()

void deleteMetaCache()

void initThisGain()

void initAntGain()

void deleteThisGain()

void deleteAntGain()

void setSolved(const Bool& flag)

Mark this Jones matrix as being solved for

void setApplied(const Bool& flag)

Mark this Jones matrix as being applied

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

Get the current set of antenna & baseline gains into the this* cache

virtual void syncGain(const Int& spw, const Int& slot, const Bool& doInv=False)

virtual void syncGain(const Int& spw, const Double& time, const Int& field=-1, const Bool& doInv=False)

virtual void calcAntGainPar(const VisBuffer& vb)

Calculate the current antenna gain parameters by some means (e.g., interpolation)

virtual void calcJonesPar(const Int& spw,const Double& time,const Int& field=-1)

virtual void calcJonesPar(const Int& spw,const Int& slot)

virtual void fillAntGainMat()

Calculate 2x2 antenna gain matrices (all chans, ants), using methods provided in concrete types

virtual void fillJonesMat(const Int& spw)

virtual void calcAntGainMat(mjJones2& mat, Vector<Complex>& par )

virtual void calcJonesMat(mjJones2& mat, Vector<Complex>& par )

virtual void invAntGainMat()

Invert antenna gain matrices

virtual void invJonesMat(const Int& spw)

virtual void calcIntGainMat()

Calculate 4x4 baseline gain matrices

virtual void calcMuellerMat(const Int& spw)

void invalidateJM(const Int& spw)

void validateJM(const Int& spw)

void invalidateMM(const Int& spw)

void validateMM(const Int& spw)

Bool JMValid(const Int& spw)

Bool MMValid(const Int& spw)

virtual Bool polznSwitch(const VisBuffer& vb)

Return true if polarization re-sequencing required

virtual void polznMap(CStokesVector& vis)

Re-sequence to (XX,XY,YX,YY) or (RR,RL,LR,LL)

virtual void polznUnmap(CStokesVector& vis)

Re-sequence to (XX,YY,XY,YX) or (RR,LL,RL,LR)

LogSink& logSink()


class PJones : public TimeVarVisJones

Interface

Public Members
PJones(VisSet& vs)
PJones(VisSet& vs, Double interval, Double deltat=1.0)
~PJones()
virtual Type type()
virtual void store(const String& file, const Bool& append)
Private Members
void calcAntGainPar(const VisBuffer& vb)
void calcJonesPar(const Int& spw,const Double& time,const Int& field=-1)
void fillAntGainMat()
void fillJonesMat(const Int& spw)

Description

******************************************************************** ******************************************************************** ********************************************************************

Specialized non-solvable types: ******************************

Prerequisite

Etymology

PJones describes an interface for parallactic angle corrections to be used in the VisEquation.

Synopsis

See VisEquation for definition of the Visibility Measurement Equation.

Motivation

To optimize correction for parallactic angle in the VisEquation.

To Do

Member Description

PJones(VisSet& vs)

PJones(VisSet& vs, Double interval, Double deltat=1.0)

~PJones()

virtual Type type()

virtual void store(const String& file, const Bool& append)

void calcAntGainPar(const VisBuffer& vb)

Calculate feed angle directly from VisBuffer

void calcJonesPar(const Int& spw,const Double& time,const Int& field=-1)

void fillAntGainMat()

Form P matrix from paramter

void fillJonesMat(const Int& spw)


class CJones : public TimeVarVisJones

Interface

Public Members
CJones(VisSet& vs)
~CJones()
virtual Type type()
virtual void store(const String& file, const Bool& append)
Private Members
void calcAntGainPar(const VisBuffer& vb)
void calcJonesPar(const Int& spw, const Double& time)
void fillAntGainMat()
void fillJonesMat(const Int& spw)

Description

******************************************************************** ********************************************************************

Prerequisite

Etymology

CJones describes an interface for the configuration matrix to be used in the VisEquation.

Synopsis

See VisEquation for definition of the Visibility Measurement Equation.

Motivation

To optimize correction for configuration matrix in the VisEquation.

To Do

Member Description

CJones(VisSet& vs)

~CJones()

virtual Type type()

virtual void store(const String& file, const Bool& append)

void calcAntGainPar(const VisBuffer& vb)

void calcJonesPar(const Int& spw, const Double& time)

void fillAntGainMat()

void fillJonesMat(const Int& spw)