casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Attributes | Friends | List of all members
casa::vi::VisibilityIteratorImplAsync2 Class Reference

VisibilityIterator2 iterates through one or more readonly MeasurementSets. More...

#include <VisibilityIteratorImplAsync2.h>

Inheritance diagram for casa::vi::VisibilityIteratorImplAsync2:
casa::vi::VisibilityIteratorImpl2 casa::vi::ViImplementation2

Public Member Functions

 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. More...
 
 VisibilityIteratorImplAsync2 (const VisibilityIteratorImplAsync2 &other, VisibilityIterator2 *rovi)
 Copy construct. More...
 
virtual ~VisibilityIteratorImplAsync2 ()
 Destructor. More...
 
virtual void origin ()
 Members. More...
 
virtual void originChunks ()
 Reset iterator to true start of data (first chunk) More...
 
virtual void setInterval (casacore::Double timeInterval)
 Return the time interval (in seconds) used for iteration. More...
 
virtual void setRowBlocking (casacore::Int nRows=0)
 Set the 'blocking' size for returning data. More...
 
virtual casacore::Bool existsColumn (VisBufferComponent2 id) const
 
virtual casacore::Bool more () const
 Return false if no more data (in current chunk) More...
 
virtual Subchunk getSubchunkId () const
 
virtual void setFrequencySelections (const FrequencySelections &selection)
 Select the channels to be returned. More...
 
virtual casacore::Bool moreChunks () const
 Return false if no more 'Chunks' of data left. More...
 
virtual casacore::Bool isNewArrayId () const
 Check if ms has change since last iteration. More...
 
virtual casacore::Bool isNewFieldId () const
 
virtual casacore::Bool isNewMs () const
 
virtual casacore::Bool isNewSpectralWindow () const
 
virtual casacore::Int msId () const
 reference to actual ms in interator More...
 
virtual const
casacore::MeasurementSet
ms () const
 reference to actual ms in interator More...
 
virtual void nextChunk ()
 Advance to the next Chunk of data. More...
 
virtual void antenna1 (casacore::Vector< casacore::Int > &ant1) const
 Return antenna1. More...
 
virtual void antenna2 (casacore::Vector< casacore::Int > &ant2) const
 Return antenna2. More...
 
virtual void feed1 (casacore::Vector< casacore::Int > &fd1) const
 Return feed1. More...
 
virtual void feed2 (casacore::Vector< casacore::Int > &fd2) const
 Return feed2. More...
 
void jonesC (casacore::Vector< casacore::SquareMatrix< casacore::Complex, 2 > > &cjones) const
 Return feed configuration matrix for specified antenna. More...
 
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, 2nd is antennaId, 3rd is feedId Note: the method is intended to provide an access to MSIter::receptorAngles for VisBuffer in the multi-feed case. More...
 
virtual const casacore::Vector
< casacore::String > & 
antennaMounts () const
 return a string mount identifier for each antenna More...
 
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 radians, coordinate system is fixed with antenna and is the same one as used to define the BEAM_OFFSET parameter in the feed table). More...
 
virtual casacore::Int fieldId () const
 Return the current FieldId. More...
 
virtual casacore::Int arrayId () const
 Return the current ArrayId. More...
 
virtual void flag (casacore::Cube< casacore::Bool > &flags) const
 Return flag for each polarization, channel and row. More...
 
virtual void flag (casacore::Matrix< casacore::Bool > &flags) const
 Return flag for each channel & row. More...
 
casacore::Bool existsFlagCategory () const
 Determine whether FLAG_CATEGORY is valid. More...
 
virtual void flagCategory (casacore::Array< casacore::Bool > &flagCategories) const
 Return flags for each polarization, channel, category, and row. More...
 
virtual void flagRow (casacore::Vector< casacore::Bool > &rowflags) const
 Return row flag. More...
 
virtual void scan (casacore::Vector< casacore::Int > &scans) const
 Return scan number. More...
 
virtual void observationId (casacore::Vector< casacore::Int > &obsids) const
 Return the OBSERVATION_IDs. More...
 
virtual void processorId (casacore::Vector< casacore::Int > &procids) const
 Return the PROCESSOR_IDs. More...
 
virtual void stateId (casacore::Vector< casacore::Int > &stateids) const
 Return the STATE_IDs. More...
 
virtual const
casacore::MDirection
phaseCenter () const
 Return the current phase center as an MDirection. More...
 
virtual casacore::Int polFrame () const
 Return frame for polarization (returns PolFrame enum) More...
 
virtual void corrType (casacore::Vector< casacore::Int > &corrTypes) const
 Return the correlation type (returns casacore::Stokes enums) More...
 
virtual void sigma (casacore::Vector< casacore::Float > &sig) const
 Return sigma. More...
 
virtual void sigmaMat (casacore::Matrix< casacore::Float > &sigmat) const
 Return sigma matrix (pol-dep) More...
 
virtual casacore::Int spectralWindow () const
 Return current SpectralWindow. More...
 
virtual casacore::Int polarizationId () const
 Return current Polarization Id. More...
 
virtual casacore::Int dataDescriptionId () const
 Return current DataDescription Id. More...
 
virtual void time (casacore::Vector< casacore::Double > &t) const
 Return MJD midpoint of interval. More...
 
virtual void timeCentroid (casacore::Vector< casacore::Double > &t) const
 Return MJD centroid of interval. More...
 
virtual void timeInterval (casacore::Vector< casacore::Double > &ti) const
 Return nominal time interval. More...
 
virtual void exposure (casacore::Vector< casacore::Double > &expo) const
 Return actual time interval. More...
 
virtual void visibilityCorrected (casacore::Cube< casacore::Complex > &vis) const
 Return the visibilities as found in the casacore::MS, casacore::Cube (npol,nchan,nrow). More...
 
virtual void visibilityModel (casacore::Cube< casacore::Complex > &vis) const
 
virtual void visibilityObserved (casacore::Cube< casacore::Complex > &vis) const
 
virtual void floatData (casacore::Cube< casacore::Float > &fcube) const
 Return FLOAT_DATA as a casacore::Cube (npol, nchan, nrow) if found in the MS. More...
 
virtual void visibilityCorrected (casacore::Matrix< CStokesVector > &vis) const
 Return the visibility 4-vector of polarizations for each channel. More...
 
virtual void visibilityModel (casacore::Matrix< CStokesVector > &vis) const
 
virtual void visibilityObserved (casacore::Matrix< CStokesVector > &vis) const
 
virtual casacore::IPosition visibilityShape () const
 Return the shape of the visibility Cube. More...
 
virtual void uvw (casacore::Matrix< casacore::Double > &uvwmat) const
 Return u,v and w (in meters) More...
 
virtual void weight (casacore::Vector< casacore::Float > &wt) const
 Return weight. More...
 
virtual void weightMat (casacore::Matrix< casacore::Float > &wtmat) const
 Returns the nPol_p x curNumRow_p weight matrix. More...
 
casacore::Bool existsWeightSpectrum () const
 Determine whether WEIGHT_SPECTRUM exists. More...
 
virtual void weightSpectrum (casacore::Cube< casacore::Float > &wtsp) const
 Return weightspectrum (a weight for each channel) More...
 
const VisImagingWeightgetImagingWeightGenerator () const
 
Return imaging weight (a weight for each channel)

virtual casacore::Matrix<casacore::Float> & imagingWeight (casacore::Matrix<casacore::Float> & wt) const; More...

 
virtual casacore::Bool newFieldId () const
 Return true if FieldId/Source has changed since last iteration. More...
 
virtual casacore::Bool newArrayId () const
 Return true if arrayID has changed since last iteration. More...
 
virtual casacore::Bool newSpectralWindow () const
 Return true if SpectralWindow has changed since last iteration. More...
 
virtual casacore::Int nPolarizations () const
 Return the number of correlations in the current iteration. More...
 
virtual casacore::Int nRows () const
 Return the number of rows in the current iteration. More...
 
virtual void getRowIds (casacore::Vector< casacore::uInt > &rowids) const
 Return the row ids as from the original root table. More...
 
