casa
$Rev:20696$
|
#include <VisCal.h>
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 Int & | nElem () |
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) | |
Mueller & | M () |
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< Bool > | MValid_ |
Mueller validity. |
casa::VisMueller::VisMueller | ( | VisSet & | vs | ) |
Constructor.
casa::VisMueller::VisMueller | ( | const Int & | nAnt | ) |
virtual casa::VisMueller::~VisMueller | ( | ) | [virtual] |
casa::VisMueller::VisMueller | ( | ) | [private] |
Default ctor is private.
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().
void casa::VisMueller::deleteVisMueller | ( | ) | [private] |
Delete the this* caches.
void casa::VisMueller::initVisMueller | ( | ) | [private] |
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().
virtual VisCalEnum::MatrixType casa::VisMueller::matrixType | ( | ) | [inline, virtual] |
Return Matrix type.
Reimplemented from casa::VisCal.
Reimplemented in casa::VisJones.
Definition at line 381 of file VisCal.h.
References casa::VisCalEnum::MUELLER.
virtual Mueller::MuellerType casa::VisMueller::muellerType | ( | ) | [pure virtual] |
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.
PtrBlock<Cube<Complex>*> casa::VisMueller::currMElem_ [private] |
Current Mueller matrix elements.
Definition at line 471 of file VisCal.h.
Referenced by currMElem().
PtrBlock<Cube<Bool>*> casa::VisMueller::currMElemOK_ [private] |
Definition at line 472 of file VisCal.h.
Referenced by currMElemOK().
PtrBlock<Mueller*> casa::VisMueller::M_ [private] |
Vector<Bool> casa::VisMueller::MValid_ [private] |
Mueller validity.
Definition at line 475 of file VisCal.h.
Referenced by invalidateM(), MValid(), and validateM().