casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends
casa::Mueller Class Reference

#include <Mueller.h>

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

List of all members.

Public Types

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

Public Member Functions

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

Protected Member Functions

 Mueller (const Mueller &mat)
 Copy ctor protected.

Protected Attributes

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

Private Member Functions

virtual void zero ()
 Zero the whole Mueller.

Private Attributes

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

Friends

ostream & operator<< (ostream &os, const Mueller &mat)
 print it out

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

Construct.

virtual casa::Mueller::~Mueller ( ) [inline, virtual]

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 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,
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 ( Bool vflag) [virtual]

Apply only flags according to cal flags.

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

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 ( 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 ( 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 ( Complex &  mat,
Bool ok 
) [inline]

Definition at line 64 of file Mueller.h.

References m0_, ok0_, and origin().

virtual MuellerType casa::Mueller::type ( ) const [inline, virtual]

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 uInt casa::Mueller::typesize ( ) const [inline, virtual]

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 ( ) [private, virtual]

Zero the whole Mueller.

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


Friends And Related Function Documentation

ostream& operator<< ( ostream &  os,
const Mueller mat 
) [friend]

print it out


Member Data Documentation

const Complex casa::Mueller::cOne_ [protected]

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

Definition at line 113 of file Mueller.h.

const Complex casa::Mueller::cZero_ [protected]

Definition at line 113 of file Mueller.h.

Complex* casa::Mueller::m0_ [protected]

Pointer to origin.

Definition at line 105 of file Mueller.h.

Referenced by origin(), and sync().

Complex* casa::Mueller::m_ [protected]

Moving pointer.

Definition at line 109 of file Mueller.h.

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

Complex * casa::Mueller::mi_ [protected]

Definition at line 109 of file Mueller.h.

Bool* casa::Mueller::ok0_ [protected]

Definition at line 106 of file Mueller.h.

Referenced by origin(), and sync().

Bool* casa::Mueller::ok_ [protected]

Definition at line 110 of file Mueller.h.

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

Bool * casa::Mueller::oki_ [protected]

Definition at line 110 of file Mueller.h.

Bool casa::Mueller::scalardata_ [mutable, protected]

Definition at line 115 of file Mueller.h.

Referenced by setScalarData().

VisVector temporary (only relevant for Mueller::General)

Definition at line 123 of file Mueller.h.


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