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

#include <VisibilityIteratorImplAsync.h>

Inheritance diagram for casa::ViReadImplAsync:
casa::VisibilityIteratorReadImpl

Public Types

typedef
casa::asyncio::PrefetchColumns 
PrefetchColumns
 
- Public Types inherited from casa::VisibilityIteratorReadImpl
typedef
ROVisibilityIterator::DataColumn 
DataColumn
 VLAT should not access private parts, especially variables. More...
 

Public Member Functions

 ViReadImplAsync (const casacore::Block< casacore::MeasurementSet > &mss, const PrefetchColumns &prefetchColumns, const casacore::Block< casacore::Int > &sortColumns, const casacore::Bool addDefaultSortCols, casacore::Double timeInterval, casacore::Bool writable)
 static VisibilityIteratorReadImpl * create (const ROVisibilityIterator &, const PrefetchColumns & prefetchColumns, casacore::Int nReadAheadBuffers = -1); More...
 
 ViReadImplAsync (const PrefetchColumns &prefetchColumns, const VisibilityIteratorReadImpl &other, casacore::Bool writable)
 
 ~ViReadImplAsync ()
 
VisibilityIteratorReadImplclone () const
 
void attachVisBuffer (VisBuffer &vb)
 Attach a VisBuffer object. More...
 
void detachVisBuffer (VisBuffer &vb)
 Detach a VisBuffer object. More...
 
void getChannelSelection (casacore::Block< casacore::Vector< casacore::Int > > &, casacore::Block< casacore::Vector< casacore::Int > > &, casacore::Block< casacore::Vector< casacore::Int > > &, casacore::Block< casacore::Vector< casacore::Int > > &, casacore::Block< casacore::Vector< casacore::Int > > &)
 get the channel selection...the block over the number of ms's associated with this iterator More...
 
PrefetchColumns getPrefetchColumns () const
 
VisBuffergetVisBuffer ()
 
casacore::MEpoch getEpoch () const
 casacore::Int getDataDescriptionId () const; const casacore::MeasurementSet & getMeasurementSet(); const casacore::Int getMeasurementSetId (); casacore::Int getNAntennas () const; More...
 
bool more () const
 casacore::Vector<casacore::Float> getReceptor0Angle (); More...
 
bool moreChunks () const
 Return false if no more 'Chunks' of data left. More...
 
ViReadImplAsyncnextChunk ()
 Advance to the next Chunk of data. More...
 
void origin ()
 Reset iterator to origin/start of data (of current chunk) More...
 
void originChunks ()
 Reset iterator to true start of data (first chunk) More...
 
virtual void advance ()
 advance the iteration More...
 
void setPrefetchColumns (const PrefetchColumns &prefetchColumns)
 
VisibilityIteratorReadImplselectChannel (casacore::Int nGroup=1, casacore::Int start=0, casacore::Int width=0, casacore::Int increment=1, casacore::Int spectralWindow=-1)
 Channel selection - only the selected channels will be returned by the access functions. More...
 
VisibilityIteratorReadImplselectChannel (const casacore::Block< casacore::Vector< casacore::Int > > &blockNGroup, const casacore::Block< casacore::Vector< casacore::Int > > &blockStart, const casacore::Block< casacore::Vector< casacore::Int > > &blockWidth, const casacore::Block< casacore::Vector< casacore::Int > > &blockIncr, const casacore::Block< casacore::Vector< casacore::Int > > &blockSpw)
 Same as above except when multiple ms's are to be accessed. More...
 
VisibilityIteratorReadImplselectVelocity (casacore::Int, const casacore::MVRadialVelocity &, const casacore::MVRadialVelocity &, casacore::MRadialVelocity::Types, casacore::MDoppler::Types, casacore::Bool)
 Velocity selection - specify the output channels in velocity: nChan - number of output channels, vStart - start velocity, vInc - velocity increment. More...
 
void setInterval (casacore::Double timeInterval)
 Set or reset the time interval (in seconds) to use for iteration. More...
 
void setRowBlocking (casacore::Int nRow)
 Set the 'blocking' size for returning data. More...
 
casacore::Bool allBeamOffsetsZero () const
 The functions below make no sense (at first glance) for asynchronous operation and are implemented to throw an casacore::AipsError if called. More...
 
void allSelectedSpectralWindows (casacore::Vector< casacore::Int > &, casacore::Vector< casacore::Int > &)
 get back the selected spectral windows and spectral channels for current ms More...
 
casacore::Vector< casacore::Int > & antenna1 (casacore::Vector< casacore::Int > &) const
 Return antenna1. More...
 
casacore::Vector< casacore::Int > & antenna2 (casacore::Vector< casacore::Int > &) const
 Return antenna2. More...
 
const casacore::Vector
< casacore::String > & 
antennaMounts () const
 return a string mount identifier for each antenna More...
 
casacore::Vector
< casacore::MDirection
azel (casacore::Double) const
 
casacore::MDirection azel0 (casacore::Double) const
 Return the antenna AZ/EL casacore::Vector (nant) More...
 
