SolvableMJones.h
Classes
- SolvableMJones -- Model solvable, time-variable multiplicative errors for the VisEquation (full description)
- MIfr -- MIfr: Model solvable, time-variable diagonal multiplicative errors for the VisEquation (full description)
Interface
- Public Members
- SolvableMJones()
- SolvableMJones(VisSet& vs, String file, const String& select)
- SolvableMJones(VisSet& vs, Double interval=DBL_MAX, Double deltat=1.0)
- SolvableMJones(const SolvableMJones& other)
- ~SolvableMJones()
- virtual SolvableMJones& operator=(const SolvableMJones& other)
- virtual Bool isSolveable()
- virtual void initializeGradients()
- virtual void finalizeGradients()
- virtual void addGradients(const VisBuffer& vb, Int row, const Antenna& a1, const Antenna& a2, const Vector<Float>& sumwt, const Vector<Float>& chisq, const Vector<Complex>& c, const Vector<Float>& f)
- virtual Bool solve (VisEquation& me)
- virtual void store(const String& file, const Bool& append)
- virtual void load(const String& file, const String& select, const String& type)
- Protected Members
- void initialize()
- virtual void updateIntGain(Int slot)
- virtual void getIntGain(Cube<mjJones4>& ag, const VisBuffer& vb, Int row)
- virtual LogSink& logSink()
Prerequisite
Etymology
SolvableMJones describes an interface for time variable and solvable
multiplicative errors to be used in
the VisEquation.
Synopsis
See VisEquation for definition of the
Visibility Measurement Equation.
SolvableMJones performs caching of values to minimize computation.
Values may be loaded from, saved to, and interpolated from a Table.
The following examples illustrate how an SolvableMJones can be
used:
- Solution for diagonal gains: MIfr
Example
// Read the VisSet from disk
VisSet vs("3c84.MS");
VisEquation ve(vs);
// Make an MJones
MIfr ij(vs);
ve.setMJones(ij);
// Correct the visset
ve.correct();
Motivation
The properties of an multiplicative component must be described
for the VisEquation.
To Do
Member Description
Load from a table
SolvableMJones(VisSet& vs, Double interval=DBL_MAX, Double deltat=1.0)
From VisSet - interval is the solution interval in seconds, deltat
is the fuzziness in time comparisons
SolvableMJones(const SolvableMJones& other)
Copy
Destructor
virtual SolvableMJones& operator=(const SolvableMJones& other)
Assignment
Is this solveable?
Initialize for gradient search
virtual void addGradients(const VisBuffer& vb, Int row, const Antenna& a1, const Antenna& a2, const Vector<Float>& sumwt, const Vector<Float>& chisq, const Vector<Complex>& c, const Vector<Float>& f)
Add to Gradient Chisq
Solve
virtual void store(const String& file, const Bool& append)
Store the time-variable gains as a table.
Derived classes may need to redefine this
virtual void load(const String& file, const String& select, const String& type)
Retrieve the time-variable gains from a table
Update the interferometer gains from the gradients.
virtual void getIntGain(Cube<mjJones4>& ag, const VisBuffer& vb, Int row)
Get interferometer gains from store. To be defined in derived class.
Interface
Public Members
- MIfr(VisSet& vs, Double interval=DBL_MAX, Double deltat=1.0)
- MIfr(VisSet& vs, String file, const String& select)
- ~MIfr()
Protected Members
- void init()
- virtual void updateIntGain(Int slot)
Prerequisite
Etymology
MIfr describes an interface for diagonal, time variable and solvable
multiplicative errors to be used in
the VisEquation.
Synopsis
See VisEquation for definition of the
Visibility Measurement Equation.
MIfr performs caching of values to minimize computation.
Values may be loaded from, saved to, and interpolated from a Table.
The elements of MIfr are constrained to be non-zero only along
the diagonal.
Example
// Read the VisSet from disk
VisSet vs("3c84.MS");
VisEquation ve(vs);
// Make an MJones
MIfr ij(vs);
ve.setMJones(ij);
// Correct the visset
ve.correct();
Motivation
The properties of an multiplicative component must be described
for the VisEquation.
To Do
Member Description
MIfr(VisSet& vs, Double interval=DBL_MAX, Double deltat=1.0)
init mask and cache for diagonal matrices
Update the interferometer gains from the gradients.