virtual casacore::Int nRowsInChunk () const
 Return the numbers of rows in the current chunk. More...
 
virtual void slurp () const
 Return the number of sub-intervals in the current chunk. More...
 
virtual const vi::SubtableColumnssubtableColumns () const
 Get the spw, start and nchan for all the ms's is this Visiter that match the frequecy "freqstart-freqStep" and "freqEnd+freqStep" range Can help in doing channel selection above. More...
 
virtual const
SpectralWindowChannels & 
getSpectralWindowChannels (casacore::Int msId, casacore::Int spectralWindowId) const
 get back the selected spectral windows and spectral channels for current ms More...
 
virtual void useImagingWeight (const VisImagingWeight &imWgt)
 assign a VisImagingWeight object to this iterator More...
 
virtual casacore::Int numberAnt ()
 return number of Ant More...
 
virtual casacore::Int numberCoh ()
 Return number of rows in all selected ms's. More...
 
virtual casacore::Int numberSpw ()
 Return number of spws, polids, ddids. More...
 
virtual casacore::Int numberPol ()
 
virtual casacore::Int numberDDId ()
 
casacore::Int getDataDescriptionId () const
 
const casacore::MeasurementSetgetMeasurementSet () const
 
casacore::Int getMeasurementSetId () const
 
casacore::Int getNAntennas () const
 
virtual casacore::MEpoch getEpoch () const
 
virtual casacore::Vector<casacore::MPosition> antennaPositions () const;

casacore::MSDerivedValues makeMsd (); More...

 
casacore::MFrequency::Types getObservatoryFrequencyType () const
 
casacore::MPosition getObservatoryPosition () const
 
casacore::Vector< casacore::FloatgetReceptor0Angle ()
 
virtual void writeFlag (const casacore::Matrix< casacore::Bool > &flag)
 Write/modify the flags in the data. More...
 
virtual void writeFlag (const casacore::Cube< casacore::Bool > &flag)
 Write/modify the flags in the data. More...
 
virtual void writeFlagRow (const casacore::Vector< casacore::Bool > &rowflags)
 Write/modify the flag row column; dimension casacore::Vector (nrow) More...
 
void writeFlagCategory (const casacore::Array< casacore::Bool > &fc)
 
void writeVisCorrected (const casacore::Matrix< CStokesVector > &visibilityStokes)
 Write/modify the visibilities. More...
 
void writeVisModel (const casacore::Matrix< CStokesVector > &visibilityStokes)
 
void writeVisObserved (const casacore::Matrix< CStokesVector > &visibilityStokes)
 
virtual void writeVisCorrected (const casacore::Cube< casacore::Complex > &vis)
 Write/modify the visibilities This writes the data as found in the casacore::MS, casacore::Cube (npol,nchan,nrow). More...
 
virtual void writeVisModel (const casacore::Cube< casacore::Complex > &vis)
 
virtual void writeVisObserved (const casacore::Cube< casacore::Complex > &vis)
 
virtual void writeWeight (const casacore::Vector< casacore::Float > &wt)
 Write/modify the weights. More...
 
virtual void writeWeightMat (const casacore::Matrix< casacore::Float > &wtmat)
 Write/modify the weightMat. More...
 
virtual void writeWeightSpectrum (const casacore::Cube< casacore::Float > &wtsp)
 Write/modify the weightSpectrum. More...
 
virtual void writeSigma (const casacore::Vector< casacore::Float > &sig)
 Write/modify the Sigma. More...
 
virtual void writeSigmaMat (const casacore::Matrix< casacore::Float > &sigmat)
 Write/modify the ncorr x nrow SigmaMat. More...
 
virtual void writeBackChanges (VisBuffer2 *)
 +----------------—+ | | | Writeback Methods | | | +----------------—+ More...
 
- Public Member Functions inherited from casa::vi::VisibilityIteratorImpl2
 VisibilityIteratorImpl2 (const casacore::Block< const casacore::MeasurementSet * > &mss, const SortColumns &sortColumns, casacore::Double timeInterval, casacore::Bool isWritable, casacore::Bool useMSIter2=false)
 
Default constructor - useful only to assign another iterator later

VisibilityIteratorImpl2 (); More...

 
 VisibilityIteratorImpl2 (const VisibilityIteratorImpl2 &vii)
 
VisibilityIteratorImpl2operator= (const VisibilityIteratorImpl2 &vii)
 
 VisibilityIteratorImpl2 (VisibilityIteratorImpl2 &&vii)
 
VisibilityIteratorImpl2operator= (VisibilityIteratorImpl2 &&vii)
 
virtual ~VisibilityIteratorImpl2 ()
 Destructor. More...
 
std::unique_ptr
< VisibilityIteratorImpl2
clone () const
 Members. More...
 
virtual casacore::String ViiType () const override
 Report the the ViImplementation type TBD: indicate writable? More...
 
virtual casacore::Bool isWritable () const override
 
virtual casacore::Double getInterval () const override
 Return the time interval (in seconds) used for iteration. More...
 
virtual const SortColumnsgetSortColumns () const override
 
virtual casacore::Int getNMs () const override
 
virtual VisBuffer2getVisBuffer () const override
 
virtual casacore::String msName () const override
 Name of the MS in the interator. More...
 
virtual void next () override
 advance the iteration More...
 
virtual casacore::String keyChange () const override
 Report Name of slowest column that changes at end of current iteration. More...
 
void jonesC (casacore::Vector< casacore::SquareMatrix< casacore::Complex, 2 > > &cjones) const override
 Return feed configuration matrix for specified antenna. More...
 
virtual std::pair< bool,
casacore::MDirection
getPointingAngle (int antenna, double time) const override
 
virtual casacore::Bool allBeamOffsetsZero () const override
 true if all elements of the cube returned by getBeamOffsets are zero More...
 
virtual const casacore::Vector
< casacore::Float > & 
feed_pa (casacore::Double time) const override
 Return feed parallactic angles casacore::Vector (nant) (1 feed/ant) More...
 
virtual const casacore::Floatparang0 (casacore::Double time) const override
 Return nominal parallactic angle at specified time (does not include feed position angle offset–see feed_pa) A global value for all antennas (e.g., small array) More...
 
virtual const casacore::Vector
< casacore::Float > & 
parang (casacore::Double time) const override
 Per antenna: More...
 
virtual casacore::MDirection azel0 (casacore::Double time) const override
 Return the antenna AZ/EL casacore::Vector(nant) More...
 
virtual const casacore::Vector
< casacore::MDirection > & 
azel (casacore::Double time) const override
 
virtual casacore::Double hourang (casacore::Double time) const override
 Return the hour angle for the specified time. More...
 
virtual void fieldIds (casacore::Vector< casacore::Int > &) const override
 Return the current FieldId. More...
 
virtual void arrayIds (casacore::Vector< casacore::Int > &) const override
 Return the current ArrayId. More...
 
virtual casacore::String fieldName () const override
 Return the current Field Name. More...
 
virtual casacore::String sourceName () const override
 Return the current Source Name. More...
 
casacore::Bool flagCategoryExists () const override
 Determine whether FLAG_CATEGORY is valid. More...
 
virtual void sigma (casacore::Matrix< casacore::Float > &sig) const override
 Return sigma. More...
 
virtual void spectralWindows (casacore::Vector< casacore::Int > &spws) const override
 
virtual void dataDescriptionIds (casacore::Vector< casacore::Int > &ddis) const override
 
virtual casacore::Vector
< casacore::Vector
< casacore::Int > > 
getAllSelectedSpws () const
 This will return all selected spwids for each ms attached with this iterator. More...
 
virtual void weight (casacore::Matrix< casacore::Float > &wt) const override
 Return weight. More...
 
casacore::Bool weightSpectrumExists () const override
 Determine whether WEIGHT_SPECTRUM exists. More...
 
casacore::Bool sigmaSpectrumExists () const override
 Determine whether SIGMA_SPECTRUM exists. More...
 
