TimeVarMJones.h
Classes
- TimeVarMJones -- Model baseline-related multiplicative errors for the VisEquation (full description)
Interface
- Public Members
- TimeVarMJones()
- TimeVarMJones(VisSet& vs, Double interval=DBL_MAX, Double deltat=1.0)
- TimeVarMJones(const TimeVarMJones& other)
- virtual ~TimeVarMJones()
- virtual TimeVarMJones& operator=(const TimeVarMJones& other)
- virtual VisBuffer& apply(VisBuffer& vb)
- virtual VisBuffer& applyInv(VisBuffer& vb)
- 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(VisSet& vs)
- void initializeCache()
- virtual void getIntGain(Cube<mjJones4>& ig, const VisBuffer& vb, Int Row) = 0
- Bool inSlot(Double start, Double end, Double time)
- Bool inSlot(Int slot, Double time)
- Int findSlot(Double time)
- void checkCache(const VisBuffer& vb, Int row)
- void invalidateCache()
- void validateCache(Int spectralWindow)
- Bool cacheValid(Int spectralWindow)
- LogSink& logSink()
forward
Prerequisite
Etymology
TimeVarMJones describes an interface for time variable but not solvable
baseline-related, multiplicative errors to be used in
the VisEquation.
Synopsis
See VisEquation for definition of the
Visibility Measurement Equation.
TimeVarMJones 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 MJones
SMIfr 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
TimeVarMJones(VisSet& vs, Double interval=DBL_MAX, Double deltat=1.0)
From VisSet - caching interval is in seconds
TimeVarMJones(const TimeVarMJones& other)
Copy
virtual TimeVarMJones& operator=(const TimeVarMJones& other)
Assignment
Apply actual Jones matrix and inverse
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
virtual void getIntGain(Cube<mjJones4>& ig, const VisBuffer& vb, Int Row) = 0
Calculate gains ab initio. To be defined in derived class
Bool inSlot(Double start, Double end, Double time)
Is this time in the slot?
Bool inSlot(Int slot, Double time)
Is the time in the specified slot. slot must be in range
Int findSlot(Double time)
Find the relevant slot. Throw an exception if not found.
check the cache : if necessary find new slot, get new interferometer
gains and then refresh values in the cache
(in)validate cache
Bool cacheValid(Int spectralWindow)