28 #if ! defined (MSVIS_ViImplementation2_H_121115_0950)
29 #define MSVIS_ViImplementation2_H_121115_0950
44 template <
typename T>
class Array;
45 template <
typename T>
class Block;
46 template <
typename T>
class Cube;
47 template <
typename T>
class Matrix;
58 template <
typename T>
class Vector;
81 class VisImagingWeight;
88 class ChannelSelector;
89 class ChannelSelectorCache;
90 class FrequencySelections;
92 class SpectralWindowChannels;
93 class SpectralWindowChannelsCache;
95 class SubtableColumns;
97 class VisibilityIterator2;
99 enum VisBufferType : int;
178 virtual void origin () = 0;
180 virtual void next () = 0;
447 virtual std::pair<bool, casacore::MDirection>
getPointingAngle (
int antenna,
double time)
const = 0;
535 virtual void slurp ()
const = 0;
707 #endif // ! defined (MSVIS_ViImplementation2_H_121115_0950)
virtual void timeInterval(casacore::Vector< casacore::Double > &ti) const =0
Return nominal time interval.
virtual const casacore::ROMSFlagCmdColumns & flagCmdSubtablecols() const =0
Access to flagCmd subtable.
virtual const casacore::Vector< casacore::Float > & feed_pa(casacore::Double time) const =0
Return feed parallactic angles casacore::Vector (nant) (1 feed/ant)
A Vector of integers, for indexing into Array<T> objects.
A Measure: astronomical direction.
A 1-D Specialization of the Array class.
virtual casacore::Vector< casacore::Int > getCorrelations() const =0
A Measure: position on Earth.
virtual void writeFlagRow(const casacore::Vector< casacore::Bool > &rowflags)=0
Write/modify the flag row column = 0; dimension casacore::Vector (nrow)
MSDerivedValues calculates values derived from a MS.
virtual const casacore::ROMSSpWindowColumns & spectralWindowSubtablecols() const =0
Access to spectralWindow subtable.
virtual const casacore::ROMSFreqOffsetColumns & freqOffsetSubtablecols() const =0
Access to freqOffset subtable.
virtual void setFrequencySelections(const FrequencySelections &selection)=0
Select the channels to be returned.
virtual const casacore::MDirection & phaseCenter() const =0
Return the current phase center as an MDirection.
virtual Subchunk getSubchunkId() const =0
virtual casacore::MDirection azel0(casacore::Double time) const =0
Return the antenna AZ/EL casacore::Vector (nant)
virtual const casacore::ROMSPolarizationColumns & polarizationSubtablecols() const =0
Access to polarization subtable.
Object to hold type of imaging weight scheme to be used on the fly and to provide facilities to do th...
virtual casacore::Bool more() const =0
VisibilityIterator2 iterates through one or more readonly MeasurementSets.
virtual casacore::IPosition visibilityShape() const =0
Return the visibility 4-vector of polarizations for each channel.
virtual void uvw(casacore::Matrix< casacore::Double > &uvwmat) const =0
Return u,v and w (in meters)
A class to provide easy access to MSField columns.
static void azelCalculate(casacore::Double time, casacore::MSDerivedValues &msd, casacore::Vector< casacore::MDirection > &azel, casacore::Int nAnt, const casacore::MEpoch &mEpoch0)
virtual const casacore::ROMSObservationColumns & observationSubtablecols() const =0
Access to observation subtable.
static casacore::Vector< casacore::Float > feed_paCalculate(casacore::Double time, casacore::MSDerivedValues &msd, casacore::Int nAntennas, const casacore::MEpoch &mEpoch0, const casacore::Vector< casacore::Float > &receptor0Angle)
virtual casacore::String msName() const =0
Name of current nominal MS.
virtual void nextChunk()=0
virtual casacore::Double hourang(casacore::Double time) const =0
Return the hour angle for the specified time.
A class to provide easy read-only access to MSSource columns.
virtual void flag(casacore::Cube< casacore::Bool > &flags) const =0
Return flag for each polarization, channel and row.
virtual const casacore::ROMSSourceColumns & sourceSubtablecols() const =0
Access to source subtable.
virtual casacore::Bool allBeamOffsetsZero() const =0
Return the number of sub-intervals in the current chunk.
virtual const VisImagingWeight & getImagingWeightGenerator() const =0
Return imaging weight (a weight for each channel) virtual casacore::Matrix<casacore::Float> & imagin...
virtual void writeFlagCategory(const casacore::Array< casacore::Bool > &fc)=0
virtual const casacore::ROMSFeedColumns & feedSubtablecols() const =0
Access to feed subtable.
virtual ~ViImplementation2()
Destructor.
virtual const casacore::Vector< casacore::String > & antennaMounts() const =0
+=========================+ | | | Chunk and MS Level Data | | | +=========================+ ...
virtual casacore::Bool sigmaSpectrumExists() const =0
Determine whether SIGMA_SPECTRUM exists.
A 3-D Specialization of the Array class.
virtual void spectralWindows(casacore::Vector< casacore::Int > &spws) const =0
virtual const vi::SubtableColumns & subtableColumns() const =0
Access the current casacore::ROMSColumns object in MSIter.
VisBufferOptions
These are options to be applied to a VisBuffer, usually when it's created.
virtual casacore::Bool isNewMs() const =0
A 2-D Specialization of the Array class.
virtual casacore::Int nRowsInChunk() const =0
virtual void writeSigma(const casacore::Matrix< casacore::Float > &sig)=0
Write/modify the Sigma.
virtual casacore::Bool isNewFieldId() const =0
virtual casacore::Int polarizationId() const =0
Return current Polarization Id.
virtual void writeVisModel(const casacore::Cube< casacore::Complex > &vis)=0
virtual const casacore::ROMSSysCalColumns & sysCalSubtablecols() const =0
Access to sysCal subtable.
A class to provide easy read-only access to MSProcessor columns.
A class to provide easy read-only access to MSWeather columns.
virtual casacore::Bool isNewArrayId() const =0
virtual void stateId(casacore::Vector< casacore::Int > &stateids) const =0
Return the STATE_IDs.
A class to provide easy read-only access to MSASpectralWindow columns.
virtual void getRowIds(casacore::Vector< casacore::uInt > &rowids) const =0
Return the row ids as from the original root table.
A Measure: instant in time.
virtual casacore::Double getInterval() const =0
Return the time interval (in seconds) used for iteration.
virtual void sigmaSpectrum(casacore::Cube< casacore::Float > &wtsp) const =0
Return sgimaspectrum (a sigma for each channel)
A class to provide easy read-only access to MSFreqOffset columns.
A class to provide easy read-only access to MSState columns.
virtual const casacore::Vector< casacore::MDirection > & azel(casacore::Double time) const =0
virtual void antenna1(casacore::Vector< casacore::Int > &ant1) const =0
+=========================+ | | | Subchunk Data Accessors | | | +=========================+ ...
virtual const casacore::Cube< casacore::RigidVector< casacore::Double, 2 > > & getBeamOffsets() const =0
Return a cube containing pairs of coordinate offsets for each receptor of each feed (values are in ra...
virtual void writeWeightSpectrum(const casacore::Cube< casacore::Float > &wtsp)=0
Write/modify the weightMat virtual void writeWeightMat (const casacore::Matrix<casacore::Float> & wt...
virtual const SortColumns & getSortColumns() const =0
virtual const casacore::ROMSAntennaColumns & antennaSubtablecols() const =0
virtual const casacore::Float & parang0(casacore::Double time) const =0
Return nominal parallactic angle at specified time (does not include feed position angle offset–see f...
virtual void visibilityCorrected(casacore::Cube< casacore::Complex > &vis) const =0
Return the visibilities as found in the casacore::MS, casacore::Cube (npol,nchan,nrow).
virtual void slurp() const =0
Call to use the slurp i/o method for all scalar columns.
Fast Vector classes with fixed (templated) length.
virtual const casacore::MeasurementSet & ms() const =0
virtual casacore::MFrequency::Types getObservatoryFrequencyType() const =0
virtual void setReportingFrameOfReference(casacore::Int frame)=0
virtual const casacore::ROMSStateColumns & stateSubtablecols() const =0
Access to state subtable.
virtual casacore::String sourceName() const =0
Return the current Source Name.
virtual void timeCentroid(casacore::Vector< casacore::Double > &t) const =0
Return MJD centroid of interval.
virtual const casacore::ROMSHistoryColumns & historySubtablecols() const =0
Access to history subtable.
Referenced counted pointer for constant data.
virtual void setWeightScaling(casacore::CountedPtr< WeightScaling > weightscaling)=0
virtual casacore::Bool flagCategoryExists() const =0
Determine whether FLAG_CATEGORY is valid.
virtual void weight(casacore::Matrix< casacore::Float > &wtmat) const =0
Return weight.
Fast Square Matrix class with fixed (templated) size.
virtual VisBuffer2 * createAttachedVisBuffer(VisBufferOptions options)
virtual casacore::CountedPtr< WeightScaling > getWeightScaling() const =0
A class to provide easy read-only access to MSPointing columns.
virtual void useImagingWeight(const VisImagingWeight &imWgt)=0
assign a VisImagingWeight object to this iterator
define a (start,length,increment) along an axis
A class to provide easy read-only access to MSDoppler columns.
virtual void feed2(casacore::Vector< casacore::Int > &fd2) const =0
Return feed2.
virtual void initWeightSpectrum(const casacore::Cube< casacore::Float > &)
Initialize the weightSpectrum.
virtual casacore::Int getNMs() const =0
ViImplementation2 & operator=(const ViImplementation2 &)=delete
A class to provide easy read-only access to MSHistory columns.
virtual void floatData(casacore::Cube< casacore::Float > &fcube) const =0
Return FLOAT_DATA as a casacore::Cube (npol, nchan, nrow) if found in the MS.
virtual casacore::Vector< casacore::Stokes::StokesTypes > getCorrelationTypesDefined() const =0
virtual casacore::Bool weightSpectrumExists() const =0
Determine whether WEIGHT_SPECTRUM exists.
virtual void writeModel(const casacore::RecordInterface &rec, casacore::Bool iscomponentlist=true, casacore::Bool incremental=false)=0
Write/modify the ncorr x nrow SigmaMat.
virtual void initSigmaSpectrum(const casacore::Cube< casacore::Float > &)
Initialize the sigmaSpectrum.
virtual void writeBackChanges(VisBuffer2 *vb)=0
+----------------—+ | | | Writeback Methods | | | +----------------—+
virtual void scan(casacore::Vector< casacore::Int > &scans) const =0
Return scan number.
A class to provide easy read-only access to MSDataDesc columns.
virtual casacore::Bool isWritable() const =0
virtual std::pair< bool, casacore::MDirection > getPointingAngle(int antenna, double time) const =0
bool Bool
Define the standard types used by Casacore.
virtual VisBuffer2 * getVisBuffer() const =0
virtual void dataDescriptionIds(casacore::Vector< casacore::Int > &ddis) const =0
virtual void sigma(casacore::Matrix< casacore::Float > &sigmat) const =0
Return sigma.
virtual casacore::MEpoch getEpoch() const =0
virtual casacore::Vector<casacore::MPosition> antennaPositions () const; casacore::MSDerivedValues m...
virtual casacore::Vector< casacore::Double > getFrequencies(casacore::Double time, casacore::Int frameOfReference, casacore::Int spectralWndow=-1, casacore::Int msId=-1) const =0
virtual void flagCategory(casacore::Array< casacore::Bool > &flagCategories) const =0
Return flags for each polarization, channel, category, and row.
virtual void flagRow(casacore::Vector< casacore::Bool > &rowflags) const =0
Return row flag.
virtual void antenna2(casacore::Vector< casacore::Int > &ant2) const =0
Return antenna2.
static casacore::Vector< casacore::Float > parangCalculate(casacore::Double time, casacore::MSDerivedValues &msd, int nAntennas, const casacore::MEpoch mEpoch0)
virtual casacore::Int dataDescriptionId() const =0
Return current DataDescription Id.
A Table intended to hold astronomical data (a set of Measurements).
virtual void setInterval(casacore::Double timeInterval)=0
virtual void writeVisCorrected(const casacore::Cube< casacore::Complex > &vis)=0
Write/modify the visibilities.
virtual casacore::Int msId() const =0
reference to actual ms in interator
virtual const casacore::ROMSWeatherColumns & weatherSubtablecols() const =0
Access to weather subtable.
virtual const casacore::ROMSPointingColumns & pointingSubtablecols() const =0
Access to pointing subtable.
virtual void feed1(casacore::Vector< casacore::Int > &fd1) const =0
Return feed1.
virtual casacore::Int nRowsViWillSweep() const =0
virtual void writeVisObserved(const casacore::Cube< casacore::Complex > &vis)=0
virtual void exposure(casacore::Vector< casacore::Double > &expo) const =0
Return actual time interval.
static casacore::Double hourangCalculate(casacore::Double time, casacore::MSDerivedValues &msd, const casacore::MEpoch &mEpoch0)
virtual casacore::Int nSpectralWindows() const =0
A class to provide easy read-only access to MSObservation columns.
virtual casacore::String fieldName() const =0
Return the current Field Name.
VisBuffer2s encapsulate one chunk of visibility data for processing.
virtual void weightSpectrum(casacore::Cube< casacore::Float > &wtsp) const =0
Return weightspectrum (a weight for each channel)
virtual const casacore::ROMSDopplerColumns & dopplerSubtablecols() const =0
Access to doppler subtable.
virtual const casacore::ROMSFieldColumns & fieldSubtablecols() const =0
Access to field subtable.
A class to provide easy read-only access to MSPolarization columns.
virtual void arrayIds(casacore::Vector< casacore::Int > &) const =0
Return the current ArrayId.
virtual casacore::Vector< casacore::Stokes::StokesTypes > getCorrelationTypesSelected() const =0
virtual const casacore::ROMSProcessorColumns & processorSubtablecols() const =0
Access to processor subtable.
A class to provide easy read-only access to MSFeed columns.
virtual casacore::Bool existsColumn(VisBufferComponent2 id) const =0
VisibilityIterator2 iterates through one or more readonly MeasurementSets.
virtual const casacore::Vector< casacore::Float > & parang(casacore::Double time) const =0
Per antenna:
virtual casacore::String keyChange() const =0
Report Name of slowest column that changes at end of current iteration.
virtual void processorId(casacore::Vector< casacore::Int > &procids) const =0
Return the PROCESSOR_IDs.
virtual casacore::Int nRows() const =0
Return the number of rows in the current iteration.
virtual casacore::String ViiType() const =0
Report the the ViImplementation type.
A class to provide easy read-only access to MSAntenna columns.
static void doWeightScaling(casacore::Bool hasWeightScaling, WeightScaling *scaling, const casacore::Array< casacore::Float > &unscaled, casacore::Array< casacore::Float > &scaled)
String: the storage and methods of handling collections of characters.
static void azel0Calculate(casacore::Double time, casacore::MSDerivedValues &msd, casacore::MDirection &azel0, const casacore::MEpoch &mEpoch0)
virtual casacore::Int getReportingFrameOfReference() const =0
virtual casacore::Vector< casacore::Float > getReceptor0Angle()=0
virtual casacore::Int nDataDescriptionIds() const =0
virtual void corrType(casacore::Vector< casacore::Int > &corrTypes) const =0
Return the correlation type (returns casacore::Stokes enums)
virtual void visibilityModel(casacore::Cube< casacore::Complex > &vis) const =0
virtual void setRowBlocking(casacore::Int nRows=0)=0
Set the 'blocking' size for returning data.
virtual void jonesC(casacore::Vector< casacore::SquareMatrix< casacore::Complex, 2 > > &cjones) const =0
Return feed configuration matrix for specified antenna.
virtual void writeWeight(const casacore::Matrix< casacore::Float > &wt)=0
Write/modify the weights.
virtual void time(casacore::Vector< casacore::Double > &t) const =0
Return MJD midpoint of interval.
virtual casacore::Bool hasWeightScaling() const =0
virtual void visibilityObserved(casacore::Cube< casacore::Complex > &vis) const =0
Abstract base class for Record classes.
Types
Types of known MFrequencies Warning: The order defines the order in the translation matrix FromTo in...
virtual casacore::Vector< casacore::Int > getChannels(casacore::Double time, casacore::Int frameOfReference, casacore::Int spectralWndow=-1, casacore::Int msId=-1) const =0
virtual const SpectralWindowChannels & getSpectralWindowChannels(casacore::Int msId, casacore::Int spectralWindowId) const =0
get back the selected spectral windows and spectral channels for current ms
virtual casacore::Int polFrame() const =0
Return frame for polarization (returns PolFrame enum)
virtual casacore::Int nPolarizationIds() const =0
virtual casacore::Int nAntennas() const =0
Return number of antennasm spws, polids, ddids.
virtual void observationId(casacore::Vector< casacore::Int > &obsids) const =0
Return the OBSERVATION_IDs.
virtual const casacore::Cube< casacore::Double > & receptorAngles() const =0
Return receptor angles for all antennae and feeds First axis of the cube is a receptor number...
virtual casacore::MPosition getObservatoryPosition() const =0
A class to provide easy read-only access to MSFlagCmd columns.
virtual void origin()=0
+==================================+ | | | Iteration Control and Monitoring | | | +==================...
virtual void fieldIds(casacore::Vector< casacore::Int > &) const =0
Return the current FieldId.
A class to provide easy read-only access to MSSysCal columns.
virtual casacore::Bool moreChunks() const =0
virtual void writeSigmaSpectrum(const casacore::Cube< casacore::Float > &sigsp)=0
Write/modify the sigmaSpectrum.
virtual casacore::Int spectralWindow() const =0
Return current SpectralWindow.
virtual void originChunks(casacore::Bool forceRewind=false)=0
Methods to control chunk iterator.
virtual const casacore::ROMSDataDescColumns & dataDescriptionSubtablecols() const =0
Access to dataDescription subtable.
virtual void writeFlag(const casacore::Cube< casacore::Bool > &flag)=0
Write/modify the flags in the data.
static casacore::Float parang0Calculate(casacore::Double time, casacore::MSDerivedValues &msd, const casacore::MEpoch &epoch0)
virtual casacore::Bool isNewSpectralWindow() const =0
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.