28 #ifndef SYNTHESIS_FRINGEJONES_H
29 #define SYNTHESIS_FRINGEJONES_H
84 std::set< casacore::Double >
times;
87 std::map< casacore::Int, casacore::Vector<casacore::Double>
const * >
spwIdToFreqMap;
virtual void setApply()
Set the application parameters.
virtual void selfSolveOne(SDBList &)
Local implementation of selfSolveOne (generalized signature) virtual void selfSolveOne(VisBuffGroupAc...
virtual casacore::Bool freqDepMat()
If the following is false frequency spectrum is squashed to one point.
casacore::Array< casacore::Complex > Vpad_
casacore::Double t0_, t1_; casacore::Double padBW_;
virtual ~CTRateAwareTimeInterp1()
Destructor.
casacore::Int swStartIndex(casacore::Int spw)
casacore::Matrix< casacore::Float > delay() const
std::set< casacore::Int > allActiveAntennas_
CTTimeInterp1 *(* CTTIFactoryPtr)(NewCalTable &, const casacore::String &, casacore::Array< casacore::Float > &, casacore::Array< casacore::Bool > &)
Pointer to static factory methods for CTTimeInterp1.
std::complex< Float > Complex
virtual void applyRefAnt()
Apply reference antenna.
virtual casacore::Bool useGenericSolveOne()
Use generic solution engine for a single solve (usually inside the generic gathering mechanism) ...
casacore::Int nPadChan_
casacore::Int nSPWChan_;
casacore::Int refant_
The idiom used in KJones solvers is: DelayFFT delfft1(vbga(ibuf), ptbw, refant()); delfft1...
const casacore::Matrix< casacore::Float > & param() const
A utility class that provides an API that allows clients to find grid indices in time and frequency f...
casacore::Array< casacore::Double > delayWindow_
casacore::Array< casacore::Double > & delayWindow_
virtual casacore::Complex defaultPar()
Default parameter value.
void apply(const Jones &j1, VisVector &v, const Jones &j2)
Apply a pair of Jones to a VisVector:
const std::map< casacore::Int, std::set< casacore::Int > > & getActiveAntennas() const
The following are copied from KJones.h definition of DelayFFT.
virtual void solveOneVB(const VisBuffer &)
const std::set< casacore::Int > & getActiveAntennasCorrelation(casacore::Int icor) const
const casacore::Array< casacore::Complex > & Vpad() const
virtual casacore::Bool useGenericGatherForSolve()
FringeJones uses generic gather, but solves for itself per solution.
virtual casacore::Int & refant()
virtual casacore::Bool trivialJonesElem()
Jones matrix elements are NOT trivial.
Rate-aware time interpolation engine.
casacore::Int refant() const
virtual casacore::Int nPar()
phase, delay, rate TBD: Need to cater for parameter opt-out (e.g., no rate solve, etc...
ABSTRACT TOOL CLASSES A PlotTool is a higher level event handler for a PlotCanvas The idea is to take common tasks which may require multiple events and put them in one place PlotTools also provide additional functionality in that they can be active and blocking non blocking The PlotCanvas will only send events to active and will not send events to later tools or event handlers if the latest tool was blocking In this way a single tool can be used to handle ALL user interaction via the GUI at one time
std::map< casacore::Int, casacore::Vector< casacore::Double > const * > spwIdToFreqMap
You can't store references in a map.
std::map< casacore::Int, std::set< casacore::Int > > activeAntennas_
virtual void globalPostSolveTinker()
Post solve tinkering.
virtual void setApply()
Set the application parameters.
SDBListGridManager(SDBList &sdbs_)
casacore::Array< casacore::Int > xcount_
virtual casacore::Bool freqDepPar()
Freq dependence (delays)
ABSTRACT CLASSES Deliberately vague to be general enough to allow for many different types of data
virtual void setCallib(const casacore::Record &callib, const casacore::MeasurementSet &selms)
virtual casacore::Bool interpolate(casacore::Double time)
Interpolate, given timestamp; returns T if new result.
virtual casacore::Array< casacore::Double > & rateWindow()
virtual Jones::JonesType jonesType()
Type of Jones matrix according to nPar()
void checkAllGridpoints()
virtual void initTrivDJ()
Initialize trivial dJs TBD: make this default in SVC?
casacore::Int nPadFactor_
virtual Type type()
Return the type enum.
casacore::Array< casacore::Float > sumw_
virtual CTTIFactoryPtr cttifactoryptr()
Pointer to CTRateAwareTimeInterp1 factory method This ensures the rates are incorporated into the tim...
casacore::Double get_df_all()
virtual void specify(const casacore::Record &specify)
FIXME: was omitted.
Fringe-fitting (parametrized phase) VisCal.
virtual void calcAllJones()
Delay to phase calculator.
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};.
casacore::Matrix< casacore::Bool > flag_
casacore::Vector< casacore::Double > KrefFreqs_
Reference frequencies.
virtual void guessPar(VisBuffer &)
Hazard a guess at parameters (unneeded here) TBD? Needed?
virtual casacore::Bool & zeroRates()
SolveDataBuffer is being phased out; we no longer support it.
casacore::Bool zeroRates_
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
virtual casacore::Bool trivialDJ()
dJ/dp are trivial TBD: make this default in SVC?
casacore::Int bigFreqGridIndex(casacore::Double f)
casacore::Array< casacore::Float > sumww_
CTRateAwareTimeInterp1(NewCalTable &ct, const casacore::String &timetype, casacore::Array< casacore::Float > &result, casacore::Array< casacore::Bool > &rflag)
From NewCalTable.
const casacore::Matrix< casacore::Bool > & flag() const
void applyPhaseRate(casacore::Bool single)
Refine time-dep phase with rate info.
SDBListGridManager gm_
SBDListGridManager handles all the sizing and interpolating of multiple spectral windows onto a singl...
virtual casacore::Int & maxits()
A Table intended to hold astronomical data (a set of Measurements).
DelayRateFFT is responsible for the two-dimensional FFT of visibility phases to find an estimate for ...
casacore::Matrix< casacore::Float > rate() const
void removeAntennasCorrelation(casacore::Int, std::set< casacore::Int >)
std::set< casacore::Double > times
casacore::Int getTimeIndex(casacore::Double t)
virtual casacore::Array< casacore::Double > & delayWindow()
const MSMetaInfoForCal & msmc() const
Access to the MSMetaInfoForCal (throws if none)
virtual casacore::Bool smoothable()
This type is smoothable.
casacore::Array< casacore::Double > & rateWindow_
std::set< casacore::Int > spwins
virtual bool timeDepMat()
Matrices time-dependent per parameter set (nominally no)
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"...
String: the storage and methods of handling collections of characters.
DelayRateFFT(SDBList &sdbs, casacore::Int refant, casacore::Array< casacore::Double > &delayWindow_, casacore::Array< casacore::Double > &rateWindow_)
VisBuffers encapsulate one chunk of visibility data for processing.
std::pair< casacore::Bool, casacore::Float > xinterp(casacore::Float alo, casacore::Float amax, casacore::Float ahi)
casacore::Array< casacore::Double > rateWindow_
virtual casacore::String longTypeName()
casacore::Matrix< casacore::Float > param_
static CTTimeInterp1 * factory(NewCalTable &ct, const casacore::String &timetype, casacore::Array< casacore::Float > &result, casacore::Array< casacore::Bool > &rflag)
static factory method to make CTRateAwareTimeInterp1 NB: returns pointer to a generic CTTimeInterp1 ...
casacore::Bool globalSolve_
casacore::Float snr(casacore::Int icorr, casacore::Int ielem, casacore::Float delay, casacore::Float rate)
virtual void setSolve()
Set the solving parameters.
void calculateSNR(casacore::Int, DelayRateFFT)
FringeJones(VisSet &vs)
Constructor TBD: MSMetaInfoForCal-aware version; deprecate older ones.
casacore::Int nChannels()
virtual VisCalEnum::VCParType parType()
We have casacore::Float parameters.
virtual casacore::Bool & globalSolve()
virtual casacore::Bool accumulatable()
This type is not yet accumulatable.
virtual casacore::String typeName()
Return type name as string.