EPTimeVarVisJones.h

Classes

EPTimeVarVisJones -- Model time-variable multiplicative errors for the VisEquation (full description)

class EPTimeVarVisJones: public VisJones

Interface

Public Members
EPTimeVarVisJones()
EPTimeVarVisJones(VisSet& vs)
EPTimeVarVisJones(const EPTimeVarVisJones& other)
virtual ~EPTimeVarVisJones()
virtual void makeLocalVisSet()
virtual void setInterpolation(const Record& interpolation)
virtual void initInterp(const Record& interpolation)
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<EPmjJones2>& c, const Vector<EPmjJones2F>& f)
virtual void store(const String& file, const Bool& append)
virtual void query()
virtual void calcAntGainPar(const VisBuffer& vb)
virtual void getThisGain(const VisBuffer& vb, const Bool& forceAntMat=True, const Bool& doInverse=False, const Bool& forceIntMat=True)
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()
Protected Members
void setSolved(const Bool& flag)
void setApplied(const Bool& flag)
virtual void fillAntGainMat()
virtual void calcAntGainMat(EPmjJones2& mat, Vector<Float>& par )
virtual void invAntGainMat()
virtual void calcIntGainMat()
void invalidateAGM(Int& spw)
void validateAGM(Int& spw)
void invalidateIGM(Int& spw)
void validateIGM(Int& spw)
Bool AGMValid(Int& spw)
Bool IGMValid(Int& spw)
virtual Bool polznSwitch(const VisBuffer& vb)
virtual void polznMap(CStokesVector& vis)
virtual void polznUnmap(CStokesVector& vis)
LogSink& logSink()

Description

Prerequisite

Etymology

EPTimeVarVisJones 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.

EPTimeVarVisJones 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

EPTimeVarVisJones()

EPTimeVarVisJones(VisSet& vs)

From VisSet

EPTimeVarVisJones(const EPTimeVarVisJones& other)

Copy

virtual ~EPTimeVarVisJones()

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

Destructor

virtual void makeLocalVisSet()

Make local VisSet

virtual void setInterpolation(const Record& interpolation)

Setup apply context

virtual void initInterp(const Record& interpolation)

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<EPmjJones2>& c, const Vector<EPmjJones2F>& f)

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

virtual Bool solve(class VisEquation &) {return False;}

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

virtual void calcAntGainPar(const VisBuffer& vb)

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

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

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

virtual void calcAntGainMat(EPmjJones2& mat, Vector<Float>& par )

virtual void invAntGainMat()

Invert antenna gain matrices

virtual void calcIntGainMat()

Calculate 4x4 baseline gain matrices

void invalidateAGM(Int& spw)

void validateAGM(Int& spw)

void invalidateIGM(Int& spw)

void validateIGM(Int& spw)

Bool AGMValid(Int& spw)

Bool IGMValid(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()