VisJones.h
Classes
- VisJones -- VisJones: Model multiplicative errors for the VisEquation (full description)
Types
- K
-
- B
-
- G
-
- D
-
- C
-
- E
-
- P
-
- T
-
- F
-
Interface
- Public Members
- VisJones()
- virtual ~VisJones()
- virtual void setSolver(const Record& solver)
- virtual void setInterpolation(const Record& interpolation)
- virtual VisBuffer& apply(VisBuffer& vb) = 0
- virtual VisBuffer& applyInv(VisBuffer& vb) = 0
- virtual Type type() = 0
- virtual Bool freqDep() = 0
- virtual Bool isSolveable()
- virtual Bool isSolved()
- virtual Bool isApplied()
- virtual Double interval()
- virtual Double preavg()
- virtual Bool prenorm()
- virtual Int refant()
- virtual VisBuffer& applyGradient(VisBuffer& vb, const Vector<Int>& antenna, Int i, Int j, Int pos) = 0
- virtual void initializeGradients()
- virtual void finalizeGradients()
- 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) = 0
- virtual Bool solve (VisEquation& ve) = 0
- Protected Members
- virtual String typeName()
Prerequisite
Etymology
VisJones describes an interface for multiplicative errors to be used in
the VisEquation. It is an Abstract Base Class: most methods
must be defined in derived classes.
Synopsis
See VisEquation for definition of the
Visibility Measurement Equation.
The following examples illustrate how an VisJones can be
used:
Example
// Read the VisSet from disk
VisSet vs("3c84.MS");
VisEquation ve(vs);
// Make an VisJones
PhaseScreenVisJones coac(vs);
// Correct the visset
ve.correct();
Motivation
The properties of an multiplicative component must be described
for the VisEquation.
To Do
Member Description
Allowed types of VisJones matrices
Set the solver parameters
Set the interpolation parameters
Apply actual Jones matrix and adjoint
virtual Type type() = 0
Return the type of this Jones matrix (actual type of derived class).
virtual Bool freqDep() = 0
Frequency-dependent ?
Is this solveable?
Is this Jones matrix to be solved for, applied or both ?
virtual Double interval()
Return the time interval over which this Jones matrix is constant
virtual Double preavg()
Return the pre-averaging interval (applies only to solveable components)
virtual Bool prenorm()
Return the pre-normalization flag (applies only to solveable components)
virtual Int refant()
Return the reference antenna if this component is solved for.
Apply Gradient
Initialize for gradient search
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) = 0
Add to Gradient Chisq
Solve