casa
5.7.0-16
|
#include <VisCal.h>
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::Int & | nChanPar () 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::Double & | interval () |
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::Bool & | calWt () |
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::String & | extraTag () |
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::Int & | nElem () |
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... | |
Mueller & | M () |
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::String & | msName () |
casacore::Int & | nSpw () |
General Shape Info. More... | |
casacore::Int & | nAnt () |
casacore::Int & | nBln () |
casacore::Int & | currSpw () |
Current in-focus spw. More... | |
casacore::Double & | lastTime () |
Current coords. More... | |
casacore::Double & | currTime () |
casacore::Int & | currScan () |
casacore::Int & | currObs () |
casacore::Int & | currField () |
casacore::Int & | currIntent () |
casacore::Vector < casacore::Double > & | currFreq () |
casacore::Double & | refTime () |
casacore::Double & | refFreq () |
casacore::Int & | nChanPar () |
Current spectral shapes. More... | |
casacore::Int & | nChanMat () |
casacore::Int & | startChan () |
casacore::Vector< casacore::Int > & | nChanParList () |
casacore::Vector< casacore::Int > & | nChanMatList () |
casacore::Vector< casacore::Int > & | startChanList () |
VisVector & | V () |
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::Int & | prtlev () |
Return print (cout) level. More... | |
void | setCurrField (const casacore::Int &ifld) |
set current field index vector to given field id More... | |
const MSMetaInfoForCal & | msmc () 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::Bool > | MValid_ |
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) |
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 |
|
private |
Default ctor is private.
|
inlineprotectedvirtual |
Are we applying via Mueller multiplication? (necessarily true for native Muellers)
Reimplemented in casa::VisJones.
|
protectedvirtual |
Row-by-row apply to a casacore::Cube<casacore::Complex> (applyByMueller override)
Implements casa::VisCal.
Reimplemented in casa::VisJones.
|
protectedvirtual |
Implements casa::VisCal.
Reimplemented in casa::VisJones.
|
protectedvirtual |
Calculate an ensemble of Mueller matrices (all baselines, channels)
Reimplemented in casa::VisJones, casa::XMueller, casa::ANoise, and casa::XMueller.
|
protectedvirtual |
Calculate a single Mueller matrix by some means.
Reimplemented in casa::ANoise.
|
protectedvirtual |
Perform weight scale calculation (specializable)
Reimplemented in casa::VisJones, casa::BJones, and casa::StandardTsys.
|
protected |
Create Mueller matrix algebra interface.
|
inlineprotected |
Access to current matrices.
Definition at line 477 of file VisCal.h.
References currMElem_, and casa::VisCal::currSpw().
|
inlineprotected |
Definition at line 478 of file VisCal.h.
References currMElemOK_, and casa::VisCal::currSpw().
|
private |
Delete the this* caches.
|
private |
Init VisMueller pointers, etc.
|
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().
|
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().
|
protectedvirtual |
Invert Mueller matrices.
|
inlineprotected |
Access to matrix renderings of Muellers.
Definition at line 474 of file VisCal.h.
References casa::VisCal::currSpw(), and M_.
|
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.
|
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().
|
inlineprotected |
Definition at line 486 of file VisCal.h.
References casa::VisCal::currSpw(), and MValid_.
|
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().
|
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().
|
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 |
Report the state.
Reimplemented from casa::VisCal.
Reimplemented in casa::SolvableVisJones, casa::SolvableVisMueller, and casa::VisJones.
|
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().
|
protectedvirtual |
Sync Mueller matrix elements for current parameters.
|
protectedvirtual |
Synchronize weight scale factors.
Reimplemented in casa::VisJones, casa::StandardTsys, casa::EVLASwPow, and casa::SDDoubleCircleGainCal.
|
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.
|
protectedvirtual |
Update the wt vector for a baseline.
Reimplemented in casa::VisJones.
|
inlineprotected |
Definition at line 485 of file VisCal.h.
References casa::VisCal::currSpw(), and MValid_.
|
private |
Current Mueller matrix elements.
Definition at line 544 of file VisCal.h.
Referenced by currMElem().
|
private |
Definition at line 545 of file VisCal.h.
Referenced by currMElemOK().
|
private |
|
private |
Mueller validity.
Definition at line 548 of file VisCal.h.
Referenced by invalidateM(), MValid(), and validateM().