casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
casa::VisMueller Class Referenceabstract


VisMueller More...

#include <VisCal.h>

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

Public Member Functions

 VisMueller (VisSet &vs)
 Constructor. More...
 
 VisMueller (casacore::String msname, casacore::Int MSnAnt, casacore::Int MSnSpw)
 
 VisMueller (const MSMetaInfoForCal &msmc)
 
 VisMueller (const casacore::Int &nAnt)
 
virtual ~VisMueller ()
 
virtual VisCalEnum::MatrixType matrixType ()
 Return casacore::Matrix type. More...
 
virtual Mueller::MuellerType muellerType ()=0
 Mueller matrix type (must be implemented in Mueller specializations!) More...
 
virtual void state ()
 Report the state. More...
 
- Public Member Functions inherited from casa::VisCal
 VisCal (VisSet &vs)
 
 VisCal (casacore::String msname, casacore::Int MSnAnt, casacore::Int MSnSpw)
 
 VisCal (const MSMetaInfoForCal &msmc)
 
 VisCal (const casacore::Int &nAnt)
 
virtual ~VisCal ()
 
virtual Type type ()=0
 Return the type of this calibration matrix (actual type of derived class). More...
 
virtual casacore::String typeName ()
 Return type name as string. More...
 
virtual casacore::String longTypeName ()
 
virtual VisCalEnum::VCParType parType ()
 Return the parameter type (nominally complex) More...
 
virtual casacore::Int nPar ()=0
 Number of pars per ant/bln (Must be implemented in specializations!) More...
 
virtual casacore::Vector
< casacore::Bool
spwOK ()
 Report calibration availability per spw (always true for non-tabular?) More...
 
virtual casacore::Bool spwOK (casacore::Int)
 
virtual casacore::Bool calAvailable (vi::VisBuffer2 &)
 Calibration available? (always true for non-tabular) More...
 
virtual casacore::Bool VBOKforCalApply (vi::VisBuffer2 &)
 Calibration expected AND available? (always assume true for non-tabular) More...
 
virtual casacore::Bool freqDepPar ()
 Frequency-dependent Parameters? Nominally not. More...
 
const casacore::IntnChanPar () const
 Number of par channels in current spw. More...
 
virtual casacore::Bool freqDepMat ()
 Frequency-dependent Matrices? Nominally same as freqDepPar. More...
 
virtual casacore::Bool freqDepCalWt ()
 Freq-dep Weight scaling? // almost always false. More...
 
virtual casacore::Bool timeDepMat ()
 Matrices time-dependent per parameter set (nominally no) More...
 
casacore::Bool isApplied ()
 Is this calibration matrix to be applied? More...
 
virtual casacore::Bool isSolvable ()
 Is this solveable? (never via this interface) More...
 
virtual casacore::Doubleinterval ()
 Return the time interval over which this calibration is constant. More...
 
virtual void setApply ()
 Set the application parameters. More...
 
virtual void setApply (const casacore::Record &apply)
 
virtual void setCallib (const casacore::Record &callib, const casacore::MeasurementSet &selms)
 
virtual casacore::String applyinfo ()
 Apply info/params, suitable for logging. More...
 
virtual casacore::String siminfo ()
 simulation params - for a VC, sim is apply; for a SVC this will get overriden More...
 
casacore::BoolcalWt ()
 Trigger calibration of weights. More...
 
virtual void correct (VisBuffer &vb, casacore::Bool trial=false)
 Apply calibration to data in VisBuffer (correct casacore::Data or corrupt Model) (in-place versions) More...
 
virtual void correct2 (vi::VisBuffer2 &vb, casacore::Bool trial=false, casacore::Bool doWtSp=false, casacore::Bool dosync=true)
 
virtual void corrupt (VisBuffer &vb)
 
virtual void corrupt2 (vi::VisBuffer2 &vb)
 
virtual void correct (VisBuffer &vb, casacore::Cube< casacore::Complex > &Vout, casacore::Bool trial=false)
 Apply calibration to data in VisBuffer; (alternate output versions) More...
 
virtual void corrupt (VisBuffer &vb, casacore::Cube< casacore::Complex > &Mout)
 
virtual void corrupt2 (vi::VisBuffer2 &vb, casacore::Cube< casacore::Complex > &Mout)
 
virtual void initCalFlagCount ()
 Flag counting. More...
 
virtual casacore::Record actionRec ()
 
virtual void currMetaNote ()
 
void setPrtlev (const casacore::Int &prtlev)
 Set the print level. More...
 
