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)
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()
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
From VisSet
Copy
Assignment
virtual TimeVarVisJones& operator=(const TimeVarVisJones& other);
Destructor
Make local VisSet
Setup apply context
virtual void initInterp(const String& interptype, const Vector<Int>& spwmap)
Initialize interpolation parameters
Cleanup interpolation parameters
virtual Type type()=0
Return the type of this Jones matrix (actual type of derived class).
virtual Bool freqDep()
Frequency-dependent ?
Is this Jones matrix to be solved for, applied or both ?
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).
Apply Jones matrix
Apply inverse of Jones matrix
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 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)
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)
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 )
Invert antenna gain matrices
virtual void invJonesMat(const Int& spw)
Calculate 4x4 baseline gain matrices
virtual void calcMuellerMat(const Int& spw)
void validateJM(const Int& spw)
void validateMM(const Int& spw)
Bool JMValid(const Int& spw)
Bool MMValid(const Int& spw)
Return true if polarization re-sequencing required
Re-sequence to (XX,XY,YX,YY) or (RR,RL,LR,LL)
Re-sequence to (XX,YY,XY,YX) or (RR,LL,RL,LR)
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)
********************************************************************
********************************************************************
********************************************************************
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, Double interval, Double deltat=1.0)
virtual Type type()
virtual void store(const String& file, const Bool& append)
Calculate feed angle directly from VisBuffer
void calcJonesPar(const Int& spw,const Double& time,const Int& field=-1)
Form P matrix from paramter
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)
********************************************************************
********************************************************************
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
virtual Type type()
virtual void store(const String& file, const Bool& append)
void calcJonesPar(const Int& spw, const Double& time)