28 #ifndef SYNTHESIS_MUELLER_H
29 #define SYNTHESIS_MUELLER_H
void sync(casacore::Complex &mat, casacore::Bool &ok)
virtual void invert()
In-place invert.
virtual ~MuellerDiag()
Dtor.
VisVector vtmp_
VisVector temporary (only relevant for Mueller::General)
void operator++()
Increment to next vector (according to len)
virtual casacore::uInt typesize() const
virtual void fromJones(const Jones &jones1, const Jones &jones2)
Formation from Jones matrix outer product: optimized Scalar version.
virtual casacore::uInt typesize() const
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 zero()
Zero the whole Mueller.
virtual ~MuellerScal()
Dtor.
virtual void apply(VisVector &v)
In-place add onto a VisVector:
virtual void invert()
In-place invert.
Parallel-hands only "additive Mueller".
virtual ~MuellerDiag2()
Dtor.
AddMuellerDiag()
Construct.
virtual void fromJones(const Jones &jones1, const Jones &jones2)
Formation from Jones matrix outer product: optimized Diagonal version.
Full polarization "additive Mueller".
virtual void flag(VisVector &v)
virtual void apply(VisVector &v)
In-place multiply onto a VisVector: General version.
Mueller::MuellerType muellerType(const Jones::JonesType &jtype, const VisVector::VisType &vtype)
Return Mueller type according to underlying Jones and VisVector types.
virtual casacore::uInt typesize() const
virtual MuellerType type() const
Return type id.
virtual MuellerType type() const
Return type id.
void origin()
Reset to origin.
virtual ~AddMuellerDiag2()
Dtor.
casacore::Complex * m0_
Pointer to origin.
virtual MuellerType type() const
Return type id.
virtual void setMatByOk()
Set matrix elements according to ok flag (so we don't have to check ok flags atomically in apply) ...
virtual void zero()
Zero the whole Mueller.
virtual MuellerType type() const
Return type id.
virtual void invert()
In-place invert.
casacore::Complex * m_
Moving pointer.
virtual void apply(VisVector &v)
In-place add onto a VisVector: optimized Diag2 version.
bool Bool
Define the standard types used by Casacore.
virtual void setMatByOk()
Set matrix elements according to ok flag (so we don't have to check ok flags atomically in apply) ...
Mueller * createMueller(const Mueller::MuellerType &mtype)
Globals.
virtual void applyFlag(casacore::Bool &vflag)
Apply only flags according to cal flags.
virtual void setMatByOk()
Set matrix elements according to ok flag (so we don't have to check ok flags atomically in apply) ...
friend std::ostream & operator<<(std::ostream &os, const Mueller &mat)
print it out
virtual void invert()
In-place invert (negate)
casacore::Int muellerNPar(const Mueller::MuellerType &mtype)
Return Mueller type according to Int Mueller::MuellerType muellerType(const casacore::Int& n); ...
casacore::Bool scalardata_
void sync(casacore::Complex &mat)
Synchronize with leading element in external array.
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 fromJones(const Jones &jones1, const Jones &jones2)
Formation from Jones matrix outer product: optimized Diag2 version.
virtual MuellerType type() const
Return type id.
virtual void zero()
Zero the whole Mueller.
virtual void setMatByOk()
Set matrix elements according to ok flag (so we don't have to check ok flags atomically in apply) ...
AddMuellerDiag2()
Construct.
virtual void applyFlag(casacore::Bool &vflag)
Apply only flags according to cal flags.
virtual void applyFlag(casacore::Bool &vflag)
Apply only flags according to cal flags.
virtual void applyFlag(casacore::Bool &vflag)
Apply only flags according to cal flags.
virtual void flag(VisVector &v)
virtual void apply(VisVector &v)
In-place multiply onto a VisVector: optimized Diagonal version.
virtual MuellerType type() const
Return type id.
const casacore::Complex cZero_
virtual casacore::uInt typesize() const
virtual void fromJones(const Jones &jones1, const Jones &jones2)
Formation from Jones matrix outer product: General version.
virtual void apply(VisVector &v)
In-place multiply onto a VisVector: optimized Diag2 version.
virtual void invert()
In-place invert.
const casacore::Complex cOne_
casacore::Complex unity, zero (for use in invert and similar methods)
virtual void flag(VisVector &v)
void advance(const casacore::Int &step)
Advance step matrices forward (according to len)
virtual ~AddMuellerDiag()
Dtor.
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 (negate)
virtual void flag(VisVector &v)
virtual void zero()
Zero the whole Mueller.
virtual void apply(VisVector &v)
In-place multiply onto a VisVector: optimized Scalar version.