casacore::Int blnidx (const casacore::Int &a1, const casacore::Int &a2)
 Baseline index from antenna indices: (assumes a1<=a2 !!) More...
 
casacore::StringextraTag ()
 
virtual void setMeta (int obs, int scan, double time, int spw, const casacore::Vector< double > &freq, int fld)
 VI2-related refactor-----------------------------------—. More...
 
virtual void sizeApplyParCurrSpw (int nVisChan)
 Reshape solvePar* arrays for the currSpw() (sensitive to freqDepPar()) More...
 
virtual void setDefApplyParCurrSpw (bool sync=false, bool doInv=false)
 Set parameters to def values in the currSpw(), and optionally sync everything. More...
 
virtual void setApplyParCurrSpw (const casacore::Cube< casacore::Complex > cpar, bool sync=false, bool doInv=false)
 Set parameters to specified values in the currSpw(), and optionally sync matrices. More...
 
virtual void setApplyParCurrSpw (const casacore::Cube< float > rpar, bool sync=false, bool doInv=false)
 
virtual casacore::Cube
< casacore::Complex > & 
currCPar ()
 Access (public) to current solution parameters and matrices. More...
 
virtual casacore::Cube
< casacore::Float > & 
currRPar ()
 
virtual casacore::Cube
< casacore::Bool > & 
currParOK ()
 

Protected Member Functions

virtual casacore::IntnElem ()
 Total number of parameter sets required. More...
 
virtual casacore::Int nCalMat ()
 Number of Cal Matrices to form on baseline axis (Mueller, apply context: nBln()) More...
 
virtual casacore::Bool trivialMuellerElem ()=0
 Are the parameters the matrix elements? (or is a non-trivial calculation required?) (Must be implemented in specializations!) More...
 
virtual casacore::Bool applyByMueller ()
 Are we applying via Mueller multiplication? (necessarily true for native Muellers) More...
 
MuellerM ()
 Access to matrix renderings of Muellers. More...
 
casacore::Cube
< casacore::Complex > & 
currMElem ()
 Access to current matrices. More...
 
casacore::Cube< casacore::Bool > & currMElemOK ()
 
virtual void invalidateCalMat ()
 Invalidate cal matrices generically (at this level, just Mueller) More...
 
void invalidateM ()
 Validation of Mueller matrices (for currSpw) More...
 
void validateM ()
 
casacore::Bool MValid ()
 
virtual void applyCal (VisBuffer &vb, casacore::Cube< casacore::Complex > &Vout, casacore::Bool trial=false)
 Row-by-row apply to a casacore::Cube<casacore::Complex> (applyByMueller override) More...
 
virtual void applyCal2 (vi::VisBuffer2 &vb, casacore::Cube< casacore::Complex > &Vout, casacore::Cube< casacore::Float > &Wout, casacore::Bool trial=false)
 
virtual void syncCalMat (const casacore::Bool &doInv=false)
 { throw(casacore::AipsError("VisMueller::applyCal2 NYI!!!!!!!!!!!!!")); }; More...
 
virtual void syncMueller (const casacore::Bool &doInv=false)
 Sync Mueller matrix elements for current parameters. More...
 
virtual void calcAllMueller ()
 Calculate an ensemble of Mueller matrices (all baselines, channels) More...
 
virtual void calcOneMueller (casacore::Vector< casacore::Complex > &mat, casacore::Vector< casacore::Bool > &mOk, const casacore::Vector< casacore::Complex > &par, const casacore::Vector< casacore::Bool > &pOk)
 Calculate a single Mueller matrix by some means. More...
 
virtual void invMueller ()
 Invert Mueller matrices. More...
 
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) More...
 
void createMueller ()
 Create Mueller matrix algebra interface. More...
 
virtual void syncWtScale ()
 Synchronize weight scale factors. More...
 
virtual void calcWtScale ()
 Perform weight scale calculation (specializable) More...
 
virtual void updateWt (casacore::Vector< casacore::Float > &wt, const casacore::Int &a1, const casacore::Int &a2)
 Update the wt vector for a baseline. More...
 
- Protected Member Functions inherited from casa::VisCal
void setApplied (const casacore::Bool &flag)
 Set applied state flag. More...
 
casacore::StringmsName ()
 
casacore::IntnSpw ()
 General Shape Info. More...
 
casacore::IntnAnt ()
 
casacore::IntnBln ()
 
casacore::IntcurrSpw ()
 Current in-focus spw. More...
 
casacore::DoublelastTime ()
 Current coords. More...
 
casacore::DoublecurrTime ()
 
casacore::IntcurrScan ()
 
casacore::IntcurrObs ()
 
