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


VisMueller More...

#include <VisCal.h>

Inheritance diagram for casa::VisMueller:
casa::VisCal casa::SolvableVisMueller casa::VisJones casa::ANoise casa::MMueller casa::SolvableVisJones casa::XMueller casa::PJones casa::SolvableVisJones casa::AMueller casa::MfMueller casa::DJones casa::EGainCurve casa::EPJones casa::GJones casa::JJones casa::LJJones casa::TJones casa::XJones casa::DJones casa::EGainCurve casa::EPJones casa::GJones casa::JJones casa::LJJones casa::TJones casa::XJones

List of all members.

Public Member Functions

 VisMueller (VisSet &vs)
 Constructor.
 VisMueller (const Int &nAnt)
virtual ~VisMueller ()
virtual VisCalEnum::MatrixType matrixType ()
 Return Matrix type.
virtual Mueller::MuellerType muellerType ()=0
 Mueller matrix type (must be implemented in Mueller specializations!)
virtual void state ()
 Report the state.

Protected Member Functions

virtual IntnElem ()
 Total number of parameter sets required.
virtual Int nCalMat ()
 Number of Cal Matrices to form on baseline axis (Mueller, apply context: nBln())
virtual Bool trivialMuellerElem ()=0
 Are the parameters the matrix elements? (or is a non-trivial calculation required?) (Must be implemented in specializations!)
virtual Bool applyByMueller ()
 Are we applying via Mueller multiplication? (necessarily True for native Muellers)
MuellerM ()
 Access to matrix renderings of Muellers.
Cube< Complex > & currMElem ()
 Access to current matrices.
Cube< Bool > & currMElemOK ()
virtual void invalidateCalMat ()
 Invalidate cal matrices generically (at this level, just Mueller)
void invalidateM ()
 Validation of Mueller matrices (for currSpw)
void validateM ()
Bool MValid ()
virtual void applyCal (VisBuffer &vb, Cube< Complex > &Vout, Bool trial=False)
 Row-by-row apply to a Cube<Complex> (applyByMueller override)
virtual void syncCalMat (const Bool &doInv=False)
 Sync matrices for current meta data (Mueller override)
virtual void syncMueller (const Bool &doInv=False)
 Sync Mueller matrix elements for current parameters.
virtual void calcAllMueller ()
 Calculate an ensemble of Mueller matrices (all baselines, channels)
virtual void calcOneMueller (Vector< Complex > &mat, Vector< Bool > &mOk, const Vector< Complex > &par, const Vector< Bool > &pOk)
 Calculate a single Mueller matrix by some means.
virtual void invMueller ()
 Invert Mueller matrices.
