28 #ifndef SYNTHESIS_KJONES_H
29 #define SYNTHESIS_KJONES_H
365 #define MJD0 String("2016/08/09/00:00:00.0")
366 #define MJD1 String("2016/11/15/00:00:00.0")
virtual casacore::Bool useGenericGatherForSolve()
K now uses generic gather, but solves for itself per solution.
A Measure: astronomical direction.
virtual void solveOneVB(const VisBuffer &vb)
FFT solver for one VB.
virtual void specify(const casacore::Record &specify)
Type-specific specify.
A Measure: position on Earth.
virtual casacore::Bool timeDepMat()
Matrices time-dependent per parameter set (nominally no)
virtual void syncMeta(const VisBuffer &vb)
Detect phase direction and antpos for the current VB.
virtual VisCalEnum::VCParType parType()
We have casacore::Float parameters.
casacore::Vector< casacore::MDirection > azel_
virtual Type type()
Return the type enum.
virtual casacore::String longTypeName()
std::complex< Float > Complex
virtual casacore::String typeName()
Return type name as string.
void state()
Report some stateinfo.
casacore::MPosition antpos0_p
bool vlaTrDelCorrApplicable(bool checkCalTable=false)
utility methods/variables for Trop Delay Error correction
void addWithDupAndShift(const DelayFFT &other)
Accumulate another DelayFFT, with duplication (if nec) and shift.
void add(const DelayFFT &other)
Accumulate another DelayFFT.
virtual casacore::Bool useGenericSolveOne()
Use generic solution engine for a single solve (usually inside the generic gathering mechanism) ...
void apply(const Jones &j1, VisVector &v, const Jones &j2)
Apply a pair of Jones to a VisVector:
virtual Type type()
Return the type enum.
virtual casacore::Bool trivialJonesElem()
Jones matrix elements are trivial.
virtual void selfSolveOne(VisBuffGroupAcc &vbga)
Local implementation of selfSolveOne (generalized signature)
virtual void setCallib(const casacore::Record &callib, const casacore::MeasurementSet &selms)
virtual void calcAllJones()
Calculate phase(chan) from delay.
virtual void setApply()
Set the application parameters.
KAntPosJones(VisSet &vs)
Constructor.
KcrossJones(VisSet &vs)
Constructor.
void shift(casacore::Double f)
Apply shift theorem.
virtual casacore::Bool accumulatable()
This type is not yet accumulatable.
virtual void solveOneSDB(SolveDataBuffer &sdb)
casacore::MDirection phasedir_p
casacore::String epochref_p
casacore::Geometry info for internal calculations (updated per VB)
casacore::Matrix< casacore::Float > delay_
virtual void solveOneSDBmbd(SDBList &sdbs)
virtual void globalPostSolveTinker()
Override G here; nothing to do for K, for now.
virtual void setApply()
Set the application parameters.
virtual casacore::Bool smoothable()
This type is not smoothable.
virtual casacore::Int nPar()
K has two "real" parameters.
virtual casacore::String typeName()
Return type name as string.
virtual casacore::String typeName()
Return type name as string.
void state()
Report some stateinfo.
virtual void initTrivDJ()
Initialize trivial dJs.
virtual casacore::Complex defaultPar()
Default parameter value.
virtual Jones::JonesType jonesType()
This is a scalar Jones matrix.
casacore::Matrix< casacore::Bool > flag_
SolveDataBuffer is a container for VisBuffer2 data and related residual and differentiation results r...
virtual Type type()
Return the type enum.
casacore::Vector< double > armAz_
const casacore::Matrix< casacore::Float > & delay() const
Access to results.
casacore::Vector< double > losDist_
double calcTrDelError(int iant)
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 specify(const casacore::Record &specify)
Type-specific specify.
DelayFFT(casacore::Double f0, casacore::Double df, casacore::Double padBW, casacore::Cube< casacore::Complex > V, casacore::Cube< casacore::Float > wt=casacore::Cube< casacore::Float >())
Construct from freq info and data-like casacore::Cube<casacore::Complex> (for generic testing w/out c...
CrossDelayFFT(casacore::Double f0, casacore::Double df, casacore::Double padBW, casacore::Cube< casacore::Complex > V)
Construct from freq info and data-like casacore::Cube<casacore::Complex> (for generic testing w/out c...
virtual casacore::Bool freqDepPar()
Freq dependence (delays)
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
virtual casacore::String typeName()
Return type name as string.
virtual casacore::Bool freqDepMat()
Frequency-dependent Matrices? Nominally same as freqDepPar.
KMBD Jones provides support for multi-band delays.
KJones(VisSet &vs)
friend class KJonesTest;
virtual casacore::Bool trivialJonesElem()
Jones matrix elements are not trivial.
virtual casacore::String longTypeName()
A class to group separately averaged VisBuffers.
virtual casacore::Bool trivialDJ()
dG/dp are trivial
virtual void syncMeta2(const vi::VisBuffer2 &vb)
virtual void solveOneVBmbd(VisBuffGroupAcc &vbga)
FFT solver for multi-VB (MBD)
A Table intended to hold astronomical data (a set of Measurements).
virtual void setCallib(const casacore::Record &callib, const casacore::MeasurementSet &selms)
virtual void calcAllJones()
Calculate phase(chan) from delay.
virtual casacore::Bool phandonly()
By definition, we consider cross-hands.
VisBuffer2s encapsulate one chunk of visibility data for processing.
const MSMetaInfoForCal & msmc() const
Access to the MSMetaInfoForCal (throws if none)
void markCalTableForTrDelCorr()
const casacore::Cube< casacore::Complex > & Vpad() const
virtual void solveOneSDB(SolveDataBuffer &sdb)
virtual Jones::JonesType jonesType()
Type of Jones matrix according to nPar()
virtual void solveOneVB(const VisBuffer &vb)
FFT solver for on VB, that collapses baselines and cross-hands first.
casacore::Vector< T > solve(const casacore::Matrix< T > &A, const casacore::Vector< T > &y, double &ferr, double &berr)
Given a matrix "A", and given some vector "y" which is the right hand side of the equation "Ax=y"...
void searchPeak()
Find peaks.
String: the storage and methods of handling collections of characters.
casacore::Vector< casacore::Double > KrefFreqs_
Reference frequencies.
VisBuffers encapsulate one chunk of visibility data for processing.
virtual void selfSolveOne(VisBuffGroupAcc &vbga)
Local implementation of selfSolveOne This traps combine='spw', which isn't supported yet...
virtual void guessPar(VisBuffer &)
Delay to phase calculator virtual void calcOneJones(casacore::Vector<casacore::Complex>& mat...
casacore::Cube< casacore::Complex > Vpad_
virtual casacore::String longTypeName()
virtual casacore::Bool smoothable()
This type is smoothable.
virtual void setSolve()
Set the solving parameters.
virtual casacore::Bool trivialDJ()
dG/dp are not trivial
const casacore::Matrix< casacore::Bool > & flag() const
virtual void initTrivDJ()
Initialize trivial dJs.
virtual casacore::Int nPar()
AntPos has three "real" parameters (dBx, dBy, dBz)
virtual casacore::String longTypeName()
(sbd) K for cross-hand solve
KMBDJones(VisSet &vs)
Constructor.
void solveOneSDBmbd(SDBList &sdbs)
MBD support.
casacore::Vector< double > MJDlim_