casacore::IntcurrField ()
 
casacore::IntcurrIntent ()
 
casacore::Vector
< casacore::Double > & 
currFreq ()
 
casacore::DoublerefTime ()
 
casacore::DoublerefFreq ()
 
casacore::IntnChanPar ()
 Current spectral shapes. More...
 
casacore::IntnChanMat ()
 
casacore::IntstartChan ()
 
casacore::Vector< casacore::Int > & nChanParList ()
 
casacore::Vector< casacore::Int > & nChanMatList ()
 
casacore::Vector< casacore::Int > & startChanList ()
 
VisVectorV ()
 Access to matrix renderings of Visibilities. More...
 
void invalidateP ()
 Validation of calibration parameters. More...
 
void validateP ()
 
casacore::Bool PValid ()
 
casacore::Cube< casacore::Float > & currWtScale ()
 Access to weight-scaling factors. More...
 
virtual void countInFlag (const VisBuffer &vb)
 Flag counting. More...
 
virtual void countInFlag2 (const vi::VisBuffer2 &vb)
 
virtual void countOutFlag (const VisBuffer &vb)
 
virtual void countOutFlag2 (const vi::VisBuffer2 &vb)
 
virtual void syncCal (const VisBuffer &vb, const casacore::Bool &doInv=false)
 Synchronize "gains" with a VisBuffer or another VisCal. More...
 
virtual void syncCal2 (const vi::VisBuffer2 &vb, const casacore::Bool &doInv=false)
 
virtual void syncCal (VisCal &vc)
 
virtual void syncMeta (const VisBuffer &vb)
 Set internal meta data from a VisBuffer or another VisCal. More...
 
virtual void syncMeta2 (const vi::VisBuffer2 &vb)
 
void syncMeta (VisCal &vc)
 
void syncMeta (const casacore::Int &spw, const casacore::Double &time, const casacore::Int &field, const casacore::Vector< casacore::Double > &freq, const casacore::Int &nchan)
 
void setCalChannelization (const casacore::Int &nChanDat)
 Set the calibration matrix channelization. More...
 
void checkCurrCal ()
 Test for need of new calibration. More...
 
virtual void syncCal (const casacore::Bool &doInv=false)
 Synchronize "gains" with current meta-data. More...
 
virtual void syncPar ()
 Sync parameters for current meta data. More...
 
virtual void calcPar ()
 Calculate Mueller parameters by some means. More...
 
casacore::Intprtlev ()
 Return print (cout) level. More...
 
void setCurrField (const casacore::Int &ifld)
 set current field index vector to given field id More...
 
const MSMetaInfoForCalmsmc () const
 Access to the MSMetaInfoForCal (throws if none) More...
 

Private Member Functions

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

Private Attributes

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

Additional Inherited Members

- Public Types inherited from casa::VisCal
enum  Type {
  Test,
  ANoise,
  M,
  KAntPos,
  B,
  K,
  G,
  J,
  D,
  X,
  C,
  P,
  E,
  T,
  F,
  A,
  ALL
}
 Allowed types of VisCal matrices - 'correct' order enum Type{UVMOD,Mf,M,K,B,G,D,C,E,P,T,EP,F}; enum Type{Test=0,ANoise,M,KAntPos,K,B,G,J,D,X,C,P,E,T,F,A,ALL};. More...
 
enum  ParType {
  Co,
  Re,
  CoRe
}
 Enumeration of parameter types (casacore::Complex, Real, or Both) More...
 
- Static Public Member Functions inherited from casa::VisCal
static casacore::String nameOfType (Type type)
 

Detailed Description


VisMueller

Definition at line 431 of file VisCal.h.

Constructor & Destructor Documentation

casa::VisMueller::VisMueller ( VisSet vs)

Constructor.

casa::VisMueller::VisMueller ( casacore::String  msname,
casacore::Int  MSnAnt,
casacore::Int  MSnSpw 
)
casa::VisMueller::VisMueller ( const MSMetaInfoForCal msmc)
casa::VisMueller::VisMueller ( const casacore::Int nAnt)
virtual casa::VisMueller::~VisMueller ( )
virtual
casa::VisMueller::VisMueller ( )
private

Default ctor is private.

Member Function Documentation

virtual casacore::Bool casa::VisMueller::applyByMueller ( )
inlineprotectedvirtual

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

Reimplemented in casa::VisJones.

Definition at line 471 of file VisCal.h.

virtual void casa::VisMueller::applyCal ( VisBuffer vb,
casacore::Cube< casacore::Complex > &  Vout,
casacore::Bool  trial = false 
)
protectedvirtual

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