virtual void setMatByOk ()
 Set matrix elements according to their ok flags (e.g., makes a unit matrix if everything flagged, so we don't have to make atomic ok checks in apply)
void createMueller ()
 Create Mueller matrix algebra interface.
virtual void syncWtScale ()
 Synchronize weight scale factors.
virtual void updateWt (Vector< Float > &wt, const Int &a1, const Int &a2)
 Update the wt vector for a baseline.

Private Member Functions

 VisMueller ()
 Default ctor is private.
void initVisMueller ()
 Init VisMueller pointers, etc.
void deleteVisMueller ()
 Delete the this* caches.

Private Attributes

PtrBlock< Mueller * > M_
 Mueller algebra wrapper (per Spw)
PtrBlock< Cube< Complex > * > currMElem_
 Current Mueller matrix elements.
PtrBlock< Cube< Bool > * > currMElemOK_
Vector< BoolMValid_
 Mueller validity.

Detailed Description


VisMueller

 

Definition at line 369 of file VisCal.h.


Constructor & Destructor Documentation

Constructor.

casa::VisMueller::VisMueller ( const Int nAnt)
virtual casa::VisMueller::~VisMueller ( ) [virtual]

Default ctor is private.


Member Function Documentation

virtual Bool casa::VisMueller::applyByMueller ( ) [inline, protected, virtual]

Are we applying via Mueller multiplication? (necessarily True for native Muellers)

Reimplemented in casa::VisJones.

Definition at line 405 of file VisCal.h.

References casa::True.

virtual void casa::VisMueller::applyCal ( VisBuffer vb,
Cube< Complex > &  Vout,
Bool  trial = False 
) [protected, virtual]

Row-by-row apply to a Cube<Complex> (applyByMueller override)

Implements casa::VisCal.

Reimplemented in casa::VisJones, casa::AMueller, and casa::EVLASwPow.

virtual void casa::VisMueller::calcAllMueller ( ) [protected, virtual]

Calculate an ensemble of Mueller matrices (all baselines, channels)

Reimplemented in casa::VisJones, casa::XMueller, and casa::ANoise.

virtual void casa::VisMueller::calcOneMueller ( Vector< Complex > &  mat,
Vector< Bool > &  mOk,
const Vector< Complex > &  par,
const Vector< Bool > &  pOk 
) [protected, virtual]

Calculate a single Mueller matrix by some means.

Reimplemented in casa::ANoise.

void casa::VisMueller::createMueller ( ) [protected]

Create Mueller matrix algebra interface.

Cube<Complex>& casa::VisMueller::currMElem ( ) [inline, protected]

Access to current matrices.

Definition at line 411 of file VisCal.h.

References currMElem_, and casa::VisCal::currSpw().

Cube<Bool>& casa::VisMueller::currMElemOK ( ) [inline, protected]

Definition at line 412 of file VisCal.h.

References currMElemOK_, and casa::VisCal::currSpw().

Delete the this* caches.

Init VisMueller pointers, etc.

virtual void casa::VisMueller::invalidateCalMat ( ) [inline, protected, virtual]

Invalidate cal matrices generically (at this level, just Mueller)

Implements casa::VisCal.

Reimplemented in casa::VisJones.

Definition at line 415 of file VisCal.h.

References invalidateM().

void casa::VisMueller::invalidateM ( ) [inline, protected]

Validation of Mueller matrices (for currSpw)

Definition at line 418 of file VisCal.h.

References casa::VisCal::currSpw(), casa::False, and MValid_.

Referenced by invalidateCalMat(), casa::VisJones::invalidateCalMat(), and casa::SolvableVisMueller::invalidateDiffCalMat().

virtual void casa::VisMueller::invMueller ( ) [protected, virtual]

Invert Mueller matrices.

Mueller& casa::VisMueller::M ( ) [inline, protected]

Access to matrix renderings of Muellers.

Definition at line 408 of file VisCal.h.

References casa::VisCal::currSpw(), and M_.

Referenced by casa::MMueller::type(), and casa::MfMueller::type().

Return Matrix type.

Reimplemented from casa::VisCal.

Reimplemented in casa::VisJones.

Definition at line 381 of file VisCal.h.

References casa::VisCalEnum::MUELLER.

Mueller matrix type (must be implemented in Mueller specializations!)

Implemented in casa::VisJones, casa::MMueller, casa::XMueller, casa::ANoise, and casa::AMueller.

Referenced by casa::SolvableVisMueller::normalizable().

Bool casa::VisMueller::MValid ( ) [inline, protected]

Definition at line 420 of file VisCal.h.

References casa::VisCal::currSpw(), and MValid_.

virtual Int casa::VisMueller::nCalMat ( ) [inline, protected, virtual]

Number of Cal Matrices to form on baseline axis (Mueller, apply context: nBln())

Implements casa::VisCal.

Reimplemented in casa::SolvableVisJones, casa::SolvableVisMueller, and casa::VisJones.

Definition at line 396 of file VisCal.h.

References casa::VisCal::nBln().

virtual Int& casa::VisMueller::nElem ( ) [inline, protected, virtual]

Total number of parameter sets required.

Implements casa::VisCal.

Reimplemented in casa::VisJones.

Definition at line 392 of file VisCal.h.

References casa::VisCal::nBln().

virtual void casa::VisMueller::setMatByOk ( ) [protected, virtual]

Set matrix elements according to their ok flags (e.g., makes a unit matrix if everything flagged, so we don't have to make atomic ok checks in apply)

Reimplemented in casa::SolvableVisJones, casa::SolvableVisMueller, and casa::VisJones.

virtual void casa::VisMueller::state ( ) [virtual]

Report the state.

Reimplemented from casa::VisCal.

Reimplemented in casa::SolvableVisJones, casa::SolvableVisMueller, and casa::VisJones.

virtual void casa::VisMueller::syncCalMat ( const Bool doInv = False) [protected, virtual]

Sync matrices for current meta data (Mueller override)

Implements casa::VisCal.

Reimplemented in casa::VisJones, and casa::AMueller.

virtual void casa::VisMueller::syncMueller ( const Bool doInv = False) [protected, virtual]

Sync Mueller matrix elements for current parameters.

virtual void casa::VisMueller::syncWtScale ( ) [protected, virtual]

Synchronize weight scale factors.

Reimplemented in casa::VisJones, casa::BJones, casa::EVLASwPow, and casa::StandardTsys.

virtual Bool casa::VisMueller::trivialMuellerElem ( ) [protected, pure virtual]

Are the parameters the matrix elements? (or is a non-trivial calculation required?) (Must be implemented in specializations!)

Implemented in casa::VisJones, casa::MMueller, casa::XMueller, and casa::ANoise.

virtual void casa::VisMueller::updateWt ( Vector< Float > &  wt,
const Int a1,
const Int a2 
) [protected, virtual]

Update the wt vector for a baseline.

Reimplemented in casa::VisJones.

void casa::VisMueller::validateM ( ) [inline, protected]

Definition at line 419 of file VisCal.h.

References casa::VisCal::currSpw(), MValid_, and casa::True.


Member Data Documentation

Current Mueller matrix elements.

Definition at line 471 of file VisCal.h.

Referenced by currMElem().

Definition at line 472 of file VisCal.h.

Referenced by currMElemOK().

Mueller algebra wrapper (per Spw)

Definition at line 468 of file VisCal.h.

Referenced by M().

Mueller validity.

Definition at line 475 of file VisCal.h.

Referenced by invalidateM(), MValid(), and validateM().


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