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

#include <Jones.h>

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

List of all members.

Public Types

enum  JonesType {
  General,
  GenLinear,
  Diagonal,
  Scalar
}

Public Member Functions

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

Protected Member Functions

 Jones (const Jones &mat)
 Copy ctor protected.

Protected Attributes

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

Private Member Functions

virtual void zero ()
 Zero the Jones matrix.

Private Attributes

VisVector vtmp_
 Temporary VisVector.

Friends

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

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

Construct.

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

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

Definition at line 64 of file Jones.h.

References j0_, ok0_, and origin().

virtual JonesType casa::Jones::type ( ) const [inline, virtual]

Return type id.

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

Definition at line 53 of file Jones.h.

References General.

virtual Int casa::Jones::typesize ( ) const [inline, virtual]

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

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 106 of file Jones.h.

friend class JonesScal [friend]

Definition at line 107 of file Jones.h.

friend class Mueller [friend]

Give access to Mueller formation method.

Definition at line 101 of file Jones.h.

friend class MuellerDiag [friend]

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

Definition at line 102 of file Jones.h.

friend class MuellerDiag2 [friend]

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

Definition at line 103 of file Jones.h.

friend class MuellerScal [friend]

Reimplemented in casa::JonesScal.

Definition at line 104 of file Jones.h.

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

print it out


Member Data Documentation

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

Complex unity, zero.

Definition at line 123 of file Jones.h.

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

Definition at line 123 of file Jones.h.

Complex* casa::Jones::j0_ [protected]

Pointer to origin.

Definition at line 115 of file Jones.h.

Referenced by origin(), and sync().

Complex* casa::Jones::j_ [protected]

Moving pointer.

Definition at line 119 of file Jones.h.

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

Complex * casa::Jones::ji_ [protected]

Definition at line 119 of file Jones.h.

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

Definition at line 116 of file Jones.h.

Referenced by origin(), and sync().

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

Definition at line 120 of file Jones.h.

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

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

Definition at line 120 of file Jones.h.

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

Is data scalar?

Definition at line 126 of file Jones.h.

Referenced by setScalarData().

Temporary VisVector.

Definition at line 134 of file Jones.h.


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