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::Jones Class Reference

#include <Jones.h>

Inheritance diagram for casa::Jones:
casa::JonesDiag casa::JonesGenLin casa::JonesScal

Public Types

enum  JonesType {
  General,
  GenLinear,
  Diagonal,
  Scalar
}
 

Public Member Functions

 Jones ()
 Construct. More...
 
virtual ~Jones ()
 Dtor. More...
 
virtual JonesType type () const
 Return type id. More...
 
virtual casacore::Int 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 matrix (according to type) More...
 
void operator++ (int)
 
void advance (const casacore::Int &step)
 Advance step matrices forward (according to typesize) 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 operator*= (const Jones &other)
 In-place multipication with another Jones. More...
 
virtual void applyRight (VisVector &v) const
 Apply rightward to a VisVector. More...
 
virtual void applyRight (VisVector &v, casacore::Bool &vflag) const
 
virtual void applyLeft (VisVector &v) const
 Apply leftward (transposed) to a VisVector. More...
 
virtual void applyLeft (VisVector &v, casacore::Bool &vflag) const
 
virtual void applyFlag (casacore::Bool &vflag) const
 Set flags according to solution flags. More...
 
virtual void flagRight (VisVector &v) const
 
virtual void flagLeft (VisVector &v) const
 

Protected Member Functions

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

Protected Attributes

casacore::Complex * j0_
 Pointer to origin. More...
 
casacore::Boolok0_
 
casacore::Complex * j_
 Moving pointer. More...
 
casacore::Complex * ji_
 
casacore::Boolok_
 
casacore::Booloki_
 
const casacore::Complex cOne_
 casacore::Complex unity, zero More...
 
const casacore::Complex cZero_
 
casacore::Bool scalardata_
 Is data scalar? More...
 

Private Member Functions

virtual void zero ()
 Zero the Jones matrix. More...
 

Private Attributes

VisVector vtmp_
 Temporary VisVector. More...
 

Friends

class Mueller
 Give access to Mueller formation method. More...
 
class MuellerDiag
 
class MuellerDiag2
 
class MuellerScal
 
class JonesDiag
 
class JonesScal
 
std::ostream & operator<< (std::ostream &os, const Jones &mat)
 print it out More...
 

Detailed Description

Definition at line 40 of file Jones.h.

Member Enumeration Documentation

Enumerator
General 
GenLinear 
Diagonal 
Scalar 

Definition at line 44 of file Jones.h.

Constructor & Destructor Documentation

casa::Jones::Jones ( )

Construct.

virtual casa::Jones::~Jones ( )
inlinevirtual

Dtor.

Definition at line 50 of file Jones.h.

casa::Jones::Jones ( const Jones mat)
protected

Copy ctor protected.

Member Function Documentation

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

Advance step matrices forward (according to typesize)

Definition at line 74 of file Jones.h.

References j_, ok_, and typesize().

virtual void casa::Jones::applyFlag ( casacore::Bool vflag) const
virtual

Set flags according to solution flags.

Reimplemented in casa::JonesScal, casa::JonesDiag, and casa::JonesGenLin.

virtual void casa::Jones::applyLeft ( VisVector v) const
virtual

Apply leftward (transposed) to a VisVector.

Reimplemented in casa::JonesScal, casa::JonesDiag, and casa::JonesGenLin.

virtual void casa::Jones::applyLeft ( VisVector v,
casacore::Bool vflag 
) const
virtual
virtual void casa::Jones::applyRight ( VisVector v) const
virtual

Apply rightward to a VisVector.

Reimplemented in casa::JonesScal, casa::JonesDiag, and casa::JonesGenLin.

virtual void casa::Jones::applyRight ( VisVector v,
casacore::Bool vflag 
) const
virtual
virtual void casa::Jones::flagLeft ( VisVector v) const
virtual
virtual void casa::Jones::flagRight ( VisVector v) const
virtual
virtual void casa::Jones::invert ( )
virtual

In-place invert.

Reimplemented in casa::JonesScal, casa::JonesDiag, and casa::JonesGenLin.

virtual void casa::Jones::operator*= ( const Jones other)
virtual

In-place multipication with another Jones.

Reimplemented in casa::JonesScal, casa::JonesDiag, and casa::JonesGenLin.

void casa::Jones::operator++ ( )
inline

Increment to next matrix (according to type)

Definition at line 70 of file Jones.h.

References j_, ok_, and typesize().

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

Definition at line 71 of file Jones.h.

References j_, ok_, and typesize().

void casa::Jones::origin ( )
inline

Reset to origin.

Definition at line 67 of file Jones.h.

References j0_, j_, ok0_, and ok_.

Referenced by sync().

virtual void casa::Jones::setMatByOk ( )
virtual

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

Reimplemented in casa::JonesScal, casa::JonesDiag, and casa::JonesGenLin.

void casa::Jones::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 Jones.h.

References scalardata_.

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

Synchronize with leading element in external array.

Definition at line 63 of file Jones.h.

References j0_, and origin().

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

Definition at line 64 of file Jones.h.

References j0_, ok0_, and origin().

virtual JonesType casa::Jones::type ( ) const
inlinevirtual

Return type id.

Reimplemented in casa::JonesScal, casa::JonesDiag, and casa::JonesGenLin.

Definition at line 53 of file Jones.h.

References General.

virtual casacore::Int casa::Jones::typesize ( ) const
inlinevirtual

Reimplemented in casa::JonesScal, casa::JonesDiag, and casa::JonesGenLin.

Definition at line 54 of file Jones.h.

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

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

Zero the Jones matrix.

Reimplemented in casa::JonesScal, casa::JonesDiag, and casa::JonesGenLin.

Friends And Related Function Documentation

friend class JonesDiag
friend

Definition at line 108 of file Jones.h.

friend class JonesScal
friend

Definition at line 109 of file Jones.h.

friend class Mueller
friend

Give access to Mueller formation method.

Definition at line 103 of file Jones.h.

friend class MuellerDiag
friend

Definition at line 104 of file Jones.h.

friend class MuellerDiag2
friend

Definition at line 105 of file Jones.h.

friend class MuellerScal
friend

Definition at line 106 of file Jones.h.

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

print it out

Member Data Documentation

const casacore::Complex casa::Jones::cOne_
protected

casacore::Complex unity, zero

Definition at line 125 of file Jones.h.

const casacore::Complex casa::Jones::cZero_
protected

Definition at line 125 of file Jones.h.

casacore::Complex* casa::Jones::j0_
protected

Pointer to origin.

Definition at line 117 of file Jones.h.

Referenced by origin(), and sync().

casacore::Complex* casa::Jones::j_
protected

Moving pointer.

Definition at line 121 of file Jones.h.

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

casacore::Complex * casa::Jones::ji_
protected

Definition at line 121 of file Jones.h.

casacore::Bool* casa::Jones::ok0_
protected

Definition at line 118 of file Jones.h.

Referenced by origin(), and sync().

casacore::Bool* casa::Jones::ok_
protected

Definition at line 122 of file Jones.h.

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

casacore::Bool * casa::Jones::oki_
protected

Definition at line 122 of file Jones.h.

casacore::Bool casa::Jones::scalardata_
mutableprotected

Is data scalar?

Definition at line 128 of file Jones.h.

Referenced by setScalarData().

VisVector casa::Jones::vtmp_
private

Temporary VisVector.

Definition at line 136 of file Jones.h.


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