casacore::Vector< casacore::Int > & channel (casacore::Vector< casacore::Int > &) const
 Return channel numbers in selected VisSet spectrum (i.e. More...
 
casacore::Int channelGroupSize () const
 Return the width of the current group of channels, i.e., the number of channels returned by visibility () and frequency (). More...
 
casacore::Int channelIndex () const
 Return the index of the first channel of the current channel group in the total (selected) spectrum. More...
 
casacore::Vector
< casacore::SquareMatrix
< casacore::Complex, 2 > > & 
CJones (casacore::Vector< casacore::SquareMatrix< casacore::Complex, 2 > > &) const
 Return feed configuration matrix for specified antenna. More...
 
casacore::Vector< casacore::Int > & corrType (casacore::Vector< casacore::Int > &) const
 Return the correlation type (returns casacore::Stokes enums) More...
 
casacore::Int dataDescriptionId () const
 Return current DataDescription Id. More...
 
casacore::Bool existsWeightSpectrum () const
 
casacore::Vector
< casacore::Double > & 
exposure (casacore::Vector< casacore::Double > &) const
 Return actual time interval. More...
 
casacore::Vector< casacore::Int > & feed1 (casacore::Vector< casacore::Int > &) const
 Return feed1. More...
 
casacore::Vector< casacore::Int > & feed2 (casacore::Vector< casacore::Int > &) const
 Return feed2. More...
 
casacore::Int fieldId () const
 casacore::Vector<casacore::Float> feed_pa(casacore::Double) const { NotImplementedROVIA; } More...
 
casacore::Array< casacore::Bool > & flagCategory (casacore::Array< casacore::Bool > &) const
 Return flags for each polarization, channel, category, and row. More...
 
casacore::Cube< casacore::Float > & floatData (casacore::Cube< casacore::Float > &) const
 Return FLOAT_DATA as a casacore::Cube (npol, nchan, nrow) if found in the MS. More...
 
void getFloatDataColumn (casacore::Cube< casacore::Float > &) const
 
void getFloatDataColumn (const casacore::Slicer &, casacore::Cube< casacore::Float > &) const
 get FLOAT_DATA as real Floats. More...
 
void getInterpolatedFloatDataFlagWeight () const
 
void getInterpolatedVisFlagWeight (DataColumn) const
 
casacore::Int arrayId () const
 Return the current ArrayId. More...
 
casacore::String fieldName () const
 Return the current Field Name. More...
 
casacore::String sourceName () const
 Return the current Source Name. More...
 
casacore::Cube< casacore::Bool > & flag (casacore::Cube< casacore::Bool > &) const
 Return flag for each polarization, channel and row. More...
 
casacore::Matrix
< casacore::Bool > & 
flag (casacore::Matrix< casacore::Bool > &) const
 Return flag for each channel & row. More...
 
casacore::Vector
< casacore::Bool > & 
flagRow (casacore::Vector< casacore::Bool > &) const
 Return row flag. More...
 
casacore::Vector
< casacore::Double > & 
frequency (casacore::Vector< casacore::Double > &) const
 Return current frequencies (in Hz, acc. More...
 
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...
 
casacore::Int getDataDescriptionId () const
 
casacore::MEpoch getMEpoch () const
 
const casacore::MeasurementSetgetMeasurementSet () const
 
casacore::Int getMeasurementSetId () const
 
casacore::Int getNAntennas () const
 
casacore::Vector< casacore::FloatgetReceptor0Angle ()
 
casacore::Vector< casacore::uIntgetRowIds () const
 
casacore::Double hourang (casacore::Double) const
 Return the hour angle for the specified time. More...
 
casacore::Vector
< casacore::Double > & 
lsrFrequency (casacore::Vector< casacore::Double > &) const
 Return frequencies (in Hz, acc. More...
 
void lsrFrequency (const casacore::Int &, casacore::Vector< casacore::Double > &, casacore::Bool &)
 
const casacore::MeasurementSetms () const
 reference to actual ms in interator More...
 
const casacore::ROMSColumnsmsColumns () const
 Access the current casacore::ROMSColumns object in MSIter. More...
 
casacore::Int msId () const
 
casacore::Int nCorr () const
 Return the number of correlations in the current iteration. More...
 
casacore::Int nRow () const
 Return the number of rows in the current iteration. More...
 
casacore::Int nRowChunk () const
 Return the numbers of rows in the current chunk. More...
 
casacore::Int nSubInterval () const
 Return the number of sub-intervals in the current chunk. More...
 
casacore::Bool newArrayId () const
 Return true if arrayID has changed since last iteration. More...
 
casacore::Bool newFieldId () const
 Return true if FieldId/Source has changed since last iteration. More...
 
casacore::Bool newMS () const
 Check if ms has change since last iteration. More...
 
casacore::Bool newSpectralWindow () const
 Return true if SpectralWindow has changed since last iteration. More...
 
casacore::Int numberCoh ()
 Return number of rows in all selected ms's. More...
 
casacore::Int numberDDId ()
 
casacore::Int numberPol ()
 
casacore::Int numberSpw ()
 Return number of spws, polids, ddids. More...
 
casacore::Vector< casacore::Int > & observationId (casacore::Vector< casacore::Int > &) const
 Return the OBSERVATION_IDs. More...
 
casacore::Vector< casacore::Floatparang (casacore::Double) const
 Per antenna: More...
 
const casacore::Floatparang0 (casacore::Double) const
 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...
 
const casacore::MDirectionphaseCenter () const
 Return the current phase center as an MDirection. More...
 
casacore::Int polFrame () const
 Return frame for polarization (returns PolFrame enum) More...
 
casacore::Vector< casacore::Int > & processorId (casacore::Vector< casacore::Int > &) const
 Return the PROCESSOR_IDs. More...
 
casacore::Int polarizationId () const
 Return current Polarization Id. More...
 
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...
 
casacore::Vector
< casacore::uInt > & 
rowIds (casacore::Vector< casacore::uInt > &) const
 Return the row ids as from the original root table. More...
 
casacore::Vector< casacore::Int > & scan (casacore::Vector< casacore::Int > &) const
 Return scan number. More...
 
casacore::Vector
< casacore::Float > & 
sigma (casacore::Vector< casacore::Float > &) const
 Return sigma. More...
 
casacore::Matrix
< casacore::Float > & 
sigmaMat (casacore::Matrix< casacore::Float > &) const
 Return sigma matrix (pol-dep) More...
 
void slurp () const
 Call to use the slurp i/o method for all scalar columns. More...
 
casacore::Int spectralWindow () const
 Return current SpectralWindow. More...
 
casacore::Vector< casacore::Int > & stateId (casacore::Vector< casacore::Int > &) const
 Return the STATE_IDs. More...
 
casacore::Vector
< casacore::Double > & 
time (casacore::Vector< casacore::Double > &) const
 Return MJD midpoint of interval. More...
 
casacore::Vector
< casacore::Double > & 
timeCentroid (casacore::Vector< casacore::Double > &) const
 Return MJD centroid of interval. More...
 
casacore::Vector
< casacore::Double > & 
timeInterval (casacore::Vector< casacore::Double > &) const
 Return nominal time interval. More...
 
casacore::Vector
< casacore::RigidVector
< casacore::Double, 3 > > & 
uvw (casacore::Vector< casacore::RigidVector< casacore::Double, 3 > > &) const
 Return u,v and w (in meters) More...
 
casacore::Matrix
< casacore::Double > & 
uvwMat (casacore::Matrix< casacore::Double > &) const
 
VisibilityIteratorReadImplvelInterpolation (const casacore::String &)
 Select the velocity interpolation scheme. More...
 
casacore::Cube
< casacore::Complex > & 
visibility (casacore::Cube< casacore::Complex > &, DataColumn) const
 Return the visibilities as found in the casacore::MS, casacore::Cube (npol,nchan,nrow). More...
 
casacore::Matrix< CStokesVector > & visibility (casacore::Matrix< CStokesVector > &, DataColumn) const
 Return the visibility 4-vector of polarizations for each channel. More...
 
casacore::IPosition visibilityShape () const
 Return the shape of the visibility Cube. More...
 
casacore::Vector
< casacore::Float > & 
weight (casacore::Vector< casacore::Float > &) const
 Return weight. More...
 
casacore::Matrix
< casacore::Float > & 
weightMat (casacore::Matrix< casacore::Float > &) const
 Returns the nPol_p x curNumRow_p weight matrix. More...
 
casacore::Cube< casacore::Float > & weightSpectrum (casacore::Cube< casacore::Float > &) const
 Return weightspectrum (a weight for each channel) More...
 
- Public Member Functions inherited from casa::VisibilityIteratorReadImpl
 VisibilityIteratorReadImpl ()
 class AsyncEnabler { public: AsyncEnabler (ROVisibilityIterator &); AsyncEnabler (ROVisibilityIterator *); ~AsyncEnabler (); More...
 
 VisibilityIteratorReadImpl (ROVisibilityIterator *rovi, const casacore::Block< casacore::MeasurementSet > &mss, const casacore::Block< casacore::Int > &sortColumns, const casacore::Bool addDefaultSortCols, casacore::Double timeInterval)
 Construct from an casacore::MS and a casacore::Block of casacore::MS column enums specifying the iteration order. More...
 
 VisibilityIteratorReadImpl (const VisibilityIteratorReadImpl &other, ROVisibilityIterator *rovi)
 Copy construct. More...
 
VisibilityIteratorReadImploperator= (const VisibilityIteratorReadImpl &other)
 Assigment. More...
 
virtual ~VisibilityIteratorReadImpl ()
 Destructor. More...
 
virtual
VisibilityIteratorReadImpl
clone (ROVisibilityIterator *rovi) const
 
casacore::Bool isAsyncEnabled () const
 Members. More...
 
virtual casacore::Bool isWritable () const
 
virtual casacore::Double getInterval () const
 Return the time interval (in seconds) used for iteration. More...
 
virtual casacore::Bool existsColumn (VisBufferComponents::EnumType id) const
 
virtual SubChunkPair getSubchunkId () const
 
virtual const casacore::Block
< casacore::Int > & 
getSortColumns () const
 
virtual casacore::Vector
< casacore::Float
feed_pa (casacore::Double time) const
 Return feed parallactic angles casacore::Vector (nant) (1 feed/ant) More...
 
casacore::Bool existsFlagCategory () const
 Determine whether FLAG_CATEGORY is valid. More...
 
virtual const casacore::MDirection phaseCenter (const casacore::Int fieldId, const casacore::Double time=-1.0) const
 
casacore::Bool existsWeightSpectrum () const
 Determine whether WEIGHT_SPECTRUM exists. 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...

 
void slicesToMatrices (casacore::Vector< casacore::Matrix< casacore::Int > > &matv, const casacore::Vector< casacore::Vector< casacore::Slice > > &slicesv, const casacore::Vector< casacore::Int > &widthsv) const
 Translate slicesv from the form returned by casacore::MSSelection::getChanSlices () to matv as used by setChanAveBounds (). More...
 
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 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 void getFreqInSpwRange (casacore::Double &freqStart, casacore::Double &freqEnd, casacore::MFrequency::Types freqframe=casacore::MFrequency::LSRK) const
 Get the range of frequency convered by the selected data in the frame requested. More...
 
virtual void lsrFrequency (const casacore::Int &spw, casacore::Vector< casacore::Double > &freq, casacore::Bool &convert, const casacore::Bool ignoreconv=false)
 Convert the frequency from the observe frame to lsr frame. More...
 
virtual void useImagingWeight (const VisImagingWeight &imWgt)
 assign a VisImagingWeight object to this iterator More...
 
virtual casacore::Int numberAnt ()
 return number of Ant More...
 
casacore::ArrayColumn
< casacore::Double > & 
getChannelFrequency () const
 
casacore::Block< casacore::IntgetChannelGroupNumber () const
 
casacore::Block< casacore::IntgetChannelIncrement () const
 
casacore::Block< casacore::IntgetChannelStart () const
 
casacore::Block< casacore::IntgetChannelWidth () const
 
casacore::Int getDataDescriptionId () const
 
const casacore::MeasurementSetgetMeasurementSet () const
 
casacore::Int getMeasurementSetId () const
 
casacore::Int getNAntennas () const
 
casacore::MFrequency::Types getObservatoryFrequencyType () const
 
casacore::MPosition getObservatoryPosition () const
 
casacore::MDirection getPhaseCenter () const
 
casacore::Vector< casacore::FloatgetReceptor0Angle ()
 
casacore::Vector< casacore::uIntgetRowIds () const
 

Static Public Member Functions

static int getDefaultNBuffers ()
 These functions generate a list of the IDs (from PrefetchColumnIDs enum) of the columns to prefetch. More...
 
static casacore::String prefetchColumnName (casacore::Int id)
 
- Static Public Member Functions inherited from casa::VisibilityIteratorReadImpl
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::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)
 
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::Double hourangCalculate (casacore::Double time, casacore::MSDerivedValues &msd, const casacore::MEpoch &mEpoch0)
 
static void lsrFrequency (const casacore::Int &spw, casacore::Vector< casacore::Double > &freq, casacore::Bool &convert, const casacore::Block< casacore::Int > &chanStart, const casacore::Block< casacore::Int > &chanWidth, const casacore::Block< casacore::Int > &chanInc, const casacore::Block< casacore::Int > &numChanGroup, const casacore::ArrayColumn< casacore::Double > &chanFreqs, const casacore::ScalarColumn< casacore::Int > &obsMFreqTypes, const casacore::MEpoch &ep, const casacore::MPosition &obsPos, const casacore::MDirection &dir, const casacore::Bool ignoreconv=false)
 

Protected Member Functions

 ViReadImplAsync (const ROVisibilityIterator &rovi, const PrefetchColumns &prefetchColumns, casacore::Int nReadAheadBuffers=-1)
 Use the factory method "create" instead of calling the constructor directly. More...
 
PrefetchColumns augmentPrefetchColumns (const PrefetchColumns &prefetchColumnsBase)
 
void construct (const casacore::Block< casacore::MeasurementSet > &mss, const PrefetchColumns &prefetchColumns, const casacore::Block< casacore::Int > &sortColumns, const casacore::Bool addDefaultSortCols, casacore::Double timeInterval, casacore::Bool writable)
 
void fillVisBuffer ()
 
const casacore::MeasurementSetgetMs () const
 
void readComplete ()
 
void saveMss (const casacore::Block< casacore::MeasurementSet > &mss)
 
void saveMss (const casacore::MeasurementSet &ms)
 
- Protected Member Functions inherited from casa::VisibilityIteratorReadImpl
void attachColumnsSafe (const casacore::Table &t)
 
virtual void setSelTable ()
 set the currently selected table More...
 
virtual void setState ()
 set the iteration state More...
 
virtual void getTopoFreqs ()
 get the TOPO frequencies from the selected velocities and the obs. More...
 
virtual void getTopoFreqs (casacore::Vector< casacore::Double > &lsrFreq, casacore::Vector< casacore::Double > &selFreq)
 
virtual void getLsrInfo (casacore::Block< casacore::Int > &channelGroupNumber, casacore::Block< casacore::Int > &channelIncrement, casacore::Block< casacore::Int > &channelStart, casacore::Block< casacore::Int > &channelWidth, casacore::MPosition &observatoryPositon, casacore::MDirection &phaseCenter, casacore::Bool &velocitySelection) const
 
std::vector
< casacore::MeasurementSet
getMeasurementSets () const
 
const casacore::MSDerivedValuesgetMSD () const
 
virtual void updateSlicer ()
 update the DATA slicer More...
 
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...
 
casacore::Bool usesTiledDataManager (const casacore::String &columnName, const casacore::MeasurementSet &ms) const
 get the (velocity selected) interpolated visibilities, flags and weights. More...
 
virtual void getDataColumn (ROVisibilityIterator::DataColumn whichOne, const casacore::Slicer &slicer, casacore::Cube< casacore::Complex > &data) const
 get the visibility data (observed, corrected or model); deals with casacore::Float and casacore::Complex observed data (DATA or FLOAT_DATA) More...
 
virtual void getDataColumn (DataColumn whichOne, casacore::Cube< casacore::Complex > &data) const
 
virtual void initialize (const casacore::Block< casacore::MeasurementSet > &mss)
 constructor helpers More...
 
virtual void originChunks (casacore::Bool forceRewind)
 
virtual void doChannelSelection ()
 Re-Do the channel selection in multi ms case. More...
 
virtual void setTileCache ()
 Set the tile cache size....when using slice access if tile cache size is not set memory usage can go wild. More...
 
virtual casacore::Bool isInSelectedSPW (const casacore::Int &spw)
 Check if spw is in selected SPW for actual ms. More...
 
virtual void update_rowIds () const
 Updates, if necessary, rowIds_p member for the current chunk. More...
 
void setAsyncEnabled (casacore::Bool enable)
 
template<class T >
void getColScalar (const casacore::ScalarColumn< T > &column, casacore::Vector< T > &array, casacore::Bool resize) const
 
template<class T >
void getColArray (const casacore::ArrayColumn< T > &column, casacore::Array< T > &array, casacore::Bool resize) const
 
virtual void getCol (const casacore::ScalarColumn< casacore::Bool > &column, casacore::Vector< casacore::Bool > &array, casacore::Bool resize=false) const
 column access functions, can be overridden in derived classes More...
 
virtual void getCol (const casacore::ScalarColumn< casacore::Int > &column, casacore::Vector< casacore::Int > &array, casacore::Bool resize=false) const
 
virtual void getCol (const casacore::ScalarColumn< casacore::Double > &column, casacore::Vector< casacore::Double > &array, casacore::Bool resize=false) const
 
virtual void getCol (const casacore::ArrayColumn< casacore::Bool > &column, casacore::Array< casacore::Bool > &array, casacore::Bool resize=false) const
 
virtual void getCol (const casacore::ArrayColumn< casacore::Float > &column, casacore::Array< casacore::Float > &array, casacore::Bool resize=false) const
 
virtual void getCol (const casacore::ArrayColumn< casacore::Double > &column, casacore::Array< casacore::Double > &array, casacore::Bool resize=false) const
 
virtual void getCol (const casacore::ArrayColumn< casacore::Complex > &column, casacore::Array< casacore::Complex > &array, casacore::Bool resize=false) const
 
virtual void getCol (const casacore::ArrayColumn< casacore::Bool > &column, const casacore::Slicer &slicer, casacore::Array< casacore::Bool > &array, casacore::Bool resize=false) const
 
virtual void getCol (const casacore::ArrayColumn< casacore::Float > &column, const casacore::Slicer &slicer, casacore::Array< casacore::Float > &array, casacore::Bool resize=false) const
 
virtual void getCol (const casacore::ArrayColumn< casacore::Complex > &column, const casacore::Slicer &slicer, casacore::Array< casacore::Complex > &array, casacore::Bool resize=false) const
 
template<class T >
void swapyz (casacore::Cube< T > &out, const casacore::Cube< T > &in) const
 virtual void getCol (const casacore::String & colName, casacore::Array<casacore::Double> & array, casacore::Array<casacore::Double> & all, casacore::Bool resize = false) const; virtual void getCol (const casacore::String & colName, casacore::Vector<casacore::Bool> & array, casacore::Vector<casacore::Bool> & all, casacore::Bool resize = false) const; virtual void getCol (const casacore::String & colName, casacore::Vector<casacore::Int> & array, casacore::Vector<casacore::Int> & all, casacore::Bool resize = false) const; virtual void getCol (const casacore::String & colName, casacore::Vector<casacore::Double> & array, casacore::Vector<casacore::Double> & all, casacore::Bool resize = false) const; More...
 

Private Member Functions

void dumpPrefetchColumns () const
 
void updateMsd ()
 
 ViReadImplAsync (const ViReadImplAsync &MSI)
 
ViReadImplAsyncoperator= (const ViReadImplAsync &MSI)
 

Private Attributes

asyncio::AsynchronousInterfaceinterface_p
 void startVlat (); More...
 
casacore::Int msId_p
 
PrefetchColumns prefetchColumns_p
 
std::stack
< VisBufferAsyncWrapper * > 
vbaWrapperStack_p
 
VisBufferAsyncvisBufferAsync_p
 
asyncio::VlaDatavlaData_p
 
asyncio::VLATvlat_p
 

Friends

class Rovia_Test
 This needs to be changed back to ROVisibilityIterator at some point after feasibility testing. More...
 
class ROVisIterator
 
class VisIterator
 
class ViWriteImplAsync
 

Additional Inherited Members

- Protected Types inherited from casa::VisibilityIteratorReadImpl
typedef std::vector
< casacore::MeasurementSet
MeasurementSets
 
- Protected Attributes inherited from casa::VisibilityIteratorReadImpl
casacore::Bool addDefaultSort_p
 
casacore::Bool asyncEnabled_p
 
casacore::Bool autoTileCacheSizing_p
 
Cache cache_p
 
casacore::Int channelGroupSize_p
 
Channels channels_p
 
casacore::Int chunkNumber_p
 
Columns columns_p
 
casacore::Int curChanGroup_p
 
casacore::Int curEndRow_p
 
casacore::Int curNGroups_p
 
casacore::uInt curNumRow_p
 
casacore::Int curStartRow_p
 
casacore::Int curTableNumRow_p
 
casacore::Bool floatDataFound_p
 
VisImagingWeight imwgt_p
 
casacore::Bool initialized_p
 
casacore::Bool isMultiMS_p
 
MeasurementSets measurementSets_p
 
casacore::Bool more_p
 
MeasurementSetChannels msChannels_p
 
casacore::Int msCounter_p
 
casacore::Bool msIterAtOrigin_p
 
casacore::MSIter msIter_p
 
casacore::MSDerivedValues msd_p
 
casacore::Int nAnt_p
 
casacore::Int nChan_p
 
casacore::Int nPol_p
 
casacore::Int nRowBlocking_p
 
casacore::Bool newChanGroup_p
 
ROVisibilityIteratorrovi_p
 
casacore::RefRows selRows_p
 
casacore::Slicer slicer_p
 
casacore::Block< casacore::IntsortColumns_p
 
casacore::Bool stateOk_p
 
SubChunkPair subchunk_p
 
casacore::Vector< casacore::BooltileCacheIsSet_p
 
casacore::Double timeInterval_p
 
casacore::Vector
< casacore::Double
time_p
 
casacore::Bool useSlicer_p
 
std::stack< VisBuffer * > vbStack_p
 
Velocity velocity_p
 
casacore::Slicer weightSlicer_p
 

Detailed Description

Definition at line 36 of file VisibilityIteratorImplAsync.h.

Member Typedef Documentation

Definition at line 47 of file VisibilityIteratorImplAsync.h.

Constructor & Destructor Documentation

casa::ViReadImplAsync::ViReadImplAsync ( const casacore::Block< casacore::MeasurementSet > &  mss,
const PrefetchColumns prefetchColumns,
const casacore::Block< casacore::Int > &  sortColumns,
const casacore::Bool  addDefaultSortCols,
casacore::Double  timeInterval,
casacore::Bool  writable 
)

static VisibilityIteratorReadImpl * create (const ROVisibilityIterator &, const PrefetchColumns & prefetchColumns, casacore::Int nReadAheadBuffers = -1);

casa::ViReadImplAsync::ViReadImplAsync ( const PrefetchColumns prefetchColumns,
const VisibilityIteratorReadImpl other,
casacore::Bool  writable 
)
casa::ViReadImplAsync::~ViReadImplAsync ( )
casa::ViReadImplAsync::ViReadImplAsync ( const ROVisibilityIterator rovi,
const PrefetchColumns prefetchColumns,
casacore::Int  nReadAheadBuffers = -1 
)
protected

Use the factory method "create" instead of calling the constructor directly.

This allows disabling the feature.

ViReadImplAsync (const casacore::MeasurementSet & ms, const PrefetchColumns & prefetchColumns, const casacore::Block<casacore::Int> & sortColumns, casacore::Double timeInterval=0, casacore::Int nReadAheadBuffers = 2); ViReadImplAsync (const casacore::MeasurementSet & ms, const PrefetchColumns & prefetchColumns, const casacore::Block<casacore::Int> & sortColumns, const casacore::Bool addDefaultSortCols, casacore::Double timeInterval=0, casacore::Int nReadAheadBuffers = 2);

Same as previous constructor, but with multiple MSs to iterate over.

ViReadImplAsync (const casacore::Block<casacore::MeasurementSet> & mss, const PrefetchColumns & prefetchColumns, const casacore::Block<casacore::Int> & sortColumns, casacore::Double timeInterval=0, casacore::Int nReadAheadBuffers = 2);

casa::ViReadImplAsync::ViReadImplAsync ( const ViReadImplAsync MSI)
private

Member Function Documentation

virtual void casa::ViReadImplAsync::advance ( )
virtual

advance the iteration

Reimplemented from casa::VisibilityIteratorReadImpl.

casacore::Bool casa::ViReadImplAsync::allBeamOffsetsZero ( ) const
virtual

The functions below make no sense (at first glance) for asynchronous operation and are implemented to throw an casacore::AipsError if called.

ROVIA is designed to have all the data accessed through the associated VisBufferAsync. Any method which tries to access data through the ROVIA makes no sense. Also anything that tries to change the characteristics of underlying ROVI is not currently permitted. During integration some methods may be found to be more important to the use of ROVIA and a way may be found to implement them in ROVIA.

Reimplemented from casa::VisibilityIteratorReadImpl.

void casa::ViReadImplAsync::allSelectedSpectralWindows ( casacore::Vector< casacore::Int > &  spws,
casacore::Vector< casacore::Int > &  nvischan 
)
inlinevirtual

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

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 135 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::Int>& casa::ViReadImplAsync::antenna1 ( casacore::Vector< casacore::Int > &  ant1) const
inlinevirtual

Return antenna1.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 136 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::Int>& casa::ViReadImplAsync::antenna2 ( casacore::Vector< casacore::Int > &  ant2) const
inlinevirtual

Return antenna2.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 137 of file VisibilityIteratorImplAsync.h.

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

return a string mount identifier for each antenna

Reimplemented from casa::VisibilityIteratorReadImpl.

casacore::Int casa::ViReadImplAsync::arrayId ( ) const
inlinevirtual

Return the current ArrayId.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 159 of file VisibilityIteratorImplAsync.h.

void casa::ViReadImplAsync::attachVisBuffer ( VisBuffer vb)
virtual

Attach a VisBuffer object.

Note that while more than one VisBuffer may be attached, only the last one is actively updated. A casacore::Stack is kept internally, so after a detach, the previous VisBuffer becomes active again.

Reimplemented from casa::VisibilityIteratorReadImpl.

PrefetchColumns casa::ViReadImplAsync::augmentPrefetchColumns ( const PrefetchColumns prefetchColumnsBase)
protected
casacore::Vector<casacore::MDirection> casa::ViReadImplAsync::azel ( casacore::Double  ) const
inlinevirtual

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 139 of file VisibilityIteratorImplAsync.h.

casacore::MDirection casa::ViReadImplAsync::azel0 ( casacore::Double  time) const
inlinevirtual

Return the antenna AZ/EL casacore::Vector (nant)

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 140 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::Int>& casa::ViReadImplAsync::channel ( casacore::Vector< casacore::Int > &  chan) const
inlinevirtual

Return channel numbers in selected VisSet spectrum (i.e.

disregarding possible selection on the iterator, but including the selection set when creating the VisSet)

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 141 of file VisibilityIteratorImplAsync.h.

casacore::Int casa::ViReadImplAsync::channelGroupSize ( ) const
inlinevirtual

Return the width of the current group of channels, i.e., the number of channels returned by visibility () and frequency ().

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 142 of file VisibilityIteratorImplAsync.h.

casacore::Int casa::ViReadImplAsync::channelIndex ( ) const
inlinevirtual

Return the index of the first channel of the current channel group in the total (selected) spectrum.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 143 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::SquareMatrix<casacore::Complex,2> >& casa::ViReadImplAsync::CJones ( casacore::Vector< casacore::SquareMatrix< casacore::Complex, 2 > > &  cjones) const
inlinevirtual

Return feed configuration matrix for specified antenna.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 144 of file VisibilityIteratorImplAsync.h.

VisibilityIteratorReadImpl* casa::ViReadImplAsync::clone ( ) const
void casa::ViReadImplAsync::construct ( const casacore::Block< casacore::MeasurementSet > &  mss,
const PrefetchColumns prefetchColumns,
const casacore::Block< casacore::Int > &  sortColumns,
const casacore::Bool  addDefaultSortCols,
casacore::Double  timeInterval,
casacore::Bool  writable 
)
protected
casacore::Vector<casacore::Int>& casa::ViReadImplAsync::corrType ( casacore::Vector< casacore::Int > &  corrTypes) const
inlinevirtual

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

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 145 of file VisibilityIteratorImplAsync.h.

casacore::Int casa::ViReadImplAsync::dataDescriptionId ( ) const
inlinevirtual

Return current DataDescription Id.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 146 of file VisibilityIteratorImplAsync.h.

void casa::ViReadImplAsync::detachVisBuffer ( VisBuffer vb)
virtual

Detach a VisBuffer object.

If the object detached is not the last one attached an exception is thrown.

Reimplemented from casa::VisibilityIteratorReadImpl.

void casa::ViReadImplAsync::dumpPrefetchColumns ( ) const
private
casacore::Bool casa::ViReadImplAsync::existsWeightSpectrum ( ) const
inline

Definition at line 147 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::Double>& casa::ViReadImplAsync::exposure ( casacore::Vector< casacore::Double > &  expo) const
inlinevirtual

Return actual time interval.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 148 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::Int>& casa::ViReadImplAsync::feed1 ( casacore::Vector< casacore::Int > &  fd1) const
inlinevirtual

Return feed1.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 149 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::Int>& casa::ViReadImplAsync::feed2 ( casacore::Vector< casacore::Int > &  fd2) const
inlinevirtual

Return feed2.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 150 of file VisibilityIteratorImplAsync.h.

casacore::Int casa::ViReadImplAsync::fieldId ( ) const
inlinevirtual

casacore::Vector<casacore::Float> feed_pa(casacore::Double) const { NotImplementedROVIA; }

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 152 of file VisibilityIteratorImplAsync.h.

casacore::String casa::ViReadImplAsync::fieldName ( ) const
inlinevirtual

Return the current Field Name.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 160 of file VisibilityIteratorImplAsync.h.

void casa::ViReadImplAsync::fillVisBuffer ( )
protected
casacore::Cube<casacore::Bool>& casa::ViReadImplAsync::flag ( casacore::Cube< casacore::Bool > &  flags) const
inlinevirtual

Return flag for each polarization, channel and row.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 162 of file VisibilityIteratorImplAsync.h.

casacore::Matrix<casacore::Bool>& casa::ViReadImplAsync::flag ( casacore::Matrix< casacore::Bool > &  flags) const
inlinevirtual

Return flag for each channel & row.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 163 of file VisibilityIteratorImplAsync.h.

casacore::Array<casacore::Bool>& casa::ViReadImplAsync::flagCategory ( casacore::Array< casacore::Bool > &  flagCategories) const
inlinevirtual

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

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 153 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::Bool>& casa::ViReadImplAsync::flagRow ( casacore::Vector< casacore::Bool > &  rowflags) const
inlinevirtual

Return row flag.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 164 of file VisibilityIteratorImplAsync.h.

casacore::Cube<casacore::Float>& casa::ViReadImplAsync::floatData ( casacore::Cube< casacore::Float > &  fcube) const
inlinevirtual

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

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 154 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::Double>& casa::ViReadImplAsync::frequency ( casacore::Vector< casacore::Double > &  freq) const
inlinevirtual

Return current frequencies (in Hz, acc.

to the casacore::MS def'n v.2)

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 165 of file VisibilityIteratorImplAsync.h.

const casacore::Cube<casacore::RigidVector<casacore::Double, 2> >& casa::ViReadImplAsync::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::VisibilityIteratorReadImpl.

void casa::ViReadImplAsync::getChannelSelection ( casacore::Block< casacore::Vector< casacore::Int > > &  blockNGroup,
casacore::Block< casacore::Vector< casacore::Int > > &  blockStart,
casacore::Block< casacore::Vector< casacore::Int > > &  blockWidth,
casacore::Block< casacore::Vector< casacore::Int > > &  blockIncr,
casacore::Block< casacore::Vector< casacore::Int > > &  blockSpw 
)
virtual

get the channel selection...the block over the number of ms's associated with this iterator

Reimplemented from casa::VisibilityIteratorReadImpl.

casacore::Int casa::ViReadImplAsync::getDataDescriptionId ( ) const
inline

Definition at line 167 of file VisibilityIteratorImplAsync.h.

static int casa::ViReadImplAsync::getDefaultNBuffers ( )
static

These functions generate a list of the IDs (from PrefetchColumnIDs enum) of the columns to prefetch.

For the variable arg calls, terminate with a -1.

casacore::MEpoch casa::ViReadImplAsync::getEpoch ( ) const
virtual

casacore::Int getDataDescriptionId () const; const casacore::MeasurementSet & getMeasurementSet(); const casacore::Int getMeasurementSetId (); casacore::Int getNAntennas () const;

Reimplemented from casa::VisibilityIteratorReadImpl.

void casa::ViReadImplAsync::getFloatDataColumn ( casacore::Cube< casacore::Float > &  ) const
inlinevirtual

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 155 of file VisibilityIteratorImplAsync.h.

void casa::ViReadImplAsync::getFloatDataColumn ( const casacore::Slicer slicer,
casacore::Cube< casacore::Float > &  data 
) const
inlinevirtual

get FLOAT_DATA as real Floats.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 156 of file VisibilityIteratorImplAsync.h.

void casa::ViReadImplAsync::getInterpolatedFloatDataFlagWeight ( ) const
inline

Definition at line 157 of file VisibilityIteratorImplAsync.h.

void casa::ViReadImplAsync::getInterpolatedVisFlagWeight ( DataColumn  ) const
inline

Definition at line 158 of file VisibilityIteratorImplAsync.h.

const casacore::MeasurementSet& casa::ViReadImplAsync::getMeasurementSet ( ) const
inline

Definition at line 169 of file VisibilityIteratorImplAsync.h.

casacore::Int casa::ViReadImplAsync::getMeasurementSetId ( ) const
inline

Definition at line 170 of file VisibilityIteratorImplAsync.h.

casacore::MEpoch casa::ViReadImplAsync::getMEpoch ( ) const
inline

Definition at line 168 of file VisibilityIteratorImplAsync.h.

const casacore::MeasurementSet& casa::ViReadImplAsync::getMs ( ) const
protected
casacore::Int casa::ViReadImplAsync::getNAntennas ( ) const
inline

Definition at line 171 of file VisibilityIteratorImplAsync.h.

PrefetchColumns casa::ViReadImplAsync::getPrefetchColumns ( ) const
casacore::Vector<casacore::Float> casa::ViReadImplAsync::getReceptor0Angle ( )
inline

Definition at line 172 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::uInt> casa::ViReadImplAsync::getRowIds ( ) const
inline

Definition at line 173 of file VisibilityIteratorImplAsync.h.

VisBuffer* casa::ViReadImplAsync::getVisBuffer ( )
virtual

Reimplemented from casa::VisibilityIteratorReadImpl.

casacore::Double casa::ViReadImplAsync::hourang ( casacore::Double  time) const
inlinevirtual

Return the hour angle for the specified time.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 174 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::Double>& casa::ViReadImplAsync::lsrFrequency ( casacore::Vector< casacore::Double > &  freq) const
inlinevirtual

Return frequencies (in Hz, acc.

to the casacore::MS def'n v.2) in selected velocity frame, returns the same as frequency () if there is no vel selection active.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 175 of file VisibilityIteratorImplAsync.h.

void casa::ViReadImplAsync::lsrFrequency ( const casacore::Int ,
casacore::Vector< casacore::Double > &  ,
casacore::Bool  
)
inline

Definition at line 176 of file VisibilityIteratorImplAsync.h.

bool casa::ViReadImplAsync::more ( ) const
virtual

casacore::Vector<casacore::Float> getReceptor0Angle ();

/void linkWithRovi (VisibilityIteratorReadImpl * rovi);

Reimplemented from casa::VisibilityIteratorReadImpl.

bool casa::ViReadImplAsync::moreChunks ( ) const
virtual

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

Reimplemented from casa::VisibilityIteratorReadImpl.

const casacore::MeasurementSet& casa::ViReadImplAsync::ms ( ) const
inlinevirtual

reference to actual ms in interator

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 177 of file VisibilityIteratorImplAsync.h.

const casacore::ROMSColumns& casa::ViReadImplAsync::msColumns ( ) const
virtual

Access the current casacore::ROMSColumns object in MSIter.

Reimplemented from casa::VisibilityIteratorReadImpl.

casacore::Int casa::ViReadImplAsync::msId ( ) const
virtual

Reimplemented from casa::VisibilityIteratorReadImpl.

casacore::Int casa::ViReadImplAsync::nCorr ( ) const
inlinevirtual

Return the number of correlations in the current iteration.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 180 of file VisibilityIteratorImplAsync.h.

casacore::Bool casa::ViReadImplAsync::newArrayId ( ) const
inlinevirtual

Return true if arrayID has changed since last iteration.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 184 of file VisibilityIteratorImplAsync.h.

casacore::Bool casa::ViReadImplAsync::newFieldId ( ) const
inlinevirtual

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

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 185 of file VisibilityIteratorImplAsync.h.

casacore::Bool casa::ViReadImplAsync::newMS ( ) const
inlinevirtual

Check if ms has change since last iteration.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 186 of file VisibilityIteratorImplAsync.h.

References casacore::MSIter::more(), and casa::VisibilityIteratorReadImpl::msIter_p.

casacore::Bool casa::ViReadImplAsync::newSpectralWindow ( ) const
inlinevirtual

Return true if SpectralWindow has changed since last iteration.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 187 of file VisibilityIteratorImplAsync.h.

ViReadImplAsync& casa::ViReadImplAsync::nextChunk ( )
virtual

Advance to the next Chunk of data.

Reimplemented from casa::VisibilityIteratorReadImpl.

casacore::Int casa::ViReadImplAsync::nRow ( ) const
inlinevirtual

Return the number of rows in the current iteration.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 181 of file VisibilityIteratorImplAsync.h.

casacore::Int casa::ViReadImplAsync::nRowChunk ( ) const
virtual

Return the numbers of rows in the current chunk.

Reimplemented from casa::VisibilityIteratorReadImpl.

casacore::Int casa::ViReadImplAsync::nSubInterval ( ) const
inlinevirtual

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

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 183 of file VisibilityIteratorImplAsync.h.

casacore::Int casa::ViReadImplAsync::numberCoh ( )
inlinevirtual

Return number of rows in all selected ms's.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 188 of file VisibilityIteratorImplAsync.h.

casacore::Int casa::ViReadImplAsync::numberDDId ( )
inlinevirtual

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 189 of file VisibilityIteratorImplAsync.h.

casacore::Int casa::ViReadImplAsync::numberPol ( )
inlinevirtual

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 190 of file VisibilityIteratorImplAsync.h.

casacore::Int casa::ViReadImplAsync::numberSpw ( )
virtual

Return number of spws, polids, ddids.

Reimplemented from casa::VisibilityIteratorReadImpl.

casacore::Vector<casacore::Int>& casa::ViReadImplAsync::observationId ( casacore::Vector< casacore::Int > &  obsids) const
inlinevirtual

Return the OBSERVATION_IDs.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 192 of file VisibilityIteratorImplAsync.h.

ViReadImplAsync& casa::ViReadImplAsync::operator= ( const ViReadImplAsync MSI)
private
void casa::ViReadImplAsync::origin ( )
virtual

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

Reimplemented from casa::VisibilityIteratorReadImpl.

void casa::ViReadImplAsync::originChunks ( )
virtual

Reset iterator to true start of data (first chunk)

Reimplemented from casa::VisibilityIteratorReadImpl.

casacore::Vector<casacore::Float> casa::ViReadImplAsync::parang ( casacore::Double  time) const
inlinevirtual

Per antenna:

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 193 of file VisibilityIteratorImplAsync.h.

const casacore::Float& casa::ViReadImplAsync::parang0 ( casacore::Double  time) const
inlinevirtual

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)

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 194 of file VisibilityIteratorImplAsync.h.

const casacore::MDirection& casa::ViReadImplAsync::phaseCenter ( ) const
inlinevirtual

Return the current phase center as an MDirection.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 195 of file VisibilityIteratorImplAsync.h.

casacore::Int casa::ViReadImplAsync::polarizationId ( ) const
inlinevirtual

Return current Polarization Id.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 198 of file VisibilityIteratorImplAsync.h.

casacore::Int casa::ViReadImplAsync::polFrame ( ) const
inlinevirtual

Return frame for polarization (returns PolFrame enum)

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 196 of file VisibilityIteratorImplAsync.h.

static casacore::String casa::ViReadImplAsync::prefetchColumnName ( casacore::Int  id)
static
casacore::Vector<casacore::Int>& casa::ViReadImplAsync::processorId ( casacore::Vector< casacore::Int > &  procids) const
inlinevirtual

Return the PROCESSOR_IDs.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 197 of file VisibilityIteratorImplAsync.h.

void casa::ViReadImplAsync::readComplete ( )
protected
const casacore::Cube<casacore::Double>& casa::ViReadImplAsync::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::VisibilityIteratorReadImpl.

casacore::Vector<casacore::uInt>& casa::ViReadImplAsync::rowIds ( casacore::Vector< casacore::uInt > &  rowids) const
inlinevirtual

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::VisibilityIteratorReadImpl.

Definition at line 200 of file VisibilityIteratorImplAsync.h.

void casa::ViReadImplAsync::saveMss ( const casacore::Block< casacore::MeasurementSet > &  mss)
protected
void casa::ViReadImplAsync::saveMss ( const casacore::MeasurementSet ms)
protected
casacore::Vector<casacore::Int>& casa::ViReadImplAsync::scan ( casacore::Vector< casacore::Int > &  scans) const
inlinevirtual

Return scan number.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 201 of file VisibilityIteratorImplAsync.h.

VisibilityIteratorReadImpl& casa::ViReadImplAsync::selectChannel ( casacore::Int  nGroup = 1,
casacore::Int  start = 0,
casacore::Int  width = 0,
casacore::Int  increment = 1,
casacore::Int  spectralWindow = -1 
)
virtual

Channel selection - only the selected channels will be returned by the access functions.

The default spectralWindow is the current one (or 0) This allows selection of the input channels, producing nGroup groups of width output channels. Default is to return all channels in a single group.

Reimplemented from casa::VisibilityIteratorReadImpl.

VisibilityIteratorReadImpl& casa::ViReadImplAsync::selectChannel ( const casacore::Block< casacore::Vector< casacore::Int > > &  blockNGroup,
const casacore::Block< casacore::Vector< casacore::Int > > &  blockStart,
const casacore::Block< casacore::Vector< casacore::Int > > &  blockWidth,
const casacore::Block< casacore::Vector< casacore::Int > > &  blockIncr,
const casacore::Block< casacore::Vector< casacore::Int > > &  blockSpw 
)
virtual

Same as above except when multiple ms's are to be accessed.

Reimplemented from casa::VisibilityIteratorReadImpl.

VisibilityIteratorReadImpl& casa::ViReadImplAsync::selectVelocity ( casacore::Int  nChan,
const casacore::MVRadialVelocity vStart,
const casacore::MVRadialVelocity vInc,
casacore::MRadialVelocity::Types  rvType,
casacore::MDoppler::Types  dType,
casacore::Bool  precise 
)
virtual

Velocity selection - specify the output channels in velocity: nChan - number of output channels, vStart - start velocity, vInc - velocity increment.

So channel i will have velocity vStart + i*vInc (i=0,nChan-1). Specify velocities as in e.g., casacore::MVRadialVelocity (casacore::Quantity (2001.,"km/s")). The reference type and velocity definition are specified separately. Note that no averaging is performed, the visibilities will be interpolated and sampled at the specified velocities, it's up to you to choose a vInc appropriate to the channel width. The REST_FREQUENCY column in the SPECTRAL_WINDOW subtable is used to determine the velocity-frequency conversion. By default calculations are done for a single velocity with offsets applied for the others (ok for non-rel velocities with RADIO defn), set precise to true to do a full conversion for each output channel. (NYI)

Reimplemented from casa::VisibilityIteratorReadImpl.

void casa::ViReadImplAsync::setInterval ( casacore::Double  timeInterval)
virtual

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::VisibilityIteratorReadImpl.

void casa::ViReadImplAsync::setPrefetchColumns ( const PrefetchColumns prefetchColumns)
void casa::ViReadImplAsync::setRowBlocking ( casacore::Int  nRows)
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::VisibilityIteratorReadImpl.

casacore::Vector<casacore::Float>& casa::ViReadImplAsync::sigma ( casacore::Vector< casacore::Float > &  sig) const
inlinevirtual

Return sigma.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 202 of file VisibilityIteratorImplAsync.h.

casacore::Matrix<casacore::Float>& casa::ViReadImplAsync::sigmaMat ( casacore::Matrix< casacore::Float > &  sigmat) const
inlinevirtual

Return sigma matrix (pol-dep)

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 203 of file VisibilityIteratorImplAsync.h.

void casa::ViReadImplAsync::slurp ( ) const
inlinevirtual

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::VisibilityIteratorReadImpl.

Definition at line 204 of file VisibilityIteratorImplAsync.h.

casacore::String casa::ViReadImplAsync::sourceName ( ) const
inlinevirtual

Return the current Source Name.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 161 of file VisibilityIteratorImplAsync.h.

casacore::Int casa::ViReadImplAsync::spectralWindow ( ) const
inlinevirtual

Return current SpectralWindow.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 205 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::Int>& casa::ViReadImplAsync::stateId ( casacore::Vector< casacore::Int > &  stateids) const
inlinevirtual

Return the STATE_IDs.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 206 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::Double>& casa::ViReadImplAsync::time ( casacore::Vector< casacore::Double > &  t) const
inlinevirtual

Return MJD midpoint of interval.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 207 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::Double>& casa::ViReadImplAsync::timeCentroid ( casacore::Vector< casacore::Double > &  t) const
inlinevirtual

Return MJD centroid of interval.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 208 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::Double>& casa::ViReadImplAsync::timeInterval ( casacore::Vector< casacore::Double > &  ti) const
inlinevirtual

Return nominal time interval.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 209 of file VisibilityIteratorImplAsync.h.

void casa::ViReadImplAsync::updateMsd ( )
private
casacore::Vector<casacore::RigidVector<casacore::Double,3> >& casa::ViReadImplAsync::uvw ( casacore::Vector< casacore::RigidVector< casacore::Double, 3 > > &  uvwvec) const
inlinevirtual

Return u,v and w (in meters)

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 210 of file VisibilityIteratorImplAsync.h.

casacore::Matrix<casacore::Double>& casa::ViReadImplAsync::uvwMat ( casacore::Matrix< casacore::Double > &  ) const
inlinevirtual

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 211 of file VisibilityIteratorImplAsync.h.

VisibilityIteratorReadImpl& casa::ViReadImplAsync::velInterpolation ( const casacore::String )
inlinevirtual

Select the velocity interpolation scheme.

At present the choice is limited to : nearest and linear, linear is the default. TODO: add cubic, spline and possibly FFT

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 212 of file VisibilityIteratorImplAsync.h.

casacore::Cube<casacore::Complex>& casa::ViReadImplAsync::visibility ( casacore::Cube< casacore::Complex > &  vis,
DataColumn  whichOne 
) const
inlinevirtual

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

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 213 of file VisibilityIteratorImplAsync.h.

casacore::Matrix<CStokesVector>& casa::ViReadImplAsync::visibility ( casacore::Matrix< CStokesVector > &  vis,
DataColumn  whichOne 
) const
inlinevirtual

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.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 214 of file VisibilityIteratorImplAsync.h.

casacore::IPosition casa::ViReadImplAsync::visibilityShape ( ) const
inlinevirtual

Return the shape of the visibility Cube.

inline VisibilityIteratorReadImpl & VisibilityIteratorReadImpl::velInterpolation (const casacore::String & type) { vInterpolation_p = type; return *this; }

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 215 of file VisibilityIteratorImplAsync.h.

casacore::Vector<casacore::Float>& casa::ViReadImplAsync::weight ( casacore::Vector< casacore::Float > &  wt) const
inlinevirtual

Return weight.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 216 of file VisibilityIteratorImplAsync.h.

casacore::Matrix<casacore::Float>& casa::ViReadImplAsync::weightMat ( casacore::Matrix< casacore::Float > &  wtmat) const
inlinevirtual

Returns the nPol_p x curNumRow_p weight matrix.

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 217 of file VisibilityIteratorImplAsync.h.

casacore::Cube<casacore::Float>& casa::ViReadImplAsync::weightSpectrum ( casacore::Cube< casacore::Float > &  wtsp) const
inlinevirtual

Return weightspectrum (a weight for each channel)

Reimplemented from casa::VisibilityIteratorReadImpl.

Definition at line 218 of file VisibilityIteratorImplAsync.h.

Friends And Related Function Documentation

friend class Rovia_Test
friend

This needs to be changed back to ROVisibilityIterator at some point after feasibility testing.

Definition at line 40 of file VisibilityIteratorImplAsync.h.

friend class ROVisIterator
friend

Definition at line 41 of file VisibilityIteratorImplAsync.h.

friend class VisIterator
friend

Definition at line 42 of file VisibilityIteratorImplAsync.h.

friend class ViWriteImplAsync
friend

Definition at line 43 of file VisibilityIteratorImplAsync.h.

Member Data Documentation

asyncio::AsynchronousInterface* casa::ViReadImplAsync::interface_p
private

void startVlat ();

Definition at line 270 of file VisibilityIteratorImplAsync.h.

casacore::Int casa::ViReadImplAsync::msId_p
private

Definition at line 271 of file VisibilityIteratorImplAsync.h.

PrefetchColumns casa::ViReadImplAsync::prefetchColumns_p
private

Definition at line 272 of file VisibilityIteratorImplAsync.h.

std::stack<VisBufferAsyncWrapper *> casa::ViReadImplAsync::vbaWrapperStack_p
private

Definition at line 273 of file VisibilityIteratorImplAsync.h.

VisBufferAsync* casa::ViReadImplAsync::visBufferAsync_p
private

Definition at line 274 of file VisibilityIteratorImplAsync.h.

asyncio::VlaData* casa::ViReadImplAsync::vlaData_p
private

Definition at line 275 of file VisibilityIteratorImplAsync.h.

asyncio::VLAT* casa::ViReadImplAsync::vlat_p
private

Definition at line 276 of file VisibilityIteratorImplAsync.h.


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