28 #ifndef MSVIS_VISIBILITYITERATORIMPLASYNC2_H
29 #define MSVIS_VISIBILITYITERATORIMPLASYNC2_H
64 class AsynchronousInterface;
66 class VisBufferAsyncWrapper2;
440 virtual void slurp ()
const;
564 const ChannelSelector *
570 const SpectralWindowChannels & spectralWindowChannels);
577 template <
typename T>
580 template <
typename T>
584 template <
typename T>
A Vector of integers, for indexing into Array<T> objects.
virtual void setRowBlocking(casacore::Int nRows=0)
Set the 'blocking' size for returning data.
A Measure: astronomical direction.
A Measure: position on Earth.
casacore::MFrequency::Types getObservatoryFrequencyType() const
virtual casacore::Bool newFieldId() const
Return true if FieldId/Source has changed since last iteration.
MSDerivedValues calculates values derived from a MS.
virtual const casacore::MeasurementSet & ms() const
reference to actual ms in interator
virtual casacore::Int numberDDId()
virtual casacore::Int numberPol()
virtual void feed1(casacore::Vector< casacore::Int > &fd1) const
Return feed1.
virtual const vi::SubtableColumns & subtableColumns() const
Get the spw, start and nchan for all the ms's is this Visiter that match the frequecy "freqstart-freq...
virtual casacore::MEpoch getEpoch() const
virtual casacore::Vector<casacore::MPosition> antennaPositions () const; casacore::MSDerivedValues m...
virtual void slurp() const
Return the number of sub-intervals in the current chunk.
casacore::Slice findChannelsInRange(casacore::Double lowerFrequency, casacore::Double upperFrequency, const SpectralWindowChannels &spectralWindowChannels)
virtual void visibilityCorrected(casacore::Cube< casacore::Complex > &vis) const
Return the visibilities as found in the casacore::MS, casacore::Cube (npol,nchan,nrow).
virtual void scan(casacore::Vector< casacore::Int > &scans) const
Return scan number.
const ChannelSelector * createDefaultChannelSelector(casacore::Double time, casacore::Int msId, casacore::Int spectralWindowId)
Object to hold type of imaging weight scheme to be used on the fly and to provide facilities to do th...
virtual void origin()
Members.
void positionMsIterToASelectedSpectralWindow()
Advances the casacore::MS Iterator until it points at a spectral window that is part of the frequency...
Main interface class to a read/write table.
VisibilityIterator2 iterates through one or more readonly MeasurementSets.
casacore::Bool existsWeightSpectrum() const
Determine whether WEIGHT_SPECTRUM exists.
casacore::Int getNAntennas() const
ChannelSelector * makeChannelSelectorF(const FrequencySelection &selection, casacore::Double time, casacore::Int msId, casacore::Int spectralWindowId)
virtual casacore::Int nRows() const
Return the number of rows in the current iteration.
TableExprNode array(const TableExprNode &values, const TableExprNodeSet &shape)
Create an array of the given shape and fill it with the values.
virtual void stateId(casacore::Vector< casacore::Int > &stateids) const
Return the STATE_IDs.
virtual void setInterval(casacore::Double timeInterval)
Return the time interval (in seconds) used for iteration.
AsynchronousInterface * interface_p
virtual void observationId(casacore::Vector< casacore::Int > &obsids) const
Return the OBSERVATION_IDs.
std::vector< casacore::MeasurementSet > getMeasurementSets() const
Returns the casacore::MS objects that this VI is iterating over.
VisibilityIteratorImplAsync2(VisibilityIterator2 *rovi, const casacore::Block< casacore::MeasurementSet > &mss, const casacore::Block< casacore::Int > &sortColumns, casacore::Bool addDefaultSortCols, casacore::Double timeInterval, casacore::Bool createVb, casacore::Bool isWritable)
VLAT should not access private parts, especially variables.
virtual void applyPendingChanges()
virtual casacore::Int numberSpw()
Return number of spws, polids, ddids.
virtual casacore::Bool isNewArrayId() const
Check if ms has change since last iteration.
virtual casacore::Bool moreChunks() const
Return false if no more 'Chunks' of data left.
void jonesC(casacore::Vector< casacore::SquareMatrix< casacore::Complex, 2 > > &cjones) const
Return feed configuration matrix for specified antenna.
friend class ViImplAsync2
virtual void writeFlag(const casacore::Matrix< casacore::Bool > &flag)
Write/modify the flags in the data.
virtual casacore::Bool more() const
Return false if no more data (in current chunk)
casacore::Vector< casacore::Double > getFrequencies(casacore::Double time, casacore::Int frameOfReference) const
virtual const casacore::Vector< casacore::String > & antennaMounts() const
return a string mount identifier for each antenna
friend class AsyncEnabler
void setReportingFrameOfReference(casacore::Int)
Sets the default frequency reporting frame of reference.
virtual casacore::Int polarizationId() const
Return current Polarization Id.
virtual void sigma(casacore::Vector< casacore::Float > &sig) const
Return sigma.
virtual void weightSpectrum(casacore::Cube< casacore::Float > &wtsp) const
Return weightspectrum (a weight for each channel)
virtual casacore::Int spectralWindow() const
Return current SpectralWindow.
void attachColumnsSafe(const casacore::Table &t)
virtual casacore::Int polFrame() const
Return frame for polarization (returns PolFrame enum)
virtual void flagRow(casacore::Vector< casacore::Bool > &rowflags) const
Return row flag.
A Measure: instant in time.
virtual void throwIfPendingChanges()
Throws exception if there is a pending (i.e., unapplied) change to the VI's properties.
virtual casacore::Bool existsColumn(VisBufferComponent2 id) const
void getVisibilityAsStokes(casacore::Matrix< CStokesVector > &visibilityStokes, const casacore::ArrayColumn< casacore::Complex > &column) const
virtual const casacore::Cube< casacore::RigidVector< casacore::Double, 2 > > & getBeamOffsets() const
Return a cube containing pairs of coordinate offsets for each receptor of each feed (values are in ra...
virtual void setTileCache()
Adjusts the tile cache for some columns so that the cache size is optimized for the current input sta...
virtual void antenna2(casacore::Vector< casacore::Int > &ant2) const
Return antenna2.
void getColumnRowsMatrix(const casacore::ArrayColumn< T > &column, casacore::Matrix< T > &array) const
virtual void attachColumns(const casacore::Table &t)
attach the column objects to the currently selected table
virtual casacore::Bool isNewMs() const
virtual void flag(casacore::Cube< casacore::Bool > &flags) const
Return flag for each polarization, channel and row.
virtual const casacore::Table attachTable() const
returns the table, to which columns are attached, can be overridden in derived classes ...
const casacore::MeasurementSet & getMeasurementSet() const
virtual const casacore::MDirection & phaseCenter() const
Return the current phase center as an MDirection.
virtual void initialize(const casacore::Block< casacore::MeasurementSet > &mss)
Ctor auxiliary method.
virtual void feed2(casacore::Vector< casacore::Int > &fd2) const
Return feed2.
casacore::Vector< casacore::Float > getReceptor0Angle()
Fast Square Matrix class with fixed (templated) size.
VisibilityIterator2 iterates through one or more readonly MeasurementSets.
virtual void getRowIds(casacore::Vector< casacore::uInt > &rowids) const
Return the row ids as from the original root table.
virtual void configureNewChunk()
set the iteration state
define a (start,length,increment) along an axis
virtual void writeFlagRow(const casacore::Vector< casacore::Bool > &rowflags)
Write/modify the flag row column; dimension casacore::Vector (nrow)
casacore::MFrequency::Convert makeFrequencyConverter(casacore::Double time, casacore::Int otherFrameOfReference, casacore::Bool toObservedFrame) const
virtual casacore::Bool isWritable() const override
virtual void sigmaMat(casacore::Matrix< casacore::Float > &sigmat) const
Return sigma matrix (pol-dep)
virtual casacore::Int fieldId() const
Return the current FieldId.
virtual void uvw(casacore::Matrix< casacore::Double > &uvwmat) const
Return u,v and w (in meters)
void writeVisObserved(const casacore::Matrix< CStokesVector > &visibilityStokes)
void writeVisModel(const casacore::Matrix< CStokesVector > &visibilityStokes)
VisBufferImplAsync2 * getVisBufferAsync() const
Get privileged (non-const) access to the containing ROVI.
virtual casacore::Int numberCoh()
Return number of rows in all selected ms's.
virtual casacore::Int msId() const
reference to actual ms in interator
bool Bool
Define the standard types used by Casacore.
virtual void processorId(casacore::Vector< casacore::Int > &procids) const
Return the PROCESSOR_IDs.
VisBufferAsyncWrapper2 * getVisBufferWrapper() const
Read and write access to an array table column with arbitrary data type.
virtual Subchunk getSubchunkId() const
virtual void writeSigma(const casacore::Vector< casacore::Float > &sig)
Write/modify the Sigma.
virtual ~VisibilityIteratorImplAsync2()
Destructor.
virtual casacore::Int nPolarizations() const
Return the number of correlations in the current iteration.
virtual void writeBackChanges(VisBuffer2 *)
+----------------—+ | | | Writeback Methods | | | +----------------—+
virtual const ChannelSelector * determineChannelSelection(casacore::Double time)
casacore::Bool isInASelectedSpectralWindow() const
Returns true if casacore::MS Iterator is currently pointing to a selected spectral window...
virtual void flagCategory(casacore::Array< casacore::Bool > &flagCategories) const
Return flags for each polarization, channel, category, and row.
virtual void writeWeight(const casacore::Vector< casacore::Float > &wt)
Write/modify the weights.
virtual void timeInterval(casacore::Vector< casacore::Double > &ti) const
Return nominal time interval.
casacore::Bool usesTiledDataManager(const casacore::String &columnName, const casacore::MeasurementSet &ms) const
Returns true if the named column uses a tiled data manager in the specified MS.
virtual const SpectralWindowChannels & getSpectralWindowChannels(casacore::Int msId, casacore::Int spectralWindowId) const
get back the selected spectral windows and spectral channels for current ms
const MsIterInfo & getMsIterInfo() const
virtual casacore::Int numberAnt()
return number of Ant
A Table intended to hold astronomical data (a set of Measurements).
virtual casacore::IPosition visibilityShape() const
Return the shape of the visibility Cube.
virtual void floatData(casacore::Cube< casacore::Float > &fcube) const
Return FLOAT_DATA as a casacore::Cube (npol, nchan, nrow) if found in the MS.
const casacore::MSDerivedValues & getMsd() const
Provides access to the casacore::MS-derived values object.
virtual void configureNewSubchunk()
set the currently selected table
void getColumnRows(const casacore::ArrayColumn< T > &column, casacore::Array< T > &array) const
Methods to get the data out of a table column according to whatever selection criteria (e...
void writeFlagCategory(const casacore::Array< casacore::Bool > &fc)
void writeVisCorrected(const casacore::Matrix< CStokesVector > &visibilityStokes)
Write/modify the visibilities.
virtual void writeSigmaMat(const casacore::Matrix< casacore::Float > &sigmat)
Write/modify the ncorr x nrow SigmaMat.
virtual void writeWeightSpectrum(const casacore::Cube< casacore::Float > &wtsp)
Write/modify the weightSpectrum.
virtual void antenna1(casacore::Vector< casacore::Int > &ant1) const
Return antenna1.
virtual void time(casacore::Vector< casacore::Double > &t) const
Return MJD midpoint of interval.
virtual casacore::Bool newSpectralWindow() const
Return true if SpectralWindow has changed since last iteration.
virtual void corrType(casacore::Vector< casacore::Int > &corrTypes) const
Return the correlation type (returns casacore::Stokes enums)
casacore::Int getReportingFrameOfReference() const
virtual void advance()
advance the iteration
virtual void exposure(casacore::Vector< casacore::Double > &expo) const
Return actual time interval.
casacore::MPosition getObservatoryPosition() const
VisBuffer2s encapsulate one chunk of visibility data for processing.
virtual casacore::Bool newArrayId() const
Return true if arrayID has changed since last iteration.
virtual casacore::Bool isNewSpectralWindow() const
virtual void originChunks()
Reset iterator to true start of data (first chunk)
virtual void writeWeightMat(const casacore::Matrix< casacore::Float > &wtmat)
Write/modify the weightMat.
virtual const casacore::Cube< casacore::Double > & receptorAngles() const
Return receptor angles for all antennae and feeds First axis of the cube is a receptor number...
const VisImagingWeight & getImagingWeightGenerator() const
Return imaging weight (a weight for each channel) virtual casacore::Matrix<casacore::Float> & imagin...
String: the storage and methods of handling collections of characters.
virtual void weight(casacore::Vector< casacore::Float > &wt) const
Return weight.
virtual void useImagingWeight(const VisImagingWeight &imWgt)
assign a VisImagingWeight object to this iterator
casacore::Bool existsFlagCategory() const
Determine whether FLAG_CATEGORY is valid.
casacore::Int getMeasurementSetId() const
virtual casacore::Int arrayId() const
Return the current ArrayId.
casacore::Int getDataDescriptionId() const
Access to a scalar table column with arbitrary data type.
Types
Types of known MFrequencies Warning: The order defines the order in the translation matrix FromTo in...
virtual casacore::Bool isNewFieldId() const
virtual void visibilityObserved(casacore::Cube< casacore::Complex > &vis) const
virtual void timeCentroid(casacore::Vector< casacore::Double > &t) const
Return MJD centroid of interval.
casacore::Vector< casacore::Int > getChannels(casacore::Double time, casacore::Int frameOfReference) const
virtual void nextChunk()
Advance to the next Chunk of data.
virtual void weightMat(casacore::Matrix< casacore::Float > &wtmat) const
Returns the nPol_p x curNumRow_p weight matrix.
virtual void visibilityModel(casacore::Cube< casacore::Complex > &vis) const
virtual void setFrequencySelections(const FrequencySelections &selection)
Select the channels to be returned.
virtual casacore::Int nRowsInChunk() const
Return the numbers of rows in the current chunk.
virtual casacore::Int dataDescriptionId() const
Return current DataDescription Id.
ChannelSelector * makeChannelSelectorC(const FrequencySelection &selection, casacore::Double time, casacore::Int msId, casacore::Int spectralWindowId)
Creates a channel selection for the current subchunk based on the channel or frequency selection made...
VisibilityIterator2 * getViP() const