virtual void sigmaSpectrum (casacore::Cube< casacore::Float > &sigsp) const override
 Return sigmaspectrum(a sigma for each channel) More...
 
virtual void setWeightScaling (casacore::CountedPtr< WeightScaling > weightscaling) override
 
virtual casacore::CountedPtr
< WeightScaling
getWeightScaling () const override
 
virtual casacore::Bool hasWeightScaling () const override
 
const VisImagingWeightgetImagingWeightGenerator () const override
 
Return imaging weight (a weight for each channel)

virtual casacore::Matrix<casacore::Float> & imagingWeight(casacore::Matrix<casacore::Float> & wt) const; More...

 
virtual casacore::Int nAntennas () const override
 return number of Ant More...
 
virtual casacore::Int nRowsViWillSweep () const override
 Return number of rows in all selected ms's. More...
 
virtual casacore::Int nSpectralWindows () const override
 Return number of spws, polids, ddids. More...
 
virtual casacore::Int nPolarizationIds () const override
 
virtual casacore::Int nDataDescriptionIds () const override
 
casacore::MFrequency::Types getObservatoryFrequencyType () const override
 
casacore::MPosition getObservatoryPosition () const override
 
casacore::Vector< casacore::FloatgetReceptor0Angle () override
 
void writeFlagCategory (const casacore::Array< casacore::Bool > &fc) override
 
virtual void writeWeight (const casacore::Matrix< casacore::Float > &wt) override
 Write/modify the weights. More...
 
virtual void initWeightSpectrum (const casacore::Cube< casacore::Float > &weightSpectrum) override
 Initialize the weightSpectrum column. More...
 
virtual void writeSigmaSpectrum (const casacore::Cube< casacore::Float > &sigsp) override
 Write/modify the sigmaSpectrum. More...
 
virtual void initSigmaSpectrum (const casacore::Cube< casacore::Float > &sigmaSpectrum) override
 Initialize the sigmaSpectrum column. More...
 
virtual void writeSigma (const casacore::Matrix< casacore::Float > &sig) override
 Write/modify the Sigma. More...
 
virtual void writeModel (const casacore::RecordInterface &rec, casacore::Bool iscomponentlist=true, casacore::Bool incremental=false) override
 Write/modify the ncorr x nrow SigmaMat. More...
 
const
casacore::ROMSAntennaColumns
antennaSubtablecols () const override
 
const
casacore::ROMSDataDescColumns
dataDescriptionSubtablecols () const override
 Access to dataDescription subtable. More...
 
const casacore::ROMSFeedColumnsfeedSubtablecols () const override
 Access to feed subtable. More...
 
const casacore::ROMSFieldColumnsfieldSubtablecols () const override
 Access to field subtable. More...
 
const
casacore::ROMSFlagCmdColumns
flagCmdSubtablecols () const override
 Access to flagCmd subtable. More...
 
const
casacore::ROMSHistoryColumns
historySubtablecols () const override
 Access to history subtable. More...
 
const
casacore::ROMSObservationColumns
observationSubtablecols () const override
 Access to observation subtable. More...
 
const
casacore::ROMSPointingColumns
pointingSubtablecols () const override
 Access to pointing subtable. More...
 
const
casacore::ROMSPolarizationColumns
polarizationSubtablecols () const override
 Access to polarization subtable. More...
 
const
casacore::ROMSProcessorColumns
processorSubtablecols () const override
 Access to processor subtable. More...
 
const
casacore::ROMSSpWindowColumns
spectralWindowSubtablecols () const override
 Access to spectralWindow subtable. More...
 
const casacore::ROMSStateColumnsstateSubtablecols () const override
 Access to state subtable. More...
 
const
casacore::ROMSDopplerColumns
dopplerSubtablecols () const override
 Access to doppler subtable. More...
 
const
casacore::ROMSFreqOffsetColumns
freqOffsetSubtablecols () const override
 Access to freqOffset subtable. More...
 
const casacore::ROMSSourceColumnssourceSubtablecols () const override
 Access to source subtable. More...
 
const casacore::ROMSSysCalColumnssysCalSubtablecols () const override
 Access to sysCal subtable. More...
 
const
casacore::ROMSWeatherColumns
weatherSubtablecols () const override
 Access to weather subtable. More...
 
- Public Member Functions inherited from casa::vi::ViImplementation2
 ViImplementation2 (const ViImplementation2 &)=delete
 make noncopyable... More...
 
ViImplementation2operator= (const ViImplementation2 &)=delete
 
 ViImplementation2 ()
 
virtual ~ViImplementation2 ()
 Destructor. More...
 

Protected Member Functions

void attachColumnsSafe (const casacore::Table &t)
 
virtual void attachColumns (const casacore::Table &t)
 attach the column objects to the currently selected table More...
 
virtual const casacore::Table attachTable () const
 returns the table, to which columns are attached, can be overridden in derived classes More...
 
virtual void advance ()
 advance the iteration More...
 
virtual void applyPendingChanges ()
 
virtual void configureNewChunk ()
 set the iteration state More...
 
virtual void configureNewSubchunk ()
 set the currently selected table More...
 
const ChannelSelector * createDefaultChannelSelector (casacore::Double time, casacore::Int msId, casacore::Int spectralWindowId)
 
virtual const ChannelSelector * determineChannelSelection (casacore::Double time)
 
casacore::Slice findChannelsInRange (casacore::Double lowerFrequency, casacore::Double upperFrequency, const SpectralWindowChannels &spectralWindowChannels)
 
void fillVisBuffer ()
 
template<typename T >
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.g., slicing) is in effect. More...
 
template<typename T >
void getColumnRowsMatrix (const casacore::ArrayColumn< T > &column, casacore::Matrix< T > &array) const
 
template<typename T >
void getColumnRows (const casacore::ScalarColumn< T > &column, casacore::Vector< T > &array) const
 
casacore::Vector
< casacore::Double
getFrequencies (casacore::Double time, casacore::Int frameOfReference) const
 
casacore::Vector< casacore::IntgetChannels (casacore::Double time, casacore::Int frameOfReference) const
 
casacore::Int getReportingFrameOfReference () const
 
std::vector
< casacore::MeasurementSet
getMeasurementSets () const
 Returns the casacore::MS objects that this VI is iterating over. More...
 
const casacore::MSDerivedValuesgetMsd () const
 Provides access to the casacore::MS-derived values object. More...
 
const MsIterInfogetMsIterInfo () const
 
VisBufferImplAsync2getVisBufferAsync () const
 Get privileged (non-const) access to the containing ROVI. More...
 
VisBufferAsyncWrapper2 * getVisBufferWrapper () const
 
VisibilityIterator2getViP () const
 
void getVisibilityAsStokes (casacore::Matrix< CStokesVector > &visibilityStokes, const casacore::ArrayColumn< casacore::Complex > &column) const
 
virtual void initialize (const casacore::Block< casacore::MeasurementSet > &mss)
 Ctor auxiliary method. More...
 
casacore::Bool isInASelectedSpectralWindow () const
 Returns true if casacore::MS Iterator is currently pointing to a selected spectral window. More...
 
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 by the user. More...
 
ChannelSelector * makeChannelSelectorF (const FrequencySelection &selection, casacore::Double time, casacore::Int msId, casacore::Int spectralWindowId)
 
casacore::MFrequency::Convert makeFrequencyConverter (casacore::Double time, casacore::Int otherFrameOfReference, casacore::Bool toObservedFrame) const
 
virtual void originChunks (casacore::Bool forceRewind)
 Method to reset the VI back to the start. More...
 
void positionMsIterToASelectedSpectralWindow ()
 Advances the casacore::MS Iterator until it points at a spectral window that is part of the frequency selection. More...
 
void readComplete ()
 
void setReportingFrameOfReference (casacore::Int)
 Sets the default frequency reporting frame of reference. More...
 
virtual void setTileCache ()
 Adjusts the tile cache for some columns so that the cache size is optimized for the current input state (e.g., a new data description). More...
 
virtual void throwIfPendingChanges ()
 Throws exception if there is a pending (i.e., unapplied) change to the VI's properties. More...
 
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. More...
 
- Protected Member Functions inherited from casa::vi::VisibilityIteratorImpl2
virtual void allSpectralWindowsSelected (casacore::Vector< casacore::Int > &selectedWindows, casacore::Vector< casacore::Int > &nChannels) const
 
const ChannelSelector * createDefaultChannelSelector (casacore::Double time, casacore::Int msId, casacore::Int spectralWindowId)
 
virtual const vi::ChannelSelector * determineChannelSelection (casacore::Double time, casacore::Int spectralWindowId=-1, casacore::Int polarizationId=-1, casacore::Int msId=-1) const
 
bool fillFromVirtualModel (casacore::Cube< casacore::Complex > &value) const
 
casacore::Slice findChannelsInRange (casacore::Double lowerFrequency, casacore::Double upperFrequency, const vi::SpectralWindowChannels &spectralWindowChannels) const
 
ChannelInfo getChannelInformation (casacore::Bool now) const
 
ChannelInfo getChannelInformationUsingFrequency (casacore::Bool now) const
 
template<typename T >
void getColumnRows (const casacore::ScalarColumn< T > &column, casacore::Vector< T > &array) const
 Methods to get the data out of a table column according to whatever selection criteria (e.g., slicing) is in effect. More...
 
template<typename T >
void getColumnRowsMatrix (const casacore::ArrayColumn< T > &column, casacore::Matrix< T > &array, casacore::Bool correlationSlicing) const
 
template<typename T >
void getColumnRows (const casacore::ArrayColumn< T > &column, casacore::Array< T > &array) const
 
casacore::Vector
< casacore::Double
getFrequencies (casacore::Double time, casacore::Int frameOfReference, casacore::Int spectralWindowId, casacore::Int msId) const override
 
casacore::Vector< casacore::IntgetChannels (casacore::Double time, casacore::Int frameOfReference, casacore::Int spectralWindowId, casacore::Int msId) const override
 
casacore::Vector< casacore::IntgetCorrelations () const override
 
casacore::Vector
< casacore::Stokes::StokesTypes
getCorrelationTypesDefined () const override
 
casacore::Vector
< casacore::Stokes::StokesTypes
getCorrelationTypesSelected () const override
 
int getMeasurementFrame (int spectralWindowId) const
 
casacore::Int getPolarizationId (casacore::Int spectralWindowId, casacore::Int msId) const
 
casacore::Int getReportingFrameOfReference () const override
 
casacore::Block
< casacore::MeasurementSet
getMeasurementSets () const
 Returns the casacore::MS objects that this VI is iterating over. More...
 
const casacore::MSDerivedValuesgetMsd () const
 Provides access to the casacore::MS-derived values object. More...
 
VisibilityIterator2getViP () const
 Get privileged (non-const) access to the containing ROVI. More...
 
VisBuffer2getVisBuffer (const VisibilityIterator2 *) const
 void getVisibilityAsStokes(casacore::Matrix<CStokesVector> & visibilityStokes, const casacore::ArrayColumn<casacore::Complex> & column) const; More...
 
virtual void addDataSelection (const casacore::MeasurementSet &ms)
 Ctor auxiliary method. More...
 
virtual void initialize (const casacore::Block< const casacore::MeasurementSet * > &mss, casacore::Bool useMSIter2=false)
 
casacore::Bool isInASelectedSpectralWindow () const
 Returns true if casacore::MS Iterator is currently pointing to a selected spectral window. More...
 
vi::ChannelSelector * makeChannelSelectorC (const FrequencySelection &selection, casacore::Double time, casacore::Int msId, casacore::Int spectralWindowId, casacore::Int polarizationId) const
 Creates a channel selection for the current subchunk based on the channel or frequency selection made by the user. More...
 
vi::ChannelSelector * makeChannelSelectorF (const FrequencySelection &selection, casacore::Double time, casacore::Int msId, casacore::Int spectralWindowId, casacore::Int polarizationId) const
 
casacore::MFrequency::Convert makeFrequencyConverter (casacore::Double time, int spectralWindowId, casacore::Int otherFrameOfReference, casacore::Bool toObservedFrame, casacore::Unit) const
 
const casacore::ROMSColumnsmsColumnsKluge () const
 Allow access to the casacore::MSColumns object; for use by VisBuffer2Adapter KLUGE More...
 
void positionMsIterToASelectedSpectralWindow ()
 Advances the casacore::MS Iterator until it points at a spectral window that is part of the frequency selection. More...
 
void setReportingFrameOfReference (casacore::Int) override
 Sets the default frequency reporting frame of reference. More...
 
void setMsCacheSizes (const casacore::MeasurementSet &ms, std::vector< casacore::MSMainEnums::PredefinedColumns > columnIds)
 
void setMsColumnCacheSizes (const casacore::MeasurementSet &, const string &)
 
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. More...
 
void initializeBackWriters ()
 
template<typename T >
void putColumnRows (casacore::ArrayColumn< T > &column, const casacore::Array< T > &array)
 
template<typename T >
void putColumnRows (casacore::ArrayColumn< T > &column, const casacore::Matrix< T > &array)
 
template<typename T >
void putColumnRows (casacore::ScalarColumn< T > &column, const casacore::Vector< T > &array)
 
- Protected Member Functions inherited from casa::vi::ViImplementation2
virtual VisBuffer2createAttachedVisBuffer (VisBufferOptions options)
 
VisBuffer2getVisBuffer (const VisibilityIterator2 *) const
 

Private Attributes

AsynchronousInterfaceinterface_p
 
VlaDatavlaData_p
 

Friends

class AsyncEnabler
 
class ViImplAsync2
 
class VisibilityIterator2
 
class VLAT
 

Additional Inherited Members

- Public Types inherited from casa::vi::VisibilityIteratorImpl2
typedef
VisibilityIterator2::DataColumn 
DataColumn
 VLAT should not access private parts, especially variables. More...
 
typedef std::tuple
< casacore::Vector
< casacore::Int >
, casacore::Vector
< casacore::Int >
, casacore::Vector
< casacore::Int >
, casacore::Vector
< casacore::Int > > 
ChannelInfo
 
- Static Public Member Functions inherited from casa::vi::ViImplementation2
static void azel0Calculate (casacore::Double time, casacore::MSDerivedValues &msd, casacore::MDirection &azel0, const casacore::MEpoch &mEpoch0)
 
static void azelCalculate (casacore::Double time, casacore::MSDerivedValues &msd, casacore::Vector< casacore::MDirection > &azel, casacore::Int nAnt, const casacore::MEpoch &mEpoch0)
 
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)
 
static casacore::Double hourangCalculate (casacore::Double time, casacore::MSDerivedValues &msd, const casacore::MEpoch &mEpoch0)
 
static casacore::Float parang0Calculate (casacore::Double time, casacore::MSDerivedValues &msd, const casacore::MEpoch &epoch0)
 
static casacore::Vector
< casacore::Float
parangCalculate (casacore::Double time, casacore::MSDerivedValues &msd, int nAntennas, const casacore::MEpoch mEpoch0)
 
- Protected Types inherited from casa::vi::VisibilityIteratorImpl2
typedef casacore::Block
< casacore::MeasurementSet
MeasurementSets
 
- Static Protected Member Functions inherited from casa::vi::VisibilityIteratorImpl2
template<typename Ret >
static BackWritermakeBackWriter (void(VisibilityIteratorImpl2::*setter)(Ret), Ret(VisBuffer2::*getter)() const)
 Backwriter(2) creation methods. More...
 
template<typename Ret >
static BackWritermakeBackWriter2 (void(VisibilityIteratorImpl2::*setter)(Ret, VisibilityIteratorImpl2::DataColumn), Ret(VisBuffer2::*getter)() const, VisibilityIterator2::DataColumn dc)
 
- Static Protected Member Functions inherited from casa::vi::ViImplementation2
static void doWeightScaling (casacore::Bool hasWeightScaling, WeightScaling *scaling, const casacore::Array< casacore::Float > &unscaled, casacore::Array< casacore::Float > &scaled)
 
- Protected Attributes inherited from casa::vi::VisibilityIteratorImpl2
casacore::Bool autoTileCacheSizing_p
 
std::map< VisBufferComponent2,
BackWriter * > 
backWriters_p
 
Cache cache_p
 general collection of cached values More...
 
const ChannelSelector * channelSelector_p
 [use] current channel selector for this casacore::MS & Spw More...
 
ChannelSelectorCache * channelSelectorCache_p
 [own] cache of recently used channel selectors More...
 
ViColumns2 columns_p
 The main columns for the current MS. More...
 
casacore::Bool floatDataFound_p
 true if a float data column was found More...
 
FrequencySelectionsfrequencySelections_p
 [own] Current frequency selection More...
 
VisImagingWeight imwgt_p
 object to calculate imaging weight More...
 
casacore::Int measurementFrame_p
 cached value of observatory type More...
 
MeasurementSets measurementSets_p
 
VisModelDataImodelDataGenerator_p
 
casacore::Bool more_p
 true if more data in this chunk More...
 
casacore::Int msIndex_p
 array index of current MS More...
 
casacore::Bool msIterAtOrigin_p
 true if casacore::MS Iter is a start of first MS More...
 
casacore::CountedPtr
< casacore::MSIter
msIter_p
 casacore::MS Iter that underlies the VI (sweeps in chunks) More...
 
casacore::MSDerivedValues msd_p
 Helper class holding casacore::MS derived values. More...
 
casacore::Int nCorrelations_p
 
casacore::Int nRowBlocking_p
 suggested # of rows in a subchunk More...
 
std::unique_ptr< PendingChangespendingChanges_p
 holds pending changes to VI properties More...
 
std::unique_ptr
< PointingDirectionCache
pointingDirectionCache_p
 
std::unique_ptr< PointingSourcepointingSource_p
 
casacore::Int reportingFrame_p
 default frequency reporting (not selecting) frame of reference More...
 
RowBounds rowBounds_p
 Subchunk row management object (see above) More...
 
SortColumns sortColumns_p
 sort columns specified when creating VI More...
 
SpectralWindowChannelsCache * spectralWindowChannelsCache_p
 [own] Info about spectral windows More...
 
