********************************************************** VisMueller More...
#include <VisCal.h>
Public Member Functions | |
VisMueller (VisSet &vs) | |
Constructor. | |
VisMueller (String msname, Int MSnAnt, Int MSnSpw) | |
VisMueller (const MSMetaInfoForCal &msmc) | |
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 | applyCal2 (vi::VisBuffer2 &vb, Cube< Complex > &Vout, Cube< Float > &Wout, Bool trial=False) |
virtual void | syncCalMat (const Bool &doInv=False) |
{ throw(AipsError("VisMueller::applyCal2 NYI!!!!!!!!!!!!!")); }; | |
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 | calcWtScale () |
Perform weight scale calculation (specializable). | |
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. |
********************************************************** VisMueller
Definition at line 407 of file VisCal.h.
casa::VisMueller::VisMueller | ( | VisSet & | vs | ) |
Constructor.
casa::VisMueller::VisMueller | ( | String | msname, | |
Int | MSnAnt, | |||
Int | MSnSpw | |||
) |
casa::VisMueller::VisMueller | ( | const MSMetaInfoForCal & | msmc | ) |
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 447 of file VisCal.h.
References casacore::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::AMueller, and casa::VisJones.
virtual void casa::VisMueller::applyCal2 | ( | vi::VisBuffer2 & | vb, | |
Cube< Complex > & | Vout, | |||
Cube< Float > & | Wout, | |||
Bool | trial = False | |||
) | [protected, virtual] |
Implements casa::VisCal.
Reimplemented in casa::VisJones.
virtual void casa::VisMueller::calcAllMueller | ( | ) | [protected, virtual] |
Calculate an ensemble of Mueller matrices (all baselines, channels).
Reimplemented in casa::ANoise, casa::XMueller, and casa::VisJones.
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.
virtual void casa::VisMueller::calcWtScale | ( | ) | [protected, virtual] |
Perform weight scale calculation (specializable).
Reimplemented in casa::BJones, casa::TfOpac, casa::StandardTsys, and casa::VisJones.
void casa::VisMueller::createMueller | ( | ) | [protected] |
Create Mueller matrix algebra interface.
Cube<Complex>& casa::VisMueller::currMElem | ( | ) | [inline, protected] |
Access to current matrices.
Definition at line 453 of file VisCal.h.
References currMElem_, and casa::VisCal::currSpw().
Cube<Bool>& casa::VisMueller::currMElemOK | ( | ) | [inline, protected] |
Definition at line 454 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 457 of file VisCal.h.
References invalidateM().
void casa::VisMueller::invalidateM | ( | ) | [inline, protected] |
Validation of Mueller matrices (for currSpw).
Definition at line 460 of file VisCal.h.
References casa::VisCal::currSpw(), casacore::False, and MValid_.
Referenced by casa::VisJones::invalidateCalMat(), 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 450 of file VisCal.h.
References casa::VisCal::currSpw(), and M_.
virtual VisCalEnum::MatrixType casa::VisMueller::matrixType | ( | ) | [inline, virtual] |
Return Matrix type.
Reimplemented from casa::VisCal.
Reimplemented in casa::VisJones.
Definition at line 423 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::AMueller, casa::ANoise, casa::XMueller, casa::MMueller, and casa::VisJones.
Referenced by casa::SolvableVisMueller::normalizable().
Bool casa::VisMueller::MValid | ( | ) | [inline, protected] |
Definition at line 462 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::SolvableVisMueller, casa::SolvableVisJones, and casa::VisJones.
Definition at line 438 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 434 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::SolvableVisMueller, casa::SolvableVisJones, and casa::VisJones.
virtual void casa::VisMueller::state | ( | ) | [virtual] |
Report the state.
Reimplemented from casa::VisCal.
Reimplemented in casa::SolvableVisMueller, casa::SolvableVisJones, and casa::VisJones.
virtual void casa::VisMueller::syncCalMat | ( | const Bool & | doInv = False |
) | [protected, virtual] |
{ throw(AipsError("VisMueller::applyCal2 NYI!!!!!!!!!!!!!")); };
Sync matrices for current meta data (Mueller override)
Implements casa::VisCal.
Reimplemented in casa::AMueller, and casa::VisJones.
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::EVLASwPow, casa::StandardTsys, and casa::VisJones.
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::ANoise, casa::XMueller, casa::MMueller, and casa::VisJones.
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 461 of file VisCal.h.
References casa::VisCal::currSpw(), MValid_, and casacore::True.
PtrBlock<Cube<Complex>*> casa::VisMueller::currMElem_ [private] |
Current Mueller matrix elements.
Definition at line 520 of file VisCal.h.
Referenced by currMElem().
PtrBlock<Cube<Bool>*> casa::VisMueller::currMElemOK_ [private] |
Definition at line 521 of file VisCal.h.
Referenced by currMElemOK().
PtrBlock<Mueller*> casa::VisMueller::M_ [private] |
Vector<Bool> casa::VisMueller::MValid_ [private] |
Mueller validity.
Definition at line 524 of file VisCal.h.
Referenced by invalidateM(), MValid(), and validateM().