28 #ifndef SYNTHESIS_AMUELLER_H
29 #define SYNTHESIS_AMUELLER_H
38 class VisBuffGroupAcc;
132 hurl(
"nPar()",
"nPar() called before being set.");
virtual casacore::Bool useGenericGatherForSolve()
The fitorder = 0 version (in M) skips casacore::LinearFitSVD by just averaging.
Additive noise In practice, this is not really solvable, but it is a SVM because we need access to ge...
virtual casacore::Bool useGenericSolveOne()
Only called if useGenericGatherForSolve() == true.
virtual void setSolveChannelization(VisSet &vs)
AMueller's caltables have polynomial orders where channels would normally go.
virtual Type type()
Return the type enum.
ANoiseCorruptor * acorruptor_p
virtual void corrupt(VisBuffer &vb)
Specialize corrupt to pre-zero model for corruption using VisMueller::corrupt;
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 override SolvableVisMueller::calcOneMueller.
casacore::Vector< casacore::Double > lofreq_p
Resized and set to impossible values in init().
virtual casacore::String typeName()
Return type name as string.
M: baseline-based (closure)
virtual casacore::Bool timeDepMat()
override VC default of timeDepMat=F for OTF simulatio:
virtual casacore::Int sizeUpSolve(VisSet &vs, casacore::Vector< casacore::Int > &nChunkPerSol)
Size up the solving arrays, etc.
virtual casacore::Bool freqDepPar()
Freq dependence.
virtual casacore::Int nPar()
M currently has just 2 complex parameters, i.e., both parallel hands.
virtual casacore::String typeName()
Return type name as string.
virtual void createCorruptor(const VisIter &vi, const casacore::Record &simpar, const casacore::Int nSim)
make a corruptor in a VC-specific way
virtual void setApply()
Set the application parameters.
virtual void syncCalMat(const casacore::Bool &doInv=false)
{ throw(casacore::AipsError("VisMueller::applyCal2 NYI!!!!!!!!!!!!!")); };
void syncCalMat(const casacore::Bool &doInv)
virtual void corrupt(VisBuffer& vb, casacore::Cube<casacore::Complex>& Mout);
virtual casacore::String longTypeName()
ANoise(VisSet &vs)
Constructor.
Type
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};.
virtual void setSolve(const casacore::Record &solvepar)
Parameters particular to this class: fitorder: Order of the polynomial fit.
AMueller(VisSet &vs)
Constructor.
virtual casacore::Bool freqDepMat()
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!)
casacore::Vector< casacore::Bool > spwApplied_p
looked at (including masked ones!)
casacore::Vector< casacore::uInt > totnumchan_p
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
virtual void applyCal(VisBuffer &vb, casacore::Cube< casacore::Complex > &Vout, casacore::Bool trial=false)
Apply this calibration to vb.
A class to group separately averaged VisBuffers.
void hurl(const casacore::String &origin, const casacore::String &msg)
Logs and throws msg as an exception from origin.
virtual Mueller::MuellerType muellerType()
Algebraic type of Mueller matrix (this is the key distinguishing characteristic)
casacore::Int nCorr_p
estimate.
virtual Origin origin() const =0
ABSTRACT METHODS //.
virtual void selfSolveOne(VisBuffGroupAcc &vbga)
Per-solution self-solving inside generic gather.
virtual casacore::Bool freqDepPar()
this is inherently freqdep:
virtual casacore::Bool trivialMuellerElem()
Jones matrix elements are trivial.
virtual Type type()
Return the type enum.
virtual void calcAllMueller()
Calculate an ensemble of Mueller matrices (all baselines, channels) overrriding VisCal::calcAllMuelle...
virtual Mueller::MuellerType muellerType()
Algebraic type of Mueller matrix (this is the key distinguishing characteristic)
VisBuffer2s encapsulate one chunk of visibility data for processing.
virtual casacore::Int nPar()
umm...
virtual casacore::Bool normalizable()
We do not normalize by the model, since we are estimating directly from the data (we should optimize ...
virtual casacore::String longTypeName()
const MSMetaInfoForCal & msmc() const
Access to the MSMetaInfoForCal (throws if none)
virtual casacore::Bool isSolvable()
Overide solvability.
String: the storage and methods of handling collections of characters.
VisBuffers encapsulate one chunk of visibility data for processing.
casacore::Int fitorder_p
Initialized to 0 in the initialization lists of the c'tors.
VisibilityIterator iterates through one or more writable MeasurementSets.
casacore::Vector< casacore::Double > hifreq_p
virtual void setSolve()
Set the solving parameters.
casacore::Bool & simOnTheFly()
RI todo implement calcOneJones like calcAllMueller calculate terms during apply, or up front during s...