Implements casa::VisCal.

Reimplemented in casa::VisJones.

virtual void casa::VisMueller::applyCal2 ( vi::VisBuffer2 vb,
casacore::Cube< casacore::Complex > &  Vout,
casacore::Cube< casacore::Float > &  Wout,
casacore::Bool  trial = false 
)
protectedvirtual

Implements casa::VisCal.

Reimplemented in casa::VisJones.

virtual void casa::VisMueller::calcAllMueller ( )
protectedvirtual

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

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

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

Calculate a single Mueller matrix by some means.

Reimplemented in casa::ANoise.

virtual void casa::VisMueller::calcWtScale ( )
protectedvirtual

Perform weight scale calculation (specializable)

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

void casa::VisMueller::createMueller ( )
protected

Create Mueller matrix algebra interface.

casacore::Cube<casacore::Complex>& casa::VisMueller::currMElem ( )
inlineprotected

Access to current matrices.

Definition at line 477 of file VisCal.h.

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

casacore::Cube<casacore::Bool>& casa::VisMueller::currMElemOK ( )
inlineprotected

Definition at line 478 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 ( )
inlineprotectedvirtual

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

Implements casa::VisCal.

Reimplemented in casa::VisJones.

Definition at line 481 of file VisCal.h.

References invalidateM().

void casa::VisMueller::invalidateM ( )
inlineprotected

Validation of Mueller matrices (for currSpw)

Definition at line 484 of file VisCal.h.

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

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

virtual void casa::VisMueller::invMueller ( )
protectedvirtual

Invert Mueller matrices.

Mueller& casa::VisMueller::M ( )
inlineprotected

Access to matrix renderings of Muellers.

Definition at line 474 of file VisCal.h.

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

virtual VisCalEnum::MatrixType casa::VisMueller::matrixType ( )
inlinevirtual

Return casacore::Matrix type.

Reimplemented from casa::VisCal.

Reimplemented in casa::VisJones.

Definition at line 447 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::XMueller, casa::ANoise, and casa::XMueller.

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

casacore::Bool casa::VisMueller::MValid ( )
inlineprotected

Definition at line 486 of file VisCal.h.

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

virtual casacore::Int casa::VisMueller::nCalMat ( )
inlineprotectedvirtual

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 462 of file VisCal.h.

References casa::VisCal::nBln().

virtual casacore::Int& casa::VisMueller::nElem ( )
inlineprotectedvirtual

Total number of parameter sets required.

Implements casa::VisCal.

Reimplemented in casa::VisJones.

Definition at line 458 of file VisCal.h.

References casa::VisCal::nBln().

virtual void casa::VisMueller::setMatByOk ( )
protectedvirtual

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.

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

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 casacore::Bool doInv = false)
protectedvirtual

{ throw(casacore::AipsError("VisMueller::applyCal2 NYI!!!!!!!!!!!!!")); };

Sync matrices for current meta data (Mueller override)

Implements casa::VisCal.

Reimplemented in casa::VisJones.

Referenced by casa::AMueller::syncCalMat().

virtual void casa::VisMueller::syncMueller ( const casacore::Bool doInv = false)
protectedvirtual

Sync Mueller matrix elements for current parameters.

virtual void casa::VisMueller::syncWtScale ( )
protectedvirtual

Synchronize weight scale factors.

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

virtual casacore::Bool casa::VisMueller::trivialMuellerElem ( )
protectedpure virtual

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

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

virtual void casa::VisMueller::updateWt ( casacore::Vector< casacore::Float > &  wt,
const casacore::Int a1,
const casacore::Int a2 
)
protectedvirtual

Update the wt vector for a baseline.

Reimplemented in casa::VisJones.

void casa::VisMueller::validateM ( )
inlineprotected

Definition at line 485 of file VisCal.h.

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

Member Data Documentation

casacore::PtrBlock<casacore::Cube<casacore::Complex>*> casa::VisMueller::currMElem_
private

Current Mueller matrix elements.

Definition at line 544 of file VisCal.h.

Referenced by currMElem().

casacore::PtrBlock<casacore::Cube<casacore::Bool>*> casa::VisMueller::currMElemOK_
private

Definition at line 545 of file VisCal.h.

Referenced by currMElemOK().

casacore::PtrBlock<Mueller*> casa::VisMueller::M_
private

Mueller algebra wrapper (per Spw)

Definition at line 541 of file VisCal.h.

Referenced by M().

casacore::Vector<casacore::Bool> casa::VisMueller::MValid_
private

Mueller validity.

Definition at line 548 of file VisCal.h.

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


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