casa
$Rev:20696$
|
#include <VisCal.h>
Public Member Functions | |
VisJones (VisSet &vs) | |
Constructor. | |
VisJones (const Int &nAnt) | |
virtual | ~VisJones () |
virtual VisCalEnum::MatrixType | matrixType () |
Return Matrix type. | |
virtual Mueller::MuellerType | muellerType () |
What kind of Mueller matrices should we use? (A function of the jonesType and target data shape) | |
virtual Jones::JonesType | jonesType ()=0 |
What kind of Jones matrix are we? (Must be implemented in specializations!) | |
virtual void | state () |
Report the state. | |
Protected Member Functions | |
virtual Int & | nElem () |
Number of parameter sets is number of antennas. | |
virtual Int | nCalMat () |
Number of Cal Matrices to form on antenna axis (Jones, apply context: nAnt()) | |
virtual Bool | trivialMuellerElem () |
Jones matrices can never be trivial Muellers! | |
virtual Bool | trivialJonesElem ()=0 |
Are the parameters the Jones matrix elements? (or is a non-trivial calculation required?) (Must be implemented in specializations!) | |
virtual Bool | applyByMueller () |
Are we applying via Mueller or Jones multiplication? (probably by Jones for native Jones?) | |
virtual Bool | applyByJones () |
Jones & | J1 () |
Access to matrix renderings of Jones matrices. | |
Jones & | J2 () |
Cube< Complex > & | currJElem () |
Access to Jones matrix element array. | |
Cube< Bool > & | currJElemOK () |
virtual void | invalidateCalMat () |
Invalidate cal matrices generically (at this level, both Mueller and Jones) | |
void | invalidateJ () |
Validation of Jones matrices. | |
void | validateJ () |
Bool | JValid () |
virtual void | applyCal (VisBuffer &vb, Cube< Complex > &Vout, Bool trial=False) |
Row-by-row apply to a Cube<Complex> (applyByJones override) | |
virtual void | syncCalMat (const Bool &doInv=False) |
Sync matrices for current meta data (VisJones override) | |
virtual void | calcAllMueller () |
Calculate an ensemble of Mueller matrices (all baselines, channels) (only meaningful if applyByMueller()=T) | |
virtual void | syncJones (const Bool &doInv=False) |
Synchronize current Jones matrices. | |
virtual void | calcAllJones () |
Calculate an ensemble of Jones matrices (all antennas, channels) | |
virtual void | calcOneJones (Vector< Complex > &mat, Vector< Bool > &mOk, const Vector< Complex > &par, const Vector< Bool > &pOk) |
Calculate a single Jones matrix by some means from parameters. | |
virtual void | invJones () |
Invert Jones 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 | createJones () |
Create Jones 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 | |
VisJones () | |
Default ctor is private. | |
void | initVisJones () |
Init VisJones pointers. | |
void | deleteVisJones () |
Delete the this* caches. | |
Private Attributes | |
PtrBlock< Jones * > | J1_ |
Jones algebra wrapper (per Spw) | |
PtrBlock< Jones * > | J2_ |
PtrBlock< Cube< Complex > * > | currJElem_ |
Current Jones matrix-element arrays. | |
PtrBlock< Cube< Bool > * > | currJElemOK_ |
Vector< Bool > | JValid_ |
Jones validity, per spw. | |
Friends | |
class | SolvableVisJones |
casa::VisJones::VisJones | ( | VisSet & | vs | ) |
Constructor.
casa::VisJones::VisJones | ( | const Int & | nAnt | ) |
virtual casa::VisJones::~VisJones | ( | ) | [virtual] |
casa::VisJones::VisJones | ( | ) | [private] |
Default ctor is private.
virtual Bool casa::VisJones::applyByJones | ( | ) | [inline, protected, virtual] |
Definition at line 531 of file VisCal.h.
References casa::True.
virtual Bool casa::VisJones::applyByMueller | ( | ) | [inline, protected, virtual] |
Are we applying via Mueller or Jones multiplication? (probably by Jones for native Jones?)
Reimplemented from casa::VisMueller.
Definition at line 530 of file VisCal.h.
References casa::False.
virtual void casa::VisJones::applyCal | ( | VisBuffer & | vb, |
Cube< Complex > & | Vout, | ||
Bool | trial = False |
||
) | [protected, virtual] |
Row-by-row apply to a Cube<Complex> (applyByJones override)
Reimplemented from casa::VisMueller.
Reimplemented in casa::EVLASwPow.
virtual void casa::VisJones::calcAllJones | ( | ) | [protected, virtual] |
Calculate an ensemble of Jones matrices (all antennas, channels)
Reimplemented in casa::TOpac, casa::XJones, casa::KAntPosJones, casa::EVLASwPow, casa::EGainCurve, casa::StandardTsys, and casa::KJones.
virtual void casa::VisJones::calcAllMueller | ( | ) | [protected, virtual] |
Calculate an ensemble of Mueller matrices (all baselines, channels) (only meaningful if applyByMueller()=T)
Reimplemented from casa::VisMueller.
virtual void casa::VisJones::calcOneJones | ( | Vector< Complex > & | mat, |
Vector< Bool > & | mOk, | ||
const Vector< Complex > & | par, | ||
const Vector< Bool > & | pOk | ||
) | [protected, virtual] |
Calculate a single Jones matrix by some means from parameters.
Reimplemented in casa::DJones, and casa::PJones.
void casa::VisJones::createJones | ( | ) | [protected] |
Create Jones interface.
Cube<Complex>& casa::VisJones::currJElem | ( | ) | [inline, protected] |
Access to Jones matrix element array.
Definition at line 538 of file VisCal.h.
References currJElem_, and casa::VisCal::currSpw().
Cube<Bool>& casa::VisJones::currJElemOK | ( | ) | [inline, protected] |
Definition at line 539 of file VisCal.h.
References currJElemOK_, and casa::VisCal::currSpw().
void casa::VisJones::deleteVisJones | ( | ) | [private] |
Delete the this* caches.
void casa::VisJones::initVisJones | ( | ) | [private] |
Init VisJones pointers.
virtual void casa::VisJones::invalidateCalMat | ( | ) | [inline, protected, virtual] |
Invalidate cal matrices generically (at this level, both Mueller and Jones)
Reimplemented from casa::VisMueller.
Definition at line 542 of file VisCal.h.
References invalidateJ(), and casa::VisMueller::invalidateM().
void casa::VisJones::invalidateJ | ( | ) | [inline, protected] |
Validation of Jones matrices.
Definition at line 545 of file VisCal.h.
References casa::VisCal::currSpw(), casa::False, and JValid_.
Referenced by invalidateCalMat(), and casa::SolvableVisJones::invalidateDiffCalMat().
virtual void casa::VisJones::invJones | ( | ) | [protected, virtual] |
Invert Jones matrices.
Jones& casa::VisJones::J1 | ( | ) | [inline, protected] |
Access to matrix renderings of Jones matrices.
Definition at line 534 of file VisCal.h.
References casa::VisCal::currSpw(), and J1_.
Jones& casa::VisJones::J2 | ( | ) | [inline, protected] |
Definition at line 535 of file VisCal.h.
References casa::VisCal::currSpw(), and J2_.
virtual Jones::JonesType casa::VisJones::jonesType | ( | ) | [pure virtual] |
What kind of Jones matrix are we? (Must be implemented in specializations!)
Implemented in casa::TOpac, casa::JJones, casa::XJones, casa::GJones, casa::DllsJones, casa::KAntPosJones, casa::DlinJones, casa::TJones, casa::GJonesSpline, casa::BJonesPoly, casa::LJJones, casa::EPJones, casa::DJones, casa::KJones, casa::PJones, and casa::EGainCurve.
Referenced by casa::SolvableVisJones::normalizable().
Bool casa::VisJones::JValid | ( | ) | [inline, protected] |
Definition at line 547 of file VisCal.h.
References casa::VisCal::currSpw(), and JValid_.
virtual VisCalEnum::MatrixType casa::VisJones::matrixType | ( | ) | [inline, virtual] |
Return Matrix type.
Reimplemented from casa::VisMueller.
Definition at line 498 of file VisCal.h.
References casa::VisCalEnum::JONES.
virtual Mueller::MuellerType casa::VisJones::muellerType | ( | ) | [virtual] |
What kind of Mueller matrices should we use? (A function of the jonesType and target data shape)
Implements casa::VisMueller.
virtual Int casa::VisJones::nCalMat | ( | ) | [inline, protected, virtual] |
Number of Cal Matrices to form on antenna axis (Jones, apply context: nAnt())
Reimplemented from casa::VisMueller.
Reimplemented in casa::SolvableVisJones.
Definition at line 518 of file VisCal.h.
References casa::VisCal::nAnt().
virtual Int& casa::VisJones::nElem | ( | ) | [inline, protected, virtual] |
Number of parameter sets is number of antennas.
Reimplemented from casa::VisMueller.
Definition at line 514 of file VisCal.h.
References casa::VisCal::nAnt().
virtual void casa::VisJones::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 from casa::VisMueller.
Reimplemented in casa::SolvableVisJones.
virtual void casa::VisJones::state | ( | ) | [virtual] |
virtual void casa::VisJones::syncCalMat | ( | const Bool & | doInv = False | ) | [protected, virtual] |
Sync matrices for current meta data (VisJones override)
Reimplemented from casa::VisMueller.
virtual void casa::VisJones::syncJones | ( | const Bool & | doInv = False | ) | [protected, virtual] |
Synchronize current Jones matrices.
Reimplemented in casa::StandardTsys, and casa::PJones.
virtual void casa::VisJones::syncWtScale | ( | ) | [protected, virtual] |
Synchronize weight scale factors.
Reimplemented from casa::VisMueller.
Reimplemented in casa::BJones, casa::EVLASwPow, and casa::StandardTsys.
virtual Bool casa::VisJones::trivialJonesElem | ( | ) | [protected, pure virtual] |
Are the parameters the Jones matrix elements? (or is a non-trivial calculation required?) (Must be implemented in specializations!)
Implemented in casa::TOpac, casa::XJones, casa::JJones, casa::GJones, casa::KAntPosJones, casa::LJJones, casa::EPJones, casa::TJones, casa::DJones, casa::KJones, casa::EVLASwPow, casa::EGainCurve, casa::StandardTsys, and casa::PJones.
virtual Bool casa::VisJones::trivialMuellerElem | ( | ) | [inline, protected, virtual] |
Jones matrices can never be trivial Muellers!
Implements casa::VisMueller.
Definition at line 521 of file VisCal.h.
References casa::False.
virtual void casa::VisJones::updateWt | ( | Vector< Float > & | wt, |
const Int & | a1, | ||
const Int & | a2 | ||
) | [protected, virtual] |
Update the wt vector for a baseline.
Reimplemented from casa::VisMueller.
void casa::VisJones::validateJ | ( | ) | [inline, protected] |
Definition at line 546 of file VisCal.h.
References casa::VisCal::currSpw(), JValid_, and casa::True.
friend class SolvableVisJones [friend] |
Reimplemented from casa::VisCal.
PtrBlock<Cube<Complex>*> casa::VisJones::currJElem_ [private] |
Current Jones matrix-element arrays.
Definition at line 602 of file VisCal.h.
Referenced by currJElem().
PtrBlock<Cube<Bool>*> casa::VisJones::currJElemOK_ [private] |
Definition at line 603 of file VisCal.h.
Referenced by currJElemOK().
PtrBlock<Jones*> casa::VisJones::J1_ [private] |
PtrBlock<Jones*> casa::VisJones::J2_ [private] |
Vector<Bool> casa::VisJones::JValid_ [private] |
Jones validity, per spw.
Definition at line 606 of file VisCal.h.
Referenced by invalidateJ(), JValid(), and validateJ().