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::FJones casa::FringeJones casa::GJones casa::JJones casa::LJJones casa::TJones casa::XJones casa::DJones casa::EGainCurve casa::EPJones casa::FJones casa::FringeJones casa::GJones casa::JJones casa::LJJones casa::TJones casa::XJones

List of all members.

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).
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 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.

Detailed Description

********************************************************** VisMueller

Definition at line 407 of file VisCal.h.


Constructor & Destructor Documentation

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.


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 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.


Member Data Documentation

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]

Mueller algebra wrapper (per Spw).

Definition at line 517 of file VisCal.h.

Referenced by M().

Vector<Bool> casa::VisMueller::MValid_ [private]

Mueller validity.

Definition at line 524 of file VisCal.h.

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


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1