casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
casa::Mueller Class Reference

#include <Mueller.h>

Inheritance diagram for casa::Mueller:
casa::MuellerDiag casa::AddMuellerDiag casa::MuellerDiag2 casa::MuellerScal casa::AddMuellerDiag2

Public Types

enum  MuellerType {
  AddDiag2,
  AddDiag,
  General,
  Diagonal,
  Diag2,
  Scalar
}
 

Public Member Functions

 Mueller ()
 Construct. More...
 
virtual ~Mueller ()
 Dtor. More...
 
virtual MuellerType type () const
 Return type id. More...
 
virtual casacore::uInt typesize () const
 
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 handle single-corr data properly when setting non-corr-dep flags. More...
 
void sync (casacore::Complex &mat)
 Synchronize with leading element in external array. More...
 
void sync (casacore::Complex &mat, casacore::Bool &ok)
 
void origin ()
 Reset to origin. More...
 
void operator++ ()
 Increment to next vector (according to len) More...
 
void operator++ (int)
 
void advance (const casacore::Int &step)
 Advance step matrices forward (according to len) More...
 
virtual void fromJones (const Jones &jones1, const Jones &jones2)
 Formation from Jones matrix outer product: General version. More...
 
virtual void invert ()
 In-place invert. More...
 
virtual void setMatByOk ()
 Set matrix elements according to ok flag (so we don't have to check ok flags atomically in apply) More...
 
virtual void apply (VisVector &v)
 In-place multiply onto a VisVector: General version. More...
 
virtual void apply (VisVector &v, casacore::Bool &vflag)
 
virtual void applyFlag (casacore::Bool &vflag)
 Apply only flags according to cal flags. More...
 
virtual void flag (VisVector &v)
 
virtual void apply (VisVector &out, const VisVector &in)
 Multiply onto a vis VisVector, preserving input (copy then in-place apply) More...
 

Protected Member Functions

 Mueller (const Mueller &mat)
 Copy ctor protected. More...
 

Protected Attributes

casacore::Complex * m0_
 Pointer to origin. More...
 
casacore::Boolok0_
 
casacore::Complex * m_
 Moving pointer. More...
 
casacore::Complex * mi_
 
casacore::Boolok_
 
casacore::Booloki_
 
const casacore::Complex cOne_
 casacore::Complex unity, zero (for use in invert and similar methods) More...
 
const casacore::Complex cZero_
 
casacore::Bool scalardata_
 

Private Member Functions

virtual void zero ()
 Zero the whole Mueller. More...
 

Private Attributes

VisVector vtmp_
 VisVector temporary (only relevant for Mueller::General) More...
 

Friends

std::ostream & operator<< (std::ostream &os, const Mueller &mat)
 print it out More...
 

Detailed Description

Definition at line 40 of file Mueller.h.

Member Enumeration Documentation

Enumerator
AddDiag2 
AddDiag 
General 
Diagonal 
Diag2 
Scalar 

Definition at line 44 of file Mueller.h.

Constructor & Destructor Documentation

casa::Mueller::Mueller ( )

Construct.

virtual casa::Mueller::~Mueller ( )
inlinevirtual

Dtor.

Definition at line 50 of file Mueller.h.

casa::Mueller::Mueller ( const Mueller mat)
protected

Copy ctor protected.

Member Function Documentation

void casa::Mueller::advance ( const casacore::Int step)
inline

Advance step matrices forward (according to len)

Definition at line 74 of file Mueller.h.

References m_, ok_, and typesize().

virtual void casa::Mueller::apply ( VisVector v)
virtual

In-place multiply onto a VisVector: General version.

Reimplemented in casa::AddMuellerDiag, casa::AddMuellerDiag2, casa::MuellerScal, casa::MuellerDiag2, and casa::MuellerDiag.

virtual void casa::Mueller::apply ( VisVector v,
casacore::Bool vflag 
)
virtual
virtual void casa::Mueller::apply ( VisVector out,
const VisVector in 
)
virtual

Multiply onto a vis VisVector, preserving input (copy then in-place apply)

virtual void casa::Mueller::applyFlag ( casacore::Bool vflag)
virtual

Apply only flags according to cal flags.

Reimplemented in casa::MuellerScal, casa::MuellerDiag2, and casa::MuellerDiag.

virtual void casa::Mueller::flag ( VisVector v)
virtual
virtual void casa::Mueller::fromJones ( const Jones jones1,
const Jones jones2 
)
virtual

Formation from Jones matrix outer product: General version.

Reimplemented in casa::MuellerScal, casa::MuellerDiag2, and casa::MuellerDiag.

virtual void casa::Mueller::invert ( )
virtual
void casa::Mueller::operator++ ( )
inline

Increment to next vector (according to len)

Definition at line 70 of file Mueller.h.

References m_, ok_, and typesize().

void casa::Mueller::operator++ ( int  )
inline

Definition at line 71 of file Mueller.h.

References m_, ok_, and typesize().

void casa::Mueller::origin ( )
inline

Reset to origin.

Definition at line 67 of file Mueller.h.

References m0_, m_, ok0_, and ok_.

Referenced by sync().

virtual void casa::Mueller::setMatByOk ( )
virtual

Set matrix elements according to ok flag (so we don't have to check ok flags atomically in apply)

Reimplemented in casa::AddMuellerDiag, casa::AddMuellerDiag2, casa::MuellerScal, casa::MuellerDiag2, and casa::MuellerDiag.

void casa::Mueller::setScalarData ( casacore::Bool  scalardata) const
inline

Set scalardata_ TBD: Handle this better; for now, we need to set this from an external call so we handle single-corr data properly when setting non-corr-dep flags.

Definition at line 60 of file Mueller.h.

References scalardata_.

void casa::Mueller::sync ( casacore::Complex &  mat)
inline

Synchronize with leading element in external array.

Definition at line 63 of file Mueller.h.

References m0_, and origin().

void casa::Mueller::sync ( casacore::Complex &  mat,
casacore::Bool ok 
)
inline

Definition at line 64 of file Mueller.h.

References m0_, ok0_, and origin().

virtual MuellerType casa::Mueller::type ( ) const
inlinevirtual

Return type id.

Reimplemented in casa::AddMuellerDiag, casa::AddMuellerDiag2, casa::MuellerScal, casa::MuellerDiag2, and casa::MuellerDiag.

Definition at line 53 of file Mueller.h.

References General.

virtual casacore::uInt casa::Mueller::typesize ( ) const
inlinevirtual

Reimplemented in casa::MuellerScal, casa::MuellerDiag2, and casa::MuellerDiag.

Definition at line 54 of file Mueller.h.

Referenced by advance(), and operator++().

virtual void casa::Mueller::zero ( )
privatevirtual

Zero the whole Mueller.

Reimplemented in casa::MuellerScal, casa::MuellerDiag2, and casa::MuellerDiag.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const Mueller mat 
)
friend

print it out

Member Data Documentation

const casacore::Complex casa::Mueller::cOne_
protected

casacore::Complex unity, zero (for use in invert and similar methods)

Definition at line 114 of file Mueller.h.

const casacore::Complex casa::Mueller::cZero_
protected

Definition at line 114 of file Mueller.h.

casacore::Complex* casa::Mueller::m0_
protected

Pointer to origin.

Definition at line 106 of file Mueller.h.

Referenced by origin(), and sync().

casacore::Complex* casa::Mueller::m_
protected

Moving pointer.

Definition at line 110 of file Mueller.h.

Referenced by advance(), operator++(), and origin().

casacore::Complex * casa::Mueller::mi_
protected

Definition at line 110 of file Mueller.h.

casacore::Bool* casa::Mueller::ok0_
protected

Definition at line 107 of file Mueller.h.

Referenced by origin(), and sync().

casacore::Bool* casa::Mueller::ok_
protected

Definition at line 111 of file Mueller.h.

Referenced by advance(), operator++(), and origin().

casacore::Bool * casa::Mueller::oki_
protected

Definition at line 111 of file Mueller.h.

casacore::Bool casa::Mueller::scalardata_
mutableprotected

Definition at line 116 of file Mueller.h.

Referenced by setScalarData().

VisVector casa::Mueller::vtmp_
private

VisVector temporary (only relevant for Mueller::General)

Definition at line 124 of file Mueller.h.


The documentation for this class was generated from the following file: