28 #ifndef SYNTHESIS_JONES_H
29 #define SYNTHESIS_JONES_H
308 void apply(
const Jones& j1, VisVector& v,
const Jones& j2);
const casacore::Complex cOne_
casacore::Complex unity, zero
casacore::Bool scalardata_
Is data scalar?
virtual void applyFlag(casacore::Bool &vflag) const
Set flags according to solution flags.
void origin()
Reset to origin.
virtual JonesType type() const
Return type id.
virtual void flagRight(VisVector &v) const
void sync(casacore::Complex &mat)
Synchronize with leading element in external array.
void sync(casacore::Complex &mat, casacore::Bool &ok)
virtual void flagLeft(VisVector &v) const
virtual void applyRight(VisVector &v) const
Apply rightward to a VisVector.
std::complex< Float > Complex
virtual void setMatByOk()
Set matrix elements according to ok flag (so we don't have to check ok flags atomically in apply) ...
virtual void invert()
In-place invert.
VisVector vtmp_
Temporary VisVector.
void apply(const Jones &j1, VisVector &v, const Jones &j2)
Apply a pair of Jones to a VisVector:
friend std::ostream & operator<<(std::ostream &os, const Jones &mat)
print it out
void setScalarData(casacore::Bool scalardata) const
Set scalardata_ TBD: Handle this better; for now, we need to set this from an external call so we han...
virtual void operator*=(const Jones &other)
In-place multipication with another Jones.
virtual void zero()
Zero the Jones matrix.
virtual void applyLeft(VisVector &v) const
Apply leftward (transposed) to a VisVector.
virtual void zero()
Zero the Jones matrix.
virtual casacore::Int typesize() const
virtual void applyFlag(casacore::Bool &vflag) const
Set flags according to solution flags.
virtual void applyLeft(VisVector &v) const
Apply leftward (transposed) to a VisVector.
virtual void operator*=(const Jones &other)
In-place multipication with another Jones.
casacore::Int jonesNPar(const Jones::JonesType &jtype)
Return parameter count from.
virtual void invert()
In-place invert.
casacore::Complex * j0_
Pointer to origin.
Jones::JonesType jonesType(const casacore::Int &n)
Return enum from integer.
virtual void flagRight(VisVector &v) const
virtual ~JonesDiag()
Dtor.
virtual void zero()
Zero the Jones matrix.
virtual void zero()
Zero the Jones matrix.
void operator++()
Increment to next matrix (according to type)
virtual void operator*=(const Jones &other)
In-place multipication with another Jones.
virtual void setMatByOk()
Set matrix elements according to ok flag (so we don't have to check ok flags atomically in apply) ...
virtual void applyRight(VisVector &v) const
Apply rightward to a VisVector.
virtual void flagLeft(VisVector &v) const
virtual void flagLeft(VisVector &v) const
casacore::Complex * j_
Moving pointer.
virtual void applyFlag(casacore::Bool &vflag) const
Set flags according to solution flags.
virtual casacore::Int typesize() const
virtual void applyFlag(casacore::Bool &vflag) const
Set flags according to solution flags.
bool Bool
Define the standard types used by Casacore.
virtual void applyRight(VisVector &v) const
Apply rightward to a VisVector.
virtual void flagRight(VisVector &v) const
virtual ~JonesScal()
Dtor.
virtual void operator*=(const Jones &other)
In-place multipication with another Jones.
virtual JonesType type() const
Return type id.
Jones * createJones(const Jones::JonesType &jtype)
Global methods:
virtual casacore::Int typesize() const
virtual casacore::Int typesize() const
const casacore::Complex cZero_
virtual void applyLeft(VisVector &v) const
Apply leftward (transposed) to a VisVector.
virtual void setMatByOk()
Set matrix elements according to ok flag (so we don't have to check ok flags atomically in apply) ...
virtual void invert()
In-place invert.
virtual JonesType type() const
Return type id.
void advance(const casacore::Int &step)
Advance step matrices forward (according to typesize)
virtual void applyRight(VisVector &v) const
Apply rightward to a VisVector.
virtual void flagRight(VisVector &v) const
virtual void flagLeft(VisVector &v) const
virtual void setMatByOk()
Set matrix elements according to ok flag (so we don't have to check ok flags atomically in apply) ...
virtual void invert()
In-place invert.
virtual void applyLeft(VisVector &v) const
Apply leftward (transposed) to a VisVector.
virtual JonesType type() const
Return type id.
virtual ~JonesGenLin()
Dtor.