29 #ifndef SYNTHESIS_TRANSFORM2_SKYJONES_H
30 #define SYNTHESIS_TRANSFORM2_SKYJONES_H
44 class CoordinateSystem;
222 virtual void reset() = 0;
234 virtual ::casa::SkyJones::Type
type() = 0;
302 case ::casa::SkyJones::E:
304 case ::casa::SkyJones::T:
306 case ::casa::SkyJones::F:
308 case ::casa::SkyJones::D:
virtual ::casa::SkyJones::Type type()=0
Return the type of this Jones matrix (actual type of derived class).
virtual casacore::Int support(const vi::VisBuffer2 &vb, const casacore::CoordinateSystem &cs)=0
virtual void setThreshold(const casacore::Float t)
virtual void addGradients(const vi::VisBuffer2 &vb, casacore::Int row, const casacore::Float sumwt, const casacore::Float chisq, const casacore::Matrix< casacore::Complex > &c, const casacore::Matrix< casacore::Float > &f)=0
Add to Gradient Chisq.
virtual casacore::Bool changed(const vi::VisBuffer2 &vb, casacore::Int row)=0
Has this operator changed since the last application?
virtual casacore::Bool changedBuffer(const vi::VisBuffer2 &vb, casacore::Int row1, casacore::Int &row2)=0
Does this operator changed in this VisBuffer, starting with row1? If yes, we return in row2...
virtual void finalizeGradients()=0
Finalize for gradient search.
virtual void assure(const vi::VisBuffer2 &vb, casacore::Int row)=0
Assure.
virtual casacore::Float threshold()
virtual casacore::Bool change(const vi::VisBuffer2 &vb)=0
Does the operator change in this visbuffer or since the last call? I'm not sure this is useful – come...
virtual casacore::ImageRegion * extent(const casacore::ImageInterface< casacore::Complex > &im, const vi::VisBuffer2 &vb, const casacore::Int irow=-1, const casacore::Float fPad=1.2, const casacore::Int iChan=0, const casa::SkyJones::SizeType sizeType=casa::SkyJones::COMPOSITE)=0
Solve virtual casacore::Bool solve (SkyEquation& se) = 0;
virtual casacore::ImageInterface< casacore::Float > & applySquare(const casacore::ImageInterface< casacore::Float > &in, casacore::ImageInterface< casacore::Float > &out, const vi::VisBuffer2 &vb, casacore::Int row)=0
SkyJones()
Allowed types of VisJones matrices enum Type{E,T,F,D};
bool Bool
Define the standard types used by Casacore.
casacore::Float threshold_p
Sky Jones: Model sky-plane instrumental effects for the SkyEquation.
virtual void reset()=0
Reset.
Class to hold a region of interest in an image.
virtual void initializeGradients()=0
Initialize for gradient search.
virtual casacore::ImageInterface< casacore::Complex > &virtual SkyComponent &virtual casacore::Bool isSolveable()=0
Apply gradient.
VisBuffer2s encapsulate one chunk of visibility data for processing.
virtual ~SkyJones()
Destructor.
const Double c
Fundamental physical constants (SI units):
A component of a model of the sky.
virtual casacore::String typeName()
Could be over-ridden if necessary.
String: the storage and methods of handling collections of characters.
virtual casacore::ImageInterface< casacore::Complex > & apply(const casacore::ImageInterface< casacore::Complex > &in, casacore::ImageInterface< casacore::Complex > &out, const vi::VisBuffer2 &vb, casacore::Int row, casacore::Bool forward=true)=0
Apply Jones matrix to an image (and adjoint)
Interconvert pixel and world coordinates.
virtual casacore::String telescope()=0
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.