28 #ifndef SYNTHESIS_SOLVABLEVISCAL_H
29 #define SYNTHESIS_SOLVABLEVISCAL_H
54 #if ! defined(WITHOUT_DBUS)
72 class SolveDataBuffer;
212 {
throw(
SynthesisError(
"Internal error: setModel() not yet supported for non EPJones type."));};
469 virtual void setMeta(
int obs,
int scan,
double time,
1022 #if ! defined(WITHOUT_DBUS)
casacore::Vector< casacore::Float > & rmsthresh()
virtual void selfSolveOne(VisBuffGroupAcc &vs)
Mueller * dM_
Mueller wrapper for diffMElem_;.
virtual casacore::Cube< casacore::Float > & solveRPar()
virtual void selfGatherAndSolve(VisSet &vs, VisEquation &ve)
Self- gather and/or solve prototypes (triggered by useGenericGatherForSolve=F or useGenericSolveOne=F...
void createDiffJones()
Create matrix renderers for dJs.
casacore::Vector< casacore::Float > rmsthresh_
virtual void setDefSolveParCurrSpw(bool sync=false)
Set parameters to def values in the currSpw(), and optionally sync everything.
virtual casacore::Bool trivialDM()
DM never trivial for SVJ.
casacore::String combine_
axes to combine for solve
casacore::Vector< casacore::Complex > & srcPolPar()
Access to source pol parameters.
casacore::Vector< casacore::Matrix< casacore::Double > > covarmat
casacore::Matrix<casacore::Double> covarmat; casacore::PtrBlock<casacore::Matrix<casacore::Double>* >...
virtual casacore::Int nTotalPar()
Total number of (complex) parameters per solve Mueller version: just return number of per-Bln paramet...
SolNorm(casacore::Bool donorm=false, casacore::String normtype=casacore::String("mean"))
virtual casacore::Bool VBOKforCalApply(vi::VisBuffer2 &vb)
Is VB OK for calibration?
CalCorruptor * corruptor_p
object that can simulate the corruption terms
virtual casacore::Bool normalizable()
Does normalization by MODEL_DATA commute with this VisCal?
virtual void createCorruptor(const VisIter &vi, const casacore::Record &simpar, const int nSim)
make a corruptor in a VC-specific way
Jones & dJ1()
Access to matrix rendering of dJ1, dJ2.
Jones * dJ1_
Jones wrappers for diffJElem_;.
virtual Mueller::MuellerType muellerType()=0
Mueller matrix type (must be implemented in Mueller specializations!)
casacore::String & tInterpType()
virtual void updatePar(const casacore::Vector< casacore::Complex > dCalPar, const casacore::Vector< casacore::Complex > dSrcPar)
Update solve parameters incrementally (additive)
void setChanMask(casacore::PtrBlock< casacore::Vector< casacore::Bool > * > &chanmask)
Handle external channel mask.
casacore::String simint_
simulation interval
casacore::Vector< casacore::Double > fitreffreq
virtual void keepNCT()
SVM-specific write to caltable.
casacore::Float minSNR_
SNR threshold.
virtual casacore::Float calcPowerNorm(casacore::Array< casacore::Float > &, const casacore::Array< casacore::Bool > &ok)=0
virtual void reportSolvedQU()
Report solved-for QU.
virtual casacore::Cube< casacore::Bool > & solveAllParOK()
casacore::Int & nSpw()
General Shape Info.
void sortVisSet(VisSet &vs, const casacore::Bool verbose=false)
virtual void normalize()
Normalize a solution (generic implementation)
virtual void specify(const casacore::Record &specify)
Fill a caltable with specified values.
casacore::Vector< casacore::Bool > spwOK_
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
casacore::Matrix< casacore::Int > numSol
virtual void guessPar(VisBuffer &vb)=0
Hazard a guess at the parameters (solveCPar) given the data.
virtual casacore::Complex defaultCPar()
virtual void fluxscale(const casacore::String &outfile, const casacore::Vector< casacore::Int > &refFieldIn, const casacore::Vector< casacore::Int > &tranFieldIn, const casacore::Vector< casacore::Int > &inRefSpwMap, const casacore::Vector< casacore::String > &fldNames, const casacore::Float &inGainThres, const casacore::String &antSel, const casacore::String &timerangeSel, const casacore::String &scanSel, fluxScaleStruct &oFluxScaleStruct, const casacore::String &oListFile, const casacore::Bool &incremental, const casacore::Int &fitorder, const casacore::Bool &display)=0
Determine and apply flux density scaling.
virtual ~SolvableVisJones()
const SolNorm & solNorm()
casacore::Matrix< casacore::Int > chanAveBounds(casacore::Int spw)
virtual void solveAllRPar(casacore::Int spw, casacore::Cube< casacore::Float > &rparSpw)
casacore::String & apmode()
void initSVC()
Initialize pointers, etc.
void apply(const Jones &j1, VisVector &v, const Jones &j2)
Apply a pair of Jones to a VisVector:
virtual void differentiate(VisBuffer &, VisBuffer &, VisBuffer &, casacore::Matrix< casacore::Bool > &)
virtual casacore::Bool smoothable()
Is this type capable of smoothing? (nominally no)
virtual void convertHzToCh()
Convert Hz to Ch in fsolint.
virtual void differentiate(CalVisBuffer &cvb)
Differentiate VB model w.r.t.
double solTimeInterval() const
Time-dep solution interval (VI2)
void setMatByOk()
Override VJ::setMatByOk in solve context.
virtual void enforceAPonSoln()
Divide all solutions by their amplitudes.
NewCalTable * ct_
New CalTable.
casacore::Vector< dbus::variant > panels_id_
SolvableVisJones()
Default ctor is private.
virtual casacore::Record solveActionRec()
Retrieve solve-related info via Record.
virtual void setSpecify(const casacore::Record &specify)
Arrange to build a cal table from specified values.
virtual Type type()
Return the type enum.
virtual void solveAllCPar(casacore::Int spw, casacore::Cube< casacore::Complex > &cparSpw)
Access to per-spw solution parameters and matrices.
virtual void invalidateDiffCalMat()=0
Invalidate diff cal matrices generically.
virtual casacore::Cube< casacore::Complex > & solveCPar()
Access to current solution parameters and matrices.
virtual int sizeSolveParCurrSpw(int nVisChan)
Reshape solvePar* arrays for the currSpw() (ensitive to freqDepPar()) (VI2: replaces initSolvePar par...
casacore::String calTableType(const casacore::String &tablename)
Global methods.
casacore::Array< casacore::Complex > & diffJElem()
Access to differentiated Joness.
casacore::Double minTimePerSolution_p
virtual casacore::Bool useGenericSolveOne()
Use generic solution engine for a single solve (usually inside the generic gathering mechanism) ...
CalVisBuffer extends VisBuffer to support storage and recall of associated residual and differentiate...
virtual casacore::String typeName()
Return type name as string.
virtual void differentiate(SolveDataBuffer &)
virtual void reReference()
Apply refant.
casacore::String apmode_
Solving mode.
casacore::PtrBlock< casacore::Cube< casacore::Float > * > solveRPar_
casacore::PtrBlock< casacore::Cube< casacore::Bool > * > solveParOK_
virtual void setAccumulate(VisSet &vs, const casacore::String &table, const casacore::String &select, const casacore::Double &t, const casacore::Int &refAnt=-1)
Arrange for accumulation.
virtual void syncDiffJones()
Synchronize the Jones AND diffJones matrices.
virtual void state()
Report state:
virtual void differentiate(CalVisBuffer &)
Differentiate VB model w.r.t.
casacore::String fsolint_
User-specified freq-dep solint info.
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
casacore::String calTableSelect_
void fluxscale(const casacore::String &outfile, const casacore::Vector< casacore::Int > &refFieldIn, const casacore::Vector< casacore::Int > &tranFieldIn, const casacore::Vector< casacore::Int > &inRefSpwMap, const casacore::Vector< casacore::String > &fldNames, const casacore::Float &inGainThres, const casacore::String &antSel, const casacore::String &timerangeSel, const casacore::String &scanSel, SolvableVisCal::fluxScaleStruct &oFluxScaleStruct, const casacore::String &oListFile, const casacore::Bool &incremental=false, const casacore::Int &fitorder=1, const casacore::Bool &display=false)
Fluxscale is implemented here.
casacore::String & refantmode()
virtual casacore::Bool phandonly()
Should only parallel-hands be used in solving? (generally no (default=false), but GJones and related ...
virtual void nearest(const casacore::Double, casacore::Array< casacore::Float > &)
casacore::Matrix< casacore::Double > fd
casacore::Float userPrintActivityInterval_p
void deleteSVC()
Delete pointers.
int writeHeader(const casacore::uInt numAntCols, const casacore::uInt numAnts, const casacore::uInt iElem)
Write header for listCal output.
casacore::Vector< casacore::Double > fitfderr
virtual void smooth(casacore::Vector< casacore::Int > &fields, const casacore::String &smtype, const casacore::Double &smtime)
void setUpForPolSolve(VisBuffer &vb)
Set up data and model for pol solve.
void invalidateDJ()
Validation of Jones matrix derivatives.
ostream-like interface to creating log messages.
virtual void loadMemCalTable(casacore::String ctname, casacore::String field="")
casacore::String calTableName_
Cal table name.
casacore::Bool isSimulated()
Is this calibration simulated?
virtual void differentiate(SolveDataBuffer &)
casacore::PtrBlock< casacore::Cube< casacore::Float > * > solveAllParErr_
virtual void selfSolveOne(SDBList &)
casacore::Double avgTimePerSolution_p
ABSTRACT CLASSES Abstract class for colors Any implementation of color should be able to provide a hexadecimal form of the if a human readable name(i.e."black").In many places throughout the plotter
Mueller & dM()
Access to matrix rendering of dM (per par)
casacore::PtrBlock< casacore::Vector< casacore::Bool > * > * chanmask_
A pointer to the external channel mask.
virtual void solveAllParSNR(casacore::Int spw, casacore::Cube< casacore::Float > &parsnrSpw)
casacore::Vector< casacore::Int > spwMap_
Spw mapping.
virtual void setApply()
Set the application parameters.
virtual casacore::String solveinfo()
Report solve info/params, e.g., for logging.
casacore::Double maxTimePerSolution_p
VisVector & V()
Access to matrix renderings of Visibilities.
casacore::String & calTableName()
Access to user-supplied parameters.
casacore::String & calTableSelect()
casacore::uInt wTime_p
Column widths for listing.
virtual void solveAllParErr(casacore::Int spw, casacore::Cube< casacore::Float > &parerrSpw)
virtual void initSolvePar()
Initialize solve parameter shape Mueller version: (nPar(),1,1) (one chan, one baseline) ...
virtual void calcAllDiffMueller()
Calculate the ensemble of diff'd Mueller Elements.
virtual void initSolvePar()
Initialize solve parameter shape Jones version: (nPar(),1,nAnt()) (one chan, all antennas) ...
virtual CTTIFactoryPtr cttifactoryptr()
Pointer to CTTimeInterp1 factory method (generic) SVC specializations may choose to specialize CTTime...
casacore::Array< casacore::Complex > diffJElem_
Differentiated Jones matrix elements.
ABSTRACT CLASSES Deliberately vague to be general enough to allow for many different types of data
casacore::String & solmode()
casacore::String & solint()
virtual void nearest(const casacore::Double, casacore::Array< casacore::Complex > &)
casacore::Vector< casacore::Int > & spwMap()
virtual void setFracChanAve()
Calculate chan averaging bounds.
virtual casacore::Int nTotalPar()=0
Total number of (complex) parameters per solve (specialize to jive with ant- or bln-basedness, etc.)
void applyChanMask(VisBuffer &vb)
virtual casacore::String applyinfo()
Report apply info/params, e.g.
virtual void enforceAPonData(VisBuffer &vb)
If apmode() is "A", convert vb's visibilities to amp + 0i.
casacore::Bool donorm() const
casacore::Bool DJValid_
Validity of Jones matrix derivatives.
casacore::PtrBlock< casacore::Cube< casacore::Float > * > solveParErr_
virtual casacore::Cube< casacore::Complex > & solveAllCPar()
casacore::Int focusChan_
In-focus channel for single-chan solves on multi-chan data.
virtual casacore::Cube< casacore::Float > & solveAllParSNR()
SolveDataBuffer is a container for VisBuffer2 data and related residual and differentiation results r...
virtual void createMemCalTable()
New CalTable handling.
void invalidateDM()
Validation of diffMueller matrices.
casacore::String solint_
User-specified time-dep solint (string)
virtual void initSolvePar()=0
Initialize solve parameters (shape)
virtual void guessPar(SDBList &)
virtual void globalPostSolveTinker()
Post solve tinkering (generic version)
casacore::Int & focusChan()
Access to focus channel.
virtual VisCalEnum::VCParType setParType(VisCalEnum::VCParType type)
casacore::PtrBlock< casacore::Cube< casacore::Float > * > solveAllParSNR_
casacore::Double preavg_
Preavering interval.
virtual void createMemCalTable2()
Generate the in-memory caltable (empty) NB: no subtable revisions.
virtual void setMatByOk()
Set matrix elements according to their ok flags (e.g., makes a unit matrix if everything flagged...
virtual ~SolvableVisMueller()
casacore::PtrBlock< casacore::Cube< casacore::Complex > * > solveAllCPar_
void overrideObsScan(casacore::Int obs, casacore::Int scan)
Provide for override of currScan and currObs.
virtual void stateSVM(const casacore::Bool &doVC)
SVM-specific state.
SolvableVisCal()
Default ctor is private.
struct casa::SolvableVisCal::fluxScaleStruct fluxScaleStruct
casacore::Bool & append()
void setupPlotter()
plotting historgram
casacore::Vector< casacore::Double > fitfd
virtual casacore::Int nPar()=0
Number of pars per ant/bln (Must be implemented in specializations!)
casacore::Double dataInterval_
Solving meta-data.
void createDiffMueller()
Create matrix renderers for dMs.
virtual casacore::Float calcPowerNorm(casacore::Array< casacore::Float > &, const casacore::Array< casacore::Bool > &ok)
atomic power normalization calculation Mueller version assumes amp in power units ...
casacore::String & fsolint()
virtual void solveAllParOK(casacore::Int spw, casacore::Cube< casacore::Bool > &parokSpw)
virtual void applyRefAnt()
Apply reference antenna (generic Jones version)
virtual ~SolvableVisCal()
virtual casacore::Record actionRec()
Retrieve the cal flag info as a record.
virtual casacore::String siminfo()
Simulation info/params, suitable for logging.
static CTTimeInterp1 * factory(NewCalTable &ct, const casacore::String &timetype, casacore::Array< casacore::Float > &result, casacore::Array< casacore::Bool > &rflag)
static factory method to make CTTimeInterp1
casacore::Vector< casacore::Int > & refantlist()
virtual casacore::Int sizeUpSolve(VisSet &vs, casacore::Vector< casacore::Int > &nChunkPerSol)
Size up the solving arrays, etc.
casacore::String & simint()
access to simulation variables that are general to all VisCals
virtual casacore::Cube< casacore::Float > & solveParSNR()
void syncSolveCal()
Synchronize calibration for solve context.
virtual void currMetaNote()
virtual void setSimulate(VisSet &vs, casacore::Record &simpar, casacore::Vector< casacore::Double > &solTimes)
Set the simulation parameters
virtual void syncDiffMueller()
Synchronize the Muellers AND diffMuellers.
LatticeExprNode amp(const LatticeExprNode &left, const LatticeExprNode &right)
This function finds sqrt(left^2+right^2).
virtual casacore::Complex defaultPar()
Default value for parameters.
casacore::Float & minSNR()
virtual void keep1(casacore::Int ichan)
casacore::Bool DMValid_
diffMueller validation
virtual void stateSVC(const casacore::Bool &doVC)
Report the SVC-specific state, w/ option for VC::state()
casacore::PtrBlock< casacore::Cube< casacore::Float > * > solveAllRPar_
virtual void initTrivDJ()
Initialize trivial diff'd Jones.
virtual casacore::Bool normalizable()
Does normalization by MODEL_DATA commute with this VisCal?
virtual casacore::Vector< casacore::Bool > spwOK()
Report calibration availability per spw (always true for non-tabular?)
virtual casacore::Float calcPowerNorm(casacore::Array< casacore::Float > &, const casacore::Array< casacore::Bool > &ok)
atomic power normalization calculation SVJ version assumes amp in voltage units
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
casacore::Array< casacore::Complex > & diffMElem()
Access to differentiated Mueller elements.
casacore::Matrix< casacore::Int > chanAveBounds()
virtual void keepNCT()
SVJ-specific write to caltable.
const casacore::Vector< casacore::Double > & fintervalChV()
TableExprNode upcase(const TableExprNode &node)
virtual Jones::JonesType jonesType()=0
What kind of Jones matrix are we? (Must be implemented in specializations!)
virtual void state()
Report state:
casacore::PtrBlock< casacore::Cube< casacore::Complex > * > solveCPar_
Current parameters.
virtual void accumulate(SolvableVisCal *, const casacore::Vector< casacore::Int > &)
Accumulate another VisCal onto this one.
casacore::Vector< casacore::Double > freq
void setMatByOk()
Override VM::setMatByOk in solve context.
casacore::Int minblperant_
Min baselines per ant for solve.
virtual void fluxscale(const casacore::String &, const casacore::Vector< casacore::Int > &, const casacore::Vector< casacore::Int > &, const casacore::Vector< casacore::Int > &, const casacore::Vector< casacore::String > &, const casacore::Float &, const casacore::String &, const casacore::String &, const casacore::String &, SolvableVisCal::fluxScaleStruct &, const casacore::String &, const casacore::Bool &, const casacore::Int &, const casacore::Bool &)
Scale solutions.
casacore::String normtypeString() const
virtual void diffSrc(VisBuffer &vb, casacore::Array< casacore::Complex > &dV)=0
Differentiate VB model w.r.t.
SolNorm solnorm_
Do solution normalization after a solve.
measure the time it takes to execute parts of a program
virtual void guessPar(VisBuffer &)
Hazard a guess at the parameters (solvePar) given the data.
casacore::Int & currSpw()
Current in-focus spw.
static casacore::String normTypeAsString(Type type)
virtual casacore::Bool trivialDJ()
Are differentiated J matrices constant in chan & ant?
virtual casacore::Float defaultRPar()
virtual void calcPar()
Calculate parameters by some means (e.g., interpolation from a CalSet)
void mark()
Set the timer mark – i.e., start the clock ticking.
virtual void calcOneDiffMueller(casacore::Matrix< casacore::Complex > &mat, const casacore::Vector< casacore::Complex > &par)
Calculate one diffMElem.
A class to group separately averaged VisBuffers.
virtual void calcOneDiffJones(casacore::Matrix< casacore::Complex > &mat, const casacore::Vector< casacore::Complex > &par)
Calculate one ant/chan's diffJElem w.r.t.
A drop-in replacement for Block<T*>.
virtual void invalidateDiffCalMat()
Invalidate diff cal matrices generically (at this level, M, dM, J, dJ)
casacore::LogIO & logSink()
Logger.
virtual void printActivity(const casacore::Int nSlots, const casacore::Int slotNo, const casacore::Int fieldId, const casacore::Int spw, const casacore::Int nSolutions)
Log periodic solver activity.
casacore::Vector< casacore::Complex > srcPolPar_
casacore::Double fintervalHz_
Derived frequency intervals.
casacore::Bool donorm_
data
virtual casacore::Bool accumulatable()
Is this type capable of accumulation? (nominally no)
A Table intended to hold astronomical data (a set of Measurements).
virtual void invalidateDiffCalMat()
Invalidate diff cal matrices generically (at this level, just M, dM)
static Type normTypeFromString(casacore::String name)
virtual void stateSVJ(const casacore::Bool &doVC)
virtual void syncPar()
Sync parameters for current meta data.
casacore::Vector< casacore::Double > fintervalCh_
virtual void setMeta(int obs, int scan, double time, int spw, const casacore::Vector< double > &freq, int fld)
VI2-related refactor-----------------------------------—.
virtual casacore::Bool verifyForSolve(VisBuffer &vb)
PlotServerProxy * plotter_
for plotting
casacore::Matrix< casacore::Double > spidxerr
virtual casacore::Bool trivialDM()
Are differentiated M matrices constant in chan & bln?
casacore::LogIO logsink_p
LogIO.
virtual casacore::Cube< casacore::Float > & solveAllParErr()
virtual void setSolveChannelization(VisSet &vs)
Set matrix channelization according to a VisSet.
virtual casacore::Bool divideByStokesIModelForSolve()
Should data and model be divided by Stokes I model before average+solve? (Nominally false...
virtual casacore::Cube< casacore::Bool > & solveParOK()
virtual casacore::Bool isSolvable()
Is this solveable? (via this interface, nominally yes)
virtual casacore::Bool calAvailable(vi::VisBuffer2 &)
Calibration available?
void verifyCalTable(const casacore::String &caltablename)
Check if a cal table is appropriate.
casacore::String solmode_
Solver iteration mode.
VisBuffer2s encapsulate one chunk of visibility data for processing.
Base class for all Casacore library errors.
virtual void formSolveSNR()
Form solution SNR.
virtual void globalPostSolveTinker()
Post solve tinkering (Jones version: includes refant application)
const MSMetaInfoForCal & msmc() const
Access to the MSMetaInfoForCal (throws if none)
casacore::Vector< casacore::Matrix< casacore::Int > > chanAveBounds_
Channel averaging bounds.
virtual casacore::Int solvePol()
Solve for point-source X or Q,U? nominally no (0)
casacore::Bool simulated_
Simulation flag.
casacore::Matrix< casacore::Double > fderr
virtual casacore::Bool useGenericGatherForSolve()
Report if calibration available for specified spw (if no CalInterp available, assume true) ...
virtual void setUpForPolSolve(vi::VisBuffer2 &)
A VB2-specific version which depends on local specialization (this may be further refined later) ...
casacore::Matrix< casacore::Double > spidx
void setSimulated(const casacore::Bool &flag)
Set state flag to simulate cal terms.
virtual void initTrivDM()
Initialize trivial diff'd Muellers.
virtual void applySNRThreshold()
Apply SNR threshold.
virtual void setModel(const casacore::String &)
casacore::String usolint_
User-specified full solint string.
void invalidateJ()
Validation of Jones matrices.
virtual void syncDiffMat()=0
Synchronize the differentiated calibration.
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.
SolvableVisMueller()
Default ctor is private.
virtual casacore::Int nTotalPar()
Total number of (complex) parameters per solve Jones version: nPar()*nAnt()
void plotHistogram(const casacore::String &title, const casacore::Int index, const casacore::Vector< casacore::Double > &data, const casacore::Int nbin)
virtual casacore::Int nCalMat()
Number of Cal Matrices to form on baseline axis (Jones, all contexts: nAnt())
casacore::Bool byCallib_
Signal apply by callib.
casacore::Vector< casacore::Int > urefantlist_
Refant.
virtual void listCal(const casacore::Vector< casacore::Int >, const casacore::Vector< casacore::Int >, const casacore::Matrix< casacore::Int >, const casacore::String &, const casacore::Int &)
casacore::List calibration solutions in tabular form.
VisBuffers encapsulate one chunk of visibility data for processing.
casacore::Array< casacore::Complex > diffMElem_
Differentiated Mueller matrix elements.
VisibilityIterator iterates through one or more writable MeasurementSets.
casacore::Float userPrintActivityFraction_p
virtual Type type()=0
Return the type of this calibration matrix (actual type of derived class).
void invalidateM()
Validation of Mueller matrices (for currSpw)
casacore::String & combine()
virtual void reReference()
Apply refant (no-op for Muellers)
casacore::Double & fintervalCh()
for simulating corruptions
virtual casacore::Cube< casacore::Float > & solveParErr()
virtual void calcParByCLPP()
void setSolved(const casacore::Bool &flag)
Set to-be-solved-for flag.
virtual void accumulate(SolvableVisCal *incr, const casacore::Vector< casacore::Int > &fields)=0
Accumulate another VisCal onto this one.
double solTimeInterval_
Derived time-dep solution interval (s) (VI2)
casacore::String refantmode_
Refant mode.
virtual void setCallib(const casacore::Record &callib, const casacore::MeasurementSet &selms)
casacore::Complex normSolnArray(casacore::Array< casacore::Complex > &sol, const casacore::Array< casacore::Bool > &solOK, const casacore::Bool doPhase=false)
Normalize a (complex) solution array (generic)
virtual casacore::Cube< casacore::Float > & solveAllRPar()
virtual void setSolve()
Set the solving parameters.
casacore::Bool solved_
Solved-for flag.
casacore::Double & preavg()
casacore::Bool combscan()
virtual void diffSrc(VisBuffer &vb, casacore::Array< casacore::Complex > &dV)
Differentiate VB model w.r.t.
virtual void differentiate(VisBuffer &, casacore::Cube< casacore::Complex > &, casacore::Array< casacore::Complex > &, casacore::Matrix< casacore::Bool > &)
void reParseSolintForVI2()
Parse solint in VI2 context.
void syncSolvePar()
Synchronize parameters for solve context.
virtual casacore::Int nCalMat()
Number of Cal Matrices to form on baseline axis (Mueller, solve context: 1)
virtual void accumulate(SolvableVisCal *incr, const casacore::Vector< casacore::Int > &fields)
Accumulate another VisCal onto this one.
void inflate(VisSet &vs, const casacore::Bool &fillMeta=false)
These inflate methods soon to deprecate (gmoellen, 20121212) Inflate the pristine CalSet (from VisSet...
casacore::Int sizeUpSim(VisSet &vs, casacore::Vector< casacore::Int > &nChunkPerSol, casacore::Vector< casacore::Double > &solTimes)
calculate # required slots to simulate this SVC
casacore::PtrBlock< casacore::Cube< casacore::Bool > * > solveAllParOK_
casacore::String fInterpType_
virtual void syncDiffMat()
Synchronize the differentiated calibration (specialization for Mueller);.
casacore::Double & fintervalHz()
Freq-dep solint values (const?!)
casacore::String & fInterpType()
virtual void setOrVerifyCTFrequencies(int spw)
Set (or verify) freq info in output cal table for specified spw.
casacore::String tInterpType_
Interpolation types.
casacore::PtrBlock< casacore::Cube< casacore::Float > * > solveParSNR_
virtual void syncDiffMat()
Synchronize the differentiated calibration (specialization for Jones)
virtual void diffSrc(VisBuffer &, casacore::Array< casacore::Complex > &)
Differentiate VB model w.r.t.
virtual void setMatByOk()
Set matrix elements according to their ok flags (e.g., makes a unit matrix if everything flagged...
virtual void state()
Report state:
void inflateNCTwithMetaData(VisSet &vs)
Inflate an NCT w/ meta-data according to a VisSet (for accum)
virtual void listCal(const casacore::Vector< casacore::Int > ufldids, const casacore::Vector< casacore::Int > uantids, const casacore::Matrix< casacore::Int > uchanids, const casacore::String &listfile="", const casacore::Int &pagerows=50)
Write calibration solutions to the terminal.
casacore::Bool isSolved()
Is this ready to solve?
virtual casacore::Bool normalizable()=0
Does normalization by MODEL_DATA commute with this VisCal? (if so, permits pre-solve time-averaging) ...
virtual void calcAllDiffJones()
Calculate the ensemble of diff'd Jones Elements.
casacore::Bool & simOnTheFly()
RI todo implement calcOneJones like calcAllMueller calculate terms during apply, or up front during s...
virtual casacore::Bool verifyConstraints(VisBuffGroupAcc &vbag)
Verify VisBuffer data sufficient for solving (wts, etc.)
virtual void differentiate(CalVisBuffer &cvb)=0
Differentiate VB model w.r.t.
virtual void listCal(const casacore::Vector< casacore::Int > ufldids, const casacore::Vector< casacore::Int > uantids, const casacore::Matrix< casacore::Int > uchanids, const casacore::String &listfile="", const casacore::Int &pagerows=50)=0
casacore::Bool syncSolveMeta(VisBuffer &vb, const casacore::Int &fieldId)
Synchronize the meta data with a solvable VisBuffer (returns false if VisBuffer has no valid data) ...
casacore::Int & minblperant()
virtual void reReference()=0
Apply refant (implemented in SVJ)