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::AMueller Class Reference

#include <AMueller.h>

Inheritance diagram for casa::AMueller:
MMueller

Public Member Functions

 AMueller (VisSet &vs)
 Constructor. More...
 
 AMueller (casacore::String msname, casacore::Int MSnAnt, casacore::Int MSnSpw)
 
 AMueller (const MSMetaInfoForCal &msmc)
 
 AMueller (const casacore::Int &nAnt)
 
virtual ~AMueller ()
 
virtual Type type ()
 Return the type enum. More...
 
virtual casacore::String typeName ()
 Return type name as string. More...
 
virtual casacore::String longTypeName ()
 
virtual Mueller::MuellerType muellerType ()
 Algebraic type of Mueller matrix (this is the key distinguishing characteristic) More...
 
virtual void setSolve (const casacore::Record &solvepar)
 Parameters particular to this class: fitorder: Order of the polynomial fit. More...
 
virtual void setSolveChannelization (VisSet &vs)
 AMueller's caltables have polynomial orders where channels would normally go. More...
 
virtual casacore::Int sizeUpSolve (VisSet &vs, casacore::Vector< casacore::Int > &nChunkPerSol)
 Size up the solving arrays, etc. More...
 
virtual casacore::Bool useGenericGatherForSolve ()
 The fitorder = 0 version (in M) skips casacore::LinearFitSVD by just averaging. More...
 
virtual casacore::Bool useGenericSolveOne ()
 Only called if useGenericGatherForSolve() == true. More...
 
virtual void selfSolveOne (VisBuffGroupAcc &vbga)
 Per-solution self-solving inside generic gather. More...
 
virtual void storeNCT ()
 
virtual void setApply ()
 
virtual void setApply (const casacore::Record &applypar)
 
virtual void applyCal (VisBuffer &vb, casacore::Cube< casacore::Complex > &Vout, casacore::Bool trial=false)
 Apply this calibration to vb. More...
 
virtual void applyCal2 (vi::VisBuffer2 &vb, casacore::Cube< casacore::Complex > &Vout, casacore::Cube< casacore::Float > &Wout, casacore::Bool trial=false)
 VB2 version (for apply context only!) More...
 
virtual casacore::Bool freqDepPar ()
 Freq dependence. More...
 
virtual casacore::Bool freqDepMat ()
 
virtual casacore::Bool normalizable ()
 We do not normalize by the model, since we are estimating directly from the data (we should optimize here by avoiding the model I/O) More...
 
virtual void corrupt (VisBuffer &vb)
 
Specialize corrupt to pre-zero model for corruption

using VisMueller::corrupt; More...

 
void syncCalMat (const casacore::Bool &doInv)
 virtual void corrupt(VisBuffer& vb, casacore::Cube<casacore::Complex>& Mout); More...
 
- Public Member Functions inherited from MMueller
 MMueller (VisSet &vs)
 Constructor. More...
 
 MMueller (casacore::String msname, casacore::Int MSnAnt, casacore::Int MSnSpw)
 
 MMueller (const MSMetaInfoForCal &msmc)
 
 MMueller (const casacore::Int &nAnt)
 
virtual ~MMueller ()
 
virtual void selfGatherAndSolve (VisSet &vs, VisEquation &ve)
 M solves for itself (by copying averaged data) More...
 
virtual void newselfSolve (VisSet &vs, VisEquation &ve)
 
virtual void globalPostSolveTinker ()
 Local M version only supports normalization. More...
 
virtual void selfSolveOne (SDBList &sdbs)
 Modern solving. More...
 
virtual void createCorruptor (const VisIter &vi, const casacore::Record &simpar, const casacore::Int nSim)
 

Protected Member Functions

virtual casacore::Int nPar ()
 M currently has just 2 complex parameters, i.e., both parallel hands. More...
 
- Protected Member Functions inherited from MMueller
virtual casacore::Bool trivialMuellerElem ()
 Jones matrix elements are trivial. More...
 
virtual void solveOne (SDBList &sdbs)
 solve implementation More...
 

Private Member Functions

void init ()
 
void hurl (const casacore::String &origin, const casacore::String &msg)
 Logs and throws msg as an exception from origin. More...
 

Private Attributes

casacore::Int fitorder_p
 Initialized to 0 in the initialization lists of the c'tors. More...
 
casacore::Bool doSub_p
 
casacore::Int nCorr_p
 estimate. More...
 
casacore::Vector
< casacore::Double
lofreq_p
 Resized and set to impossible values in init(). More...
 
casacore::Vector
< casacore::Double
hifreq_p
 
casacore::Vector< casacore::uInttotnumchan_p
 
casacore::Vector< casacore::BoolspwApplied_p
 looked at (including masked ones!) More...
 

Detailed Description

Definition at line 40 of file AMueller.h.

Constructor & Destructor Documentation

casa::AMueller::AMueller ( VisSet vs)

Constructor.

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

Member Function Documentation

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

Apply this calibration to vb.

AMueller does NOT support trial and ignores it!

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

VB2 version (for apply context only!)

virtual void casa::AMueller::corrupt ( VisBuffer vb)
virtual

Specialize corrupt to pre-zero model for corruption

using VisMueller::corrupt;

virtual casacore::Bool casa::AMueller::freqDepMat ( )
inlinevirtual

Definition at line 105 of file AMueller.h.

References fitorder_p.

virtual casacore::Bool casa::AMueller::freqDepPar ( )
inlinevirtual

Freq dependence.

Definition at line 104 of file AMueller.h.

void casa::AMueller::hurl ( const casacore::String origin,
const casacore::String msg 
)
private

Logs and throws msg as an exception from origin.

Referenced by nPar().

void casa::AMueller::init ( )
private
virtual casacore::String casa::AMueller::longTypeName ( )
inlinevirtual

Reimplemented from MMueller.

Definition at line 56 of file AMueller.h.

virtual Mueller::MuellerType casa::AMueller::muellerType ( )
inlinevirtual

Algebraic type of Mueller matrix (this is the key distinguishing characteristic)

Reimplemented from MMueller.

Definition at line 60 of file AMueller.h.

References casa::Mueller::AddDiag2.

virtual casacore::Bool casa::AMueller::normalizable ( )
inlinevirtual

We do not normalize by the model, since we are estimating directly from the data (we should optimize here by avoiding the model I/O)

Definition at line 112 of file AMueller.h.

virtual casacore::Int casa::AMueller::nPar ( )
inlineprotectedvirtual

M currently has just 2 complex parameters, i.e., both parallel hands.

Reimplemented from MMueller.

Definition at line 130 of file AMueller.h.

References hurl(), and nCorr_p.

virtual void casa::AMueller::selfSolveOne ( VisBuffGroupAcc vbga)
virtual

Per-solution self-solving inside generic gather.

Flexible enough for fitorder != 0, but overkill otherwise.

virtual void casa::AMueller::setApply ( )
inlinevirtual

Definition at line 92 of file AMueller.h.

References casa::SolvableVisCal::setApply().

virtual void casa::AMueller::setApply ( const casacore::Record applypar)
virtual

Reimplemented from MMueller.

virtual void casa::AMueller::setSolve ( const casacore::Record solvepar)
virtual

Parameters particular to this class: fitorder: Order of the polynomial fit.

If 0, it is just an average.

virtual void casa::AMueller::setSolveChannelization ( VisSet vs)
virtual

AMueller's caltables have polynomial orders where channels would normally go.

setSolve() above sets the number of "channels", but SolvableVisCal::setSolveChannelization() would just reset it to 1 if it was not overrode here.

virtual casacore::Int casa::AMueller::sizeUpSolve ( VisSet vs,
casacore::Vector< casacore::Int > &  nChunkPerSol 
)
virtual

Size up the solving arrays, etc.

(supports combine)

virtual void casa::AMueller::storeNCT ( )
virtual
void casa::AMueller::syncCalMat ( const casacore::Bool doInv)
inline

virtual void corrupt(VisBuffer& vb, casacore::Cube<casacore::Complex>& Mout);

Set (repeatedly, unfortunately) whether or not subtraction is being done, and IF fitorder == 0, sync matrices for current meta data (VisMueller override). (Mueller matrices aren't used for fitorder != 0.)

Definition at line 122 of file AMueller.h.

References doSub_p, fitorder_p, and casa::VisMueller::syncCalMat().

virtual Type casa::AMueller::type ( )
inlinevirtual

Return the type enum.

Reimplemented from MMueller.

Definition at line 52 of file AMueller.h.

References casa::VisCal::A.

virtual casacore::String casa::AMueller::typeName ( )
inlinevirtual

Return type name as string.

Reimplemented from MMueller.

Definition at line 55 of file AMueller.h.

virtual casacore::Bool casa::AMueller::useGenericGatherForSolve ( )
inlinevirtual

The fitorder = 0 version (in M) skips casacore::LinearFitSVD by just averaging.

Reimplemented from MMueller.

Definition at line 78 of file AMueller.h.

References fitorder_p.

virtual casacore::Bool casa::AMueller::useGenericSolveOne ( )
inlinevirtual

Only called if useGenericGatherForSolve() == true.

If useGenericGatherForSolve() == true, then genericGatherAndSolve() will call AMueller's selfSolveOne(). Otherwise MMueller's selfGatherAndSolve() will do everything.

Reimplemented from MMueller.

Definition at line 84 of file AMueller.h.

Member Data Documentation

casacore::Bool casa::AMueller::doSub_p
private

Definition at line 145 of file AMueller.h.

Referenced by syncCalMat().

casacore::Int casa::AMueller::fitorder_p
private

Initialized to 0 in the initialization lists of the c'tors.

Definition at line 143 of file AMueller.h.

Referenced by freqDepMat(), syncCalMat(), and useGenericGatherForSolve().

casacore::Vector<casacore::Double> casa::AMueller::hifreq_p
private

Definition at line 151 of file AMueller.h.

casacore::Vector<casacore::Double> casa::AMueller::lofreq_p
private

Resized and set to impossible values in init().

Definition at line 150 of file AMueller.h.

casacore::Int casa::AMueller::nCorr_p
private

estimate.

Definition at line 147 of file AMueller.h.

Referenced by nPar().

casacore::Vector<casacore::Bool> casa::AMueller::spwApplied_p
private

looked at (including masked ones!)

Definition at line 154 of file AMueller.h.

casacore::Vector<casacore::uInt> casa::AMueller::totnumchan_p
private

Definition at line 152 of file AMueller.h.


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