Subchunk subchunk_p
 (chunkN #, subchunk #) pair More...
 
SubtableColumnssubtableColumns_p
 [own] Allows const access to casacore::MS's subtable columns More...
 
casacore::MeasRef
< casacore::MEpoch
timeFrameOfReference_p
 
std::shared_ptr< std::mutex > tileCacheModMtx_p
 
std::shared_ptr< std::vector
< bool > > 
tileCacheIsSet_p
 
casacore::Double timeInterval_p
 
VisBufferType vbType
 
VisBuffer2vb_p
 [own] VisBuffer attached to this VI More...
 
casacore::CountedPtr
< WeightScaling
weightScaling_p
 
casacore::Bool writable_p
 

Detailed Description

VisibilityIterator2 iterates through one or more readonly MeasurementSets.

Intended use:

Public interface

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

The VisibilityIterator2 is a readonly iterator returning visibilities

Synopsis

VisibilityIterator2 provides iteration with various sort orders for one or more MSs. It has member functions to retrieve the fields commonly needed in synthesis calibration and imaging.

One should use VisBuffer to access chunks of data.

Example

Motivation

For imaging and calibration you need to access an casacore::MS in some consistent order (by field, spectralwindow, time interval etc.). This class provides that access.

Thrown Exceptions

To Do

Definition at line 119 of file VisibilityIteratorImplAsync2.h.

Constructor & Destructor Documentation

casa::vi::VisibilityIteratorImplAsync2::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.

enum PolFrame {

Circular polarization Circular=0, Linear polarization Linear=1 };

enum DataColumn { Observed data Observed=0, Model data Model, Corrected data Corrected };

class AsyncEnabler { public: AsyncEnabler (VisibilityIterator2 &); AsyncEnabler (VisibilityIterator2 *); ~AsyncEnabler ();

void release ();

private:

casacore::Bool oldEnabledState_p; VisibilityIterator2 * roVisibilityIterator2_p; };

Default constructor - useful only to assign another iterator later VisibilityIteratorImplAsync2 ();

Construct from an casacore::MS and a casacore::Block of casacore::MS column enums specifying the iteration order. If no order is specified, it uses the default sort order of MSIter, which is not necessarily the raw order of ms! The default ordering is ARRAY_ID, FIELD_ID, DATA_DESC_ID, and TIME, but check MSIter.h to be sure. These columns will be added first if they are not specified.

An optional timeInterval (in seconds) can be given to iterate through chunks of time. The default interval of 0 groups all times together. Every 'chunk' of data contains all data within a certain time interval and with identical values of the other iteration columns (e.g. DATA_DESC_ID and FIELD_ID). Using selectChannel (), a number of groups of channels can be requested. At present the channel group iteration will always occur before the interval iteration. VisibilityIteratorImplAsync (const casacore::MeasurementSet & ms, const casacore::Block<casacore::Int> & sortColumns, casacore::Double timeInterval = 0);

Same as above, but with the option of using the raw order of ms (addDefaultSortCols=false). VisibilityIteratorImplAsync (const casacore::MeasurementSet & ms, const casacore::Block<casacore::Int> & sortColumns, const casacore::Bool addDefaultSortCols, casacore::Double timeInterval = 0);

Same as previous constructors, but with multiple MSs to iterate over. VisibilityIteratorImplAsync (const casacore::Block<casacore::MeasurementSet> & mss, const casacore::Block<casacore::Int> & sortColumns, casacore::Double timeInterval = 0);

casa::vi::VisibilityIteratorImplAsync2::VisibilityIteratorImplAsync2 ( const VisibilityIteratorImplAsync2 other,
VisibilityIterator2 rovi 
)

Copy construct.

This calls the assigment operator.

virtual casa::vi::VisibilityIteratorImplAsync2::~VisibilityIteratorImplAsync2 ( )
virtual

Destructor.

Member Function Documentation

virtual void casa::vi::VisibilityIteratorImplAsync2::advance ( )
protectedvirtual

advance the iteration

virtual void casa::vi::VisibilityIteratorImplAsync2::antenna1 ( casacore::Vector< casacore::Int > &  ant1) const
virtual

Return antenna1.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::antenna2 ( casacore::Vector< casacore::Int > &  ant2) const
virtual

Return antenna2.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual const casacore::Vector<casacore::String>& casa::vi::VisibilityIteratorImplAsync2::antennaMounts ( ) const
virtual

return a string mount identifier for each antenna

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::applyPendingChanges ( )
protectedvirtual

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Int casa::vi::VisibilityIteratorImplAsync2::arrayId ( ) const
virtual

Return the current ArrayId.

virtual void casa::vi::VisibilityIteratorImplAsync2::attachColumns ( const casacore::Table t)
protectedvirtual

attach the column objects to the currently selected table

Reimplemented from casa::vi::VisibilityIteratorImpl2.

void casa::vi::VisibilityIteratorImplAsync2::attachColumnsSafe ( const casacore::Table t)
protected
virtual const casacore::Table casa::vi::VisibilityIteratorImplAsync2::attachTable ( ) const
protectedvirtual

returns the table, to which columns are attached, can be overridden in derived classes

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::configureNewChunk ( )
protectedvirtual

set the iteration state

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::configureNewSubchunk ( )
protectedvirtual

set the currently selected table

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::corrType ( casacore::Vector< casacore::Int > &  corrTypes) const
virtual

Return the correlation type (returns casacore::Stokes enums)

Reimplemented from casa::vi::VisibilityIteratorImpl2.

const ChannelSelector* casa::vi::VisibilityIteratorImplAsync2::createDefaultChannelSelector ( casacore::Double  time,
casacore::Int  msId,
casacore::Int  spectralWindowId 
)
protected
virtual casacore::Int casa::vi::VisibilityIteratorImplAsync2::dataDescriptionId ( ) const
virtual

Return current DataDescription Id.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual const ChannelSelector* casa::vi::VisibilityIteratorImplAsync2::determineChannelSelection ( casacore::Double  time)
protectedvirtual
virtual casacore::Bool casa::vi::VisibilityIteratorImplAsync2::existsColumn ( VisBufferComponent2  id) const
virtual

Reimplemented from casa::vi::VisibilityIteratorImpl2.

casacore::Bool casa::vi::VisibilityIteratorImplAsync2::existsFlagCategory ( ) const

Determine whether FLAG_CATEGORY is valid.

casacore::Bool casa::vi::VisibilityIteratorImplAsync2::existsWeightSpectrum ( ) const

Determine whether WEIGHT_SPECTRUM exists.

virtual void casa::vi::VisibilityIteratorImplAsync2::exposure ( casacore::Vector< casacore::Double > &  expo) const
virtual

Return actual time interval.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::feed1 ( casacore::Vector< casacore::Int > &  fd1) const
virtual

Return feed1.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::feed2 ( casacore::Vector< casacore::Int > &  fd2) const
virtual

Return feed2.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Int casa::vi::VisibilityIteratorImplAsync2::fieldId ( ) const
virtual

Return the current FieldId.

void casa::vi::VisibilityIteratorImplAsync2::fillVisBuffer ( )
protected
casacore::Slice casa::vi::VisibilityIteratorImplAsync2::findChannelsInRange ( casacore::Double  lowerFrequency,
casacore::Double  upperFrequency,
const SpectralWindowChannels &  spectralWindowChannels 
)
protected
virtual void casa::vi::VisibilityIteratorImplAsync2::flag ( casacore::Cube< casacore::Bool > &  flags) const
virtual

Return flag for each polarization, channel and row.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::flag ( casacore::Matrix< casacore::Bool > &  flags) const
virtual

Return flag for each channel & row.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::flagCategory ( casacore::Array< casacore::Bool > &  flagCategories) const
virtual

Return flags for each polarization, channel, category, and row.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::flagRow ( casacore::Vector< casacore::Bool > &  rowflags) const
virtual

Return row flag.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::floatData ( casacore::Cube< casacore::Float > &  fcube) const
virtual

Return FLOAT_DATA as a casacore::Cube (npol, nchan, nrow) if found in the MS.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual const casacore::Cube<casacore::RigidVector<casacore::Double, 2> >& casa::vi::VisibilityIteratorImplAsync2::getBeamOffsets ( ) const
virtual

Return a cube containing pairs of coordinate offsets for each receptor of each feed (values are in radians, coordinate system is fixed with antenna and is the same one as used to define the BEAM_OFFSET parameter in the feed table).

The cube axes are receptor, antenna, feed.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

casacore::Vector<casacore::Int> casa::vi::VisibilityIteratorImplAsync2::getChannels ( casacore::Double  time,
casacore::Int  frameOfReference 
) const
protected
template<typename T >
void casa::vi::VisibilityIteratorImplAsync2::getColumnRows ( const casacore::ArrayColumn< T > &  column,
casacore::Array< T > &  array 
) const
protected

Methods to get the data out of a table column according to whatever selection criteria (e.g., slicing) is in effect.

template<typename T >
void casa::vi::VisibilityIteratorImplAsync2::getColumnRows ( const casacore::ScalarColumn< T > &  column,
casacore::Vector< T > &  array 
) const
protected
template<typename T >
void casa::vi::VisibilityIteratorImplAsync2::getColumnRowsMatrix ( const casacore::ArrayColumn< T > &  column,
casacore::Matrix< T > &  array 
) const
protected
casacore::Int casa::vi::VisibilityIteratorImplAsync2::getDataDescriptionId ( ) const
virtual casacore::MEpoch casa::vi::VisibilityIteratorImplAsync2::getEpoch ( ) const
virtual

virtual casacore::Vector<casacore::MPosition> antennaPositions () const;

casacore::MSDerivedValues makeMsd ();

Reimplemented from casa::vi::VisibilityIteratorImpl2.

casacore::Vector<casacore::Double> casa::vi::VisibilityIteratorImplAsync2::getFrequencies ( casacore::Double  time,
casacore::Int  frameOfReference 
) const
protected
const VisImagingWeight& casa::vi::VisibilityIteratorImplAsync2::getImagingWeightGenerator ( ) const
virtual

Return imaging weight (a weight for each channel)

virtual casacore::Matrix<casacore::Float> & imagingWeight (casacore::Matrix<casacore::Float> & wt) const;

Implements casa::vi::ViImplementation2.

const casacore::MeasurementSet& casa::vi::VisibilityIteratorImplAsync2::getMeasurementSet ( ) const
casacore::Int casa::vi::VisibilityIteratorImplAsync2::getMeasurementSetId ( ) const
std::vector<casacore::MeasurementSet> casa::vi::VisibilityIteratorImplAsync2::getMeasurementSets ( ) const
protected

Returns the casacore::MS objects that this VI is iterating over.

const casacore::MSDerivedValues& casa::vi::VisibilityIteratorImplAsync2::getMsd ( ) const
protected

Provides access to the casacore::MS-derived values object.

const MsIterInfo& casa::vi::VisibilityIteratorImplAsync2::getMsIterInfo ( ) const
protected
casacore::Int casa::vi::VisibilityIteratorImplAsync2::getNAntennas ( ) const
casacore::MFrequency::Types casa::vi::VisibilityIteratorImplAsync2::getObservatoryFrequencyType ( ) const
virtual
casacore::MPosition casa::vi::VisibilityIteratorImplAsync2::getObservatoryPosition ( ) const
virtual
casacore::Vector<casacore::Float> casa::vi::VisibilityIteratorImplAsync2::getReceptor0Angle ( )
virtual
casacore::Int casa::vi::VisibilityIteratorImplAsync2::getReportingFrameOfReference ( ) const
protectedvirtual
virtual void casa::vi::VisibilityIteratorImplAsync2::getRowIds ( casacore::Vector< casacore::uInt > &  rowids) const
virtual

Return the row ids as from the original root table.

This is useful to find correspondance between a given row in this iteration to the original ms row

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual const SpectralWindowChannels& casa::vi::VisibilityIteratorImplAsync2::getSpectralWindowChannels ( casacore::Int  msId,
casacore::Int  spectralWindowId 
) const
virtual

get back the selected spectral windows and spectral channels for current ms

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual Subchunk casa::vi::VisibilityIteratorImplAsync2::getSubchunkId ( ) const
virtual

Reimplemented from casa::vi::VisibilityIteratorImpl2.

VisibilityIterator2* casa::vi::VisibilityIteratorImplAsync2::getViP ( ) const
protected
VisBufferImplAsync2* casa::vi::VisibilityIteratorImplAsync2::getVisBufferAsync ( ) const
protected

Get privileged (non-const) access to the containing ROVI.

VisBufferAsyncWrapper2* casa::vi::VisibilityIteratorImplAsync2::getVisBufferWrapper ( ) const
protected
void casa::vi::VisibilityIteratorImplAsync2::getVisibilityAsStokes ( casacore::Matrix< CStokesVector > &  visibilityStokes,
const casacore::ArrayColumn< casacore::Complex > &  column 
) const
protected
virtual void casa::vi::VisibilityIteratorImplAsync2::initialize ( const casacore::Block< casacore::MeasurementSet > &  mss)
protectedvirtual

Ctor auxiliary method.

casacore::Bool casa::vi::VisibilityIteratorImplAsync2::isInASelectedSpectralWindow ( ) const
protected

Returns true if casacore::MS Iterator is currently pointing to a selected spectral window.

virtual casacore::Bool casa::vi::VisibilityIteratorImplAsync2::isNewArrayId ( ) const
virtual

Check if ms has change since last iteration.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Bool casa::vi::VisibilityIteratorImplAsync2::isNewFieldId ( ) const
virtual

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Bool casa::vi::VisibilityIteratorImplAsync2::isNewMs ( ) const
virtual

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Bool casa::vi::VisibilityIteratorImplAsync2::isNewSpectralWindow ( ) const
virtual

Reimplemented from casa::vi::VisibilityIteratorImpl2.

void casa::vi::VisibilityIteratorImplAsync2::jonesC ( casacore::Vector< casacore::SquareMatrix< casacore::Complex, 2 > > &  cjones) const
virtual

Return feed configuration matrix for specified antenna.

Implements casa::vi::ViImplementation2.

ChannelSelector* casa::vi::VisibilityIteratorImplAsync2::makeChannelSelectorC ( const FrequencySelection selection,
casacore::Double  time,
casacore::Int  msId,
casacore::Int  spectralWindowId 
)
protected

Creates a channel selection for the current subchunk based on the channel or frequency selection made by the user.

ChannelSelector* casa::vi::VisibilityIteratorImplAsync2::makeChannelSelectorF ( const FrequencySelection selection,
casacore::Double  time,
casacore::Int  msId,
casacore::Int  spectralWindowId 
)
protected
casacore::MFrequency::Convert casa::vi::VisibilityIteratorImplAsync2::makeFrequencyConverter ( casacore::Double  time,
casacore::Int  otherFrameOfReference,
casacore::Bool  toObservedFrame 
) const
protected
virtual casacore::Bool casa::vi::VisibilityIteratorImplAsync2::more ( ) const
virtual

Return false if no more data (in current chunk)

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Bool casa::vi::VisibilityIteratorImplAsync2::moreChunks ( ) const
virtual

Return false if no more 'Chunks' of data left.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual const casacore::MeasurementSet& casa::vi::VisibilityIteratorImplAsync2::ms ( ) const
virtual

reference to actual ms in interator

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Int casa::vi::VisibilityIteratorImplAsync2::msId ( ) const
virtual

reference to actual ms in interator

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Bool casa::vi::VisibilityIteratorImplAsync2::newArrayId ( ) const
virtual

Return true if arrayID has changed since last iteration.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Bool casa::vi::VisibilityIteratorImplAsync2::newFieldId ( ) const
virtual

Return true if FieldId/Source has changed since last iteration.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Bool casa::vi::VisibilityIteratorImplAsync2::newSpectralWindow ( ) const
virtual

Return true if SpectralWindow has changed since last iteration.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::nextChunk ( )
virtual

Advance to the next Chunk of data.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Int casa::vi::VisibilityIteratorImplAsync2::nPolarizations ( ) const
virtual

Return the number of correlations in the current iteration.

virtual casacore::Int casa::vi::VisibilityIteratorImplAsync2::nRows ( ) const
virtual

Return the number of rows in the current iteration.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Int casa::vi::VisibilityIteratorImplAsync2::nRowsInChunk ( ) const
virtual

Return the numbers of rows in the current chunk.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Int casa::vi::VisibilityIteratorImplAsync2::numberAnt ( )
virtual

return number of Ant

virtual casacore::Int casa::vi::VisibilityIteratorImplAsync2::numberCoh ( )
virtual

Return number of rows in all selected ms's.

virtual casacore::Int casa::vi::VisibilityIteratorImplAsync2::numberDDId ( )
virtual
virtual casacore::Int casa::vi::VisibilityIteratorImplAsync2::numberPol ( )
virtual
virtual casacore::Int casa::vi::VisibilityIteratorImplAsync2::numberSpw ( )
virtual

Return number of spws, polids, ddids.

virtual void casa::vi::VisibilityIteratorImplAsync2::observationId ( casacore::Vector< casacore::Int > &  obsids) const
virtual

Return the OBSERVATION_IDs.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::origin ( )
virtual

Members.

Reset iterator to origin/start of data (of current chunk)

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::originChunks ( )
virtual

Reset iterator to true start of data (first chunk)

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::originChunks ( casacore::Bool  forceRewind)
protectedvirtual

Method to reset the VI back to the start.

Unlike the public version there is a parameter to allow forcing the rewind even if the casacore::MS Iter is already at the origin.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual const casacore::MDirection& casa::vi::VisibilityIteratorImplAsync2::phaseCenter ( ) const
virtual

Return the current phase center as an MDirection.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Int casa::vi::VisibilityIteratorImplAsync2::polarizationId ( ) const
virtual

Return current Polarization Id.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Int casa::vi::VisibilityIteratorImplAsync2::polFrame ( ) const
virtual

Return frame for polarization (returns PolFrame enum)

Reimplemented from casa::vi::VisibilityIteratorImpl2.

void casa::vi::VisibilityIteratorImplAsync2::positionMsIterToASelectedSpectralWindow ( )
protected

Advances the casacore::MS Iterator until it points at a spectral window that is part of the frequency selection.

virtual void casa::vi::VisibilityIteratorImplAsync2::processorId ( casacore::Vector< casacore::Int > &  procids) const
virtual

Return the PROCESSOR_IDs.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

void casa::vi::VisibilityIteratorImplAsync2::readComplete ( )
protected
virtual const casacore::Cube<casacore::Double>& casa::vi::VisibilityIteratorImplAsync2::receptorAngles ( ) const
virtual

Return receptor angles for all antennae and feeds First axis of the cube is a receptor number, 2nd is antennaId, 3rd is feedId Note: the method is intended to provide an access to MSIter::receptorAngles for VisBuffer in the multi-feed case.

It may be worth to change the interface of feed_pa to return the information for all feeds.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::scan ( casacore::Vector< casacore::Int > &  scans) const
virtual

Return scan number.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::setFrequencySelections ( const FrequencySelections selection)
virtual

Select the channels to be returned.

Requires calling originChunks before performing additional iteration.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::setInterval ( casacore::Double  timeInterval)
virtual

Return the time interval (in seconds) used for iteration.

This is not the same as the INTERVAL column.

Set or reset the time interval (in seconds) to use for iteration. You should call originChunks () to reset the iteration after calling this.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

void casa::vi::VisibilityIteratorImplAsync2::setReportingFrameOfReference ( casacore::Int  )
protectedvirtual

Sets the default frequency reporting frame of reference.

This affects the default frame for obtaining the frequencies in a VisBuffer.

Implements casa::vi::ViImplementation2.

virtual void casa::vi::VisibilityIteratorImplAsync2::setRowBlocking ( casacore::Int  nRows = 0)
virtual

Set the 'blocking' size for returning data.

With the default (0) only a single integration is returned at a time, this is what is currently required for the calibration software. With blocking set, up to nRows can be returned in one go. The chunk size determines the actual maximum.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::setTileCache ( )
protectedvirtual

Adjusts the tile cache for some columns so that the cache size is optimized for the current input state (e.g., a new data description).

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::sigma ( casacore::Vector< casacore::Float > &  sig) const
virtual

Return sigma.

virtual void casa::vi::VisibilityIteratorImplAsync2::sigmaMat ( casacore::Matrix< casacore::Float > &  sigmat) const
virtual

Return sigma matrix (pol-dep)

virtual void casa::vi::VisibilityIteratorImplAsync2::slurp ( ) const
virtual

Return the number of sub-intervals in the current chunk.

virtual casacore::Int nSubInterval () const;

Call to use the slurp i/o method for all scalar columns. This will set the casacore::BucketCache cache size to the full column length and cause the full column to be cached in memory, if any value of the column is used. In case of out-of-memory, it will automatically fall-back on the smaller cache size. Slurping the column is to be considered as a work-around for the casacore::Table i/o code, which uses casacore::BucketCache and performs extremely bad for random access. Slurping is useful when iterating non-sequentially an casacore::MS or parts of an casacore::MS, it is not tested with multiple MSs.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual casacore::Int casa::vi::VisibilityIteratorImplAsync2::spectralWindow ( ) const
virtual

Return current SpectralWindow.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::stateId ( casacore::Vector< casacore::Int > &  stateids) const
virtual

Return the STATE_IDs.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual const vi::SubtableColumns& casa::vi::VisibilityIteratorImplAsync2::subtableColumns ( ) const
virtual

Get the spw, start and nchan for all the ms's is this Visiter that match the frequecy "freqstart-freqStep" and "freqEnd+freqStep" range Can help in doing channel selection above.

freqFrame is the frame the caller frequency values are in (freqStart and freqEnd) These will be converted to the frame of the selected spw to match

virtual void getSpwInFreqRange (casacore::Block<casacore::Vector<casacore::Int> > & spw, casacore::Block<casacore::Vector<casacore::Int> > & start, casacore::Block<casacore::Vector<casacore::Int> > & nchan, casacore::Double freqStart, casacore::Double freqEnd, casacore::Double freqStep, casacore::MFrequency::Types freqFrame = casacore::MFrequency::LSRK) const;

Get the range of frequency convered by the selected data in the frame requested

virtual void getFreqInSpwRange(casacore::Double& freqStart, casacore::Double& freqEnd, casacore::MFrequency::Types freqframe = casacore::MFrequency::LSRK) const;

Access the current casacore::ROMSColumns object in MSIter

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::throwIfPendingChanges ( )
protectedvirtual

Throws exception if there is a pending (i.e., unapplied) change to the VI's properties.

Called when the VI is advanced since the user probably forgot to apply the changes.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::time ( casacore::Vector< casacore::Double > &  t) const
virtual

Return MJD midpoint of interval.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::timeCentroid ( casacore::Vector< casacore::Double > &  t) const
virtual

Return MJD centroid of interval.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::timeInterval ( casacore::Vector< casacore::Double > &  ti) const
virtual

Return nominal time interval.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::useImagingWeight ( const VisImagingWeight imWgt)
virtual

assign a VisImagingWeight object to this iterator

Reimplemented from casa::vi::VisibilityIteratorImpl2.

casacore::Bool casa::vi::VisibilityIteratorImplAsync2::usesTiledDataManager ( const casacore::String columnName,
const casacore::MeasurementSet ms 
) const
protected

Returns true if the named column uses a tiled data manager in the specified MS.

virtual void casa::vi::VisibilityIteratorImplAsync2::uvw ( casacore::Matrix< casacore::Double > &  uvwmat) const
virtual

Return u,v and w (in meters)

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::visibilityCorrected ( casacore::Cube< casacore::Complex > &  vis) const
virtual

Return the visibilities as found in the casacore::MS, casacore::Cube (npol,nchan,nrow).

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::visibilityCorrected ( casacore::Matrix< CStokesVector > &  vis) const
virtual

Return the visibility 4-vector of polarizations for each channel.

If the casacore::MS doesn't contain all polarizations, it is assumed it contains one or two parallel hand polarizations.

virtual void casa::vi::VisibilityIteratorImplAsync2::visibilityModel ( casacore::Cube< casacore::Complex > &  vis) const
virtual

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::visibilityModel ( casacore::Matrix< CStokesVector > &  vis) const
virtual
virtual void casa::vi::VisibilityIteratorImplAsync2::visibilityObserved ( casacore::Cube< casacore::Complex > &  vis) const
virtual

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::visibilityObserved ( casacore::Matrix< CStokesVector > &  vis) const
virtual
virtual casacore::IPosition casa::vi::VisibilityIteratorImplAsync2::visibilityShape ( ) const
virtual

Return the shape of the visibility Cube.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::weight ( casacore::Vector< casacore::Float > &  wt) const
virtual

Return weight.

virtual void casa::vi::VisibilityIteratorImplAsync2::weightMat ( casacore::Matrix< casacore::Float > &  wtmat) const
virtual

Returns the nPol_p x curNumRow_p weight matrix.

virtual void casa::vi::VisibilityIteratorImplAsync2::weightSpectrum ( casacore::Cube< casacore::Float > &  wtsp) const
virtual

Return weightspectrum (a weight for each channel)

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::writeBackChanges ( VisBuffer2 vb)
virtual

+----------------—+ | | | Writeback Methods | | | +----------------—+

This method writes back any changed (dirty) components of the provided VisBuffer and is the preferred method for writing data out.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::writeFlag ( const casacore::Matrix< casacore::Bool > &  flag)
virtual

Write/modify the flags in the data.

This will flag all channels in the original data that contributed to the output channel in the case of channel averaging. All polarizations have the same flag value.

virtual void casa::vi::VisibilityIteratorImplAsync2::writeFlag ( const casacore::Cube< casacore::Bool > &  flag)
virtual

Write/modify the flags in the data.

This writes the flags as found in the casacore::MS, casacore::Cube (npol,nchan,nrow), where nrow is the number of rows in the current iteration (given by nRow ()).

Reimplemented from casa::vi::VisibilityIteratorImpl2.

void casa::vi::VisibilityIteratorImplAsync2::writeFlagCategory ( const casacore::Array< casacore::Bool > &  fc)
virtual
virtual void casa::vi::VisibilityIteratorImplAsync2::writeFlagRow ( const casacore::Vector< casacore::Bool > &  rowflags)
virtual

Write/modify the flag row column; dimension casacore::Vector (nrow)

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::writeSigma ( const casacore::Vector< casacore::Float > &  sig)
virtual

Write/modify the Sigma.

virtual void casa::vi::VisibilityIteratorImplAsync2::writeSigmaMat ( const casacore::Matrix< casacore::Float > &  sigmat)
virtual

Write/modify the ncorr x nrow SigmaMat.

void casa::vi::VisibilityIteratorImplAsync2::writeVisCorrected ( const casacore::Matrix< CStokesVector > &  visibilityStokes)

Write/modify the visibilities.

This is possibly only for a 'reference' casacore::MS which has a new DATA column. The first axis of the matrix should equal the selected number of channels in the original MS. If the casacore::MS does not contain all polarizations, only the parallel hand polarizations are used.

virtual void casa::vi::VisibilityIteratorImplAsync2::writeVisCorrected ( const casacore::Cube< casacore::Complex > &  vis)
virtual

Write/modify the visibilities This writes the data as found in the casacore::MS, casacore::Cube (npol,nchan,nrow).

Reimplemented from casa::vi::VisibilityIteratorImpl2.

void casa::vi::VisibilityIteratorImplAsync2::writeVisModel ( const casacore::Matrix< CStokesVector > &  visibilityStokes)
virtual void casa::vi::VisibilityIteratorImplAsync2::writeVisModel ( const casacore::Cube< casacore::Complex > &  vis)
virtual

Reimplemented from casa::vi::VisibilityIteratorImpl2.

void casa::vi::VisibilityIteratorImplAsync2::writeVisObserved ( const casacore::Matrix< CStokesVector > &  visibilityStokes)
virtual void casa::vi::VisibilityIteratorImplAsync2::writeVisObserved ( const casacore::Cube< casacore::Complex > &  vis)
virtual

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::writeWeight ( const casacore::Vector< casacore::Float > &  wt)
virtual

Write/modify the weights.

virtual void casa::vi::VisibilityIteratorImplAsync2::writeWeightMat ( const casacore::Matrix< casacore::Float > &  wtmat)
virtual

Write/modify the weightMat.

virtual void casa::vi::VisibilityIteratorImplAsync2::writeWeightSpectrum ( const casacore::Cube< casacore::Float > &  wtsp)
virtual

Write/modify the weightSpectrum.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Friends And Related Function Documentation

friend class AsyncEnabler
friend

Definition at line 121 of file VisibilityIteratorImplAsync2.h.

friend class ViImplAsync2
friend

Definition at line 122 of file VisibilityIteratorImplAsync2.h.

friend class VisibilityIterator2
friend

Definition at line 123 of file VisibilityIteratorImplAsync2.h.

friend class VLAT
friend

Definition at line 124 of file VisibilityIteratorImplAsync2.h.

Member Data Documentation

AsynchronousInterface* casa::vi::VisibilityIteratorImplAsync2::interface_p
private

Definition at line 673 of file VisibilityIteratorImplAsync2.h.

VlaData* casa::vi::VisibilityIteratorImplAsync2::vlaData_p
private

Definition at line 674 of file VisibilityIteratorImplAsync2.h.


The documentation for this class was generated from the following file: