28 #ifndef SYNTHESIS_XJONES_H
29 #define SYNTHESIS_XJONES_H
virtual casacore::Int nPar()
X has just 1 complex parameter, storing a phase.
virtual void solveOneVB(const VisBuffer &vb)
Solver for one VB, that collapses baselines and cross-hands first, then solves for XY-phase and QU...
virtual void solveOne(SDBList &sdbs)
virtual void selfGatherAndSolve(VisSet &vs, VisEquation &ve)
X gathers/solves for itself.
virtual void syncMeta2(const vi::VisBuffer2 &vb)
virtual Type type()
Return the type enum (this is its position in the ME)
virtual casacore::String longTypeName()
virtual casacore::Bool freqDepPar()
This is the freq-dep version of GlinXphJones (this is the ONLY fundamental difference from GlinXphJon...
virtual void globalPostSolveTinker()
Write QU info into table keywords.
virtual casacore::String typeName()
Return type name as string.
virtual casacore::Bool useGenericSolveOne()
Use generic solution engine for a single solve (usually inside the generic gathering mechanism) ...
virtual void solveOneVB(const VisBuffer &)
Solve in one VB for the position angle.
X-Y phase for ALMA – ORIGINAL ad hoc version as GJones specialization, but in Xf position.
virtual casacore::Bool divideByStokesIModelForSolve()
Should data and model be divided by Stokes I model before average+solve? (Nominally false...
virtual casacore::Int nPar()
PosAng has just 1 float parameter, storing an angle.
virtual void solveOneSDB(SolveDataBuffer &sdb)
virtual Jones::JonesType jonesType()
Type of Jones matrix according to nPar()
casacore::Record QURec_
Activity record.
virtual casacore::String longTypeName()
void initSolvePar()
Use nchan>=1 shaping (TBD: this should be generalized!)
void apply(const Jones &j1, VisVector &v, const Jones &j2)
Apply a pair of Jones to a VisVector:
virtual casacore::Bool trivialMuellerElem()
Jones matrix elements are trivial.
Freq-dep cross-hand phase.
virtual casacore::Bool useGenericGatherForSolve()
XparangJones specialization.
virtual casacore::Int nPar()
X has just 1 complex parameter, storing a phase.
virtual casacore::Bool normalizable()
Overide model division stuff...
virtual void solveOneVB(const VisBuffer &vb)
Solver for one VB, that collapses baselines and cross-hands first, then solves for XY-phase and QU...
GlinXphfJones(VisSet &vs)
Constructor.
virtual casacore::Bool divideByStokesIModelForSolve()
...but we can divide by the I model!
XfJones(VisSet &vs)
Constructor.
virtual casacore::Bool normalizable()
Turn off normalization by model....
virtual casacore::Bool useGenericGatherForSolve()
X generically gathers, but solves for itself per solution.
virtual Type type()
Return the type enum.
virtual void selfSolveOne(VisBuffGroupAcc &vbga)
When genericall gathering, solve using first VB only in VBGA.
virtual casacore::Bool useGenericSolveOne()
Use generic solution engine for a single solve (usually inside the generic gathering mechanism) ...
X: position angle calibration (for circulars!) (rendered as a Mueller for now)
virtual void setApply()
Set the application parameters.
virtual void newselfSolve(VisSet &vs, VisEquation &ve)
virtual void solveOneSDB(SolveDataBuffer &)
virtual casacore::String longTypeName()
virtual void selfSolveOne(SDBList &sdbs)
Actually do the solve on ths SDBs.
virtual void syncMeta(const VisBuffer &vb)
Detect basis for this vb.
virtual casacore::String typeName()
Return type name as string.
Xf: position angle calibration (for circulars!) (channel-dependent)
virtual casacore::Bool useGenericGatherForSolve()
GlinXphJones specialization.
virtual casacore::String typeName()
Return type name as string.
SolveDataBuffer is a container for VisBuffer2 data and related residual and differentiation results r...
virtual casacore::String longTypeName()
Jones::JonesType jonestype_
We sense basis in setMeta, and this sets the matrix type.
virtual casacore::Bool useGenericSolveOne()
Use generic solution engine for a single solve (usually inside the generic gathering mechanism) ...
virtual casacore::String longTypeName()
virtual void newselfSolve(VisSet &vs, VisEquation &ve)
virtual casacore::String typeName()
Return type name as string.
virtual void calcAllJones()
Calculate the X matrix for all ants.
casacore::Matrix< casacore::Float > QU_
Derived QU_ info.
PosAngJones(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 casacore::String typeName()
Return type name as string Return type name as string.
virtual void solveOneVB(const VisBuffer &vb)
Solve in one VB for the position angle.
PosAng: Basis-agnostic position angle
virtual void calcAllMueller()
Calculate the X matrix for all ants.
virtual casacore::Bool freqDepPar()
NOT FreqDep.
virtual void solveOne(SDBList &sdbs)
virtual casacore::Int nPar()
X has just 1 complex parameter, storing a phase.
XfparangJones(VisSet &vs)
Constructor.
virtual casacore::Bool useGenericSolveOne()
Use generic solution engine for a single solve (usually inside the generic gathering mechanism) ...
virtual void calcOneJonesRPar(casacore::Vector< casacore::Complex > &mat, casacore::Vector< casacore::Bool > &mOk, const casacore::Vector< casacore::Float > &par, const casacore::Vector< casacore::Bool > &pOk)
Calculate a single PosAngJones matrix.
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
virtual casacore::Bool normalizable()
X is normalizable by the model.
virtual casacore::Bool freqDepPar()
This is the freq-dep version of X (this is the ONLY fundamental difference from X) ...
virtual casacore::Bool trivialJonesElem()
Jones matrix elements are NOT trivial.
virtual Type type()
Return the type enum.
virtual casacore::String longTypeName()
virtual void newselfSolve(VisSet &, VisEquation &)
A class to group separately averaged VisBuffers.
virtual casacore::String typeName()
Return type name as string Return type name as string.
virtual casacore::Bool normalizable()
PosAng is NOT normalizable by the model (per correlation)
virtual void selfSolveOne(SDBList &sdbs)
X: Cross-hand phase (generic)
virtual casacore::String typeName()
Return type name as string.
virtual void selfGatherAndSolve(VisSet &vs, VisEquation &ve)
X gathers/solves for itself.
virtual Type type()
Return the type enum.
virtual casacore::Bool useGenericGatherForSolve()
X gathers/solves for itself.
virtual void selfGatherAndSolve(VisSet &vs, VisEquation &ve)
X gathers/solves for itself.
virtual Jones::JonesType jonesType()
Type of Jones matrix (basis-sensitive)
virtual casacore::String typeName()
Return type name as string.
virtual void selfGatherAndSolve(VisSet &vs, VisEquation &ve)
X gathers/solves for itself.
virtual void solveOneVB(const VisBuffer &vb)
Solve in one VB for the position angle.
virtual void selfGatherAndSolve(VisSet &vs, VisEquation &ve)
Self- gather and/or solve prototypes (triggered by useGenericGatherForSolve=F or useGenericSolveOne=F...
XparangJones(VisSet &vs)
Constructor.
XMueller(VisSet &vs)
Constructor.
VisBuffer2s encapsulate one chunk of visibility data for processing.
Base class for all Casacore library errors.
const MSMetaInfoForCal & msmc() const
Access to the MSMetaInfoForCal (throws if none)
XJones(VisSet &vs)
Constructor.
casacore::Matrix< casacore::Float > QU_
Derived QU_ info.
virtual void solveOne(SDBList &sdbs)
virtual casacore::Record solveActionRec()
Override for returning Q,U info via Record.
virtual void globalPostSolveTinker()
Write QU info into table keywords.
String: the storage and methods of handling collections of characters.
virtual casacore::Bool freqDepPar()
This is the freq-dep version of XparangJones (this is the ONLY fundamental difference from XparangJon...
virtual casacore::Bool phandonly()
Though derived from GJones, this type actually uses the cross-hands.
virtual Mueller::MuellerType muellerType()
Type of Jones matrix according to nPar()
virtual casacore::String longTypeName()
VisBuffers encapsulate one chunk of visibility data for processing.
virtual void calcAllJones()
Calculate the PosAng matrix for all ants Don't use XJones::calcAllJones!!
virtual casacore::Bool useGenericGatherForSolve()
X generically gathers, but solves for itself per solution.
virtual void solveOne(SDBList &sdbs)
virtual Type type()
Return the type enum (position UPSTREAM of D, not downstream like G)
virtual void selfSolveOne(VisBuffGroupAcc &vbga)
Handle trivial vbga generated by generic gather-for-solve.
virtual casacore::Bool phandonly()
Requires cross-hands!
virtual casacore::Bool trivialJonesElem()
Jones matrix elements are trivial.
Cross-hand phase solved from data with parang coverage.
virtual casacore::Bool freqDepPar()
FreqDep.
virtual void setSolve()
Set the solving parameters.
virtual VisCalEnum::VCParType parType()
PosAng had casacore::Float parameter.
virtual void selfSolveOne(VisBuffGroupAcc &vbga)
When genericall gathering, solve using first VB only in VBGA.
GlinXphJones(VisSet &vs)
Constructor.
virtual casacore::Bool freqDepPar()
NOT FreqDep.
virtual void selfSolveOne(VisBuffGroupAcc &vbga)
Handle trivial vbga generated by generic gather-for-solve.
virtual Type type()
Return the type enum (position UPSTREAM of D, not downstream like G)
virtual casacore::String longTypeName()