casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Private Attributes | Friends
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

List of all members.

Public Member Functions

 VisibilityIteratorImplAsync2 (VisibilityIterator2 *rovi, const Block< MeasurementSet > &mss, const Block< Int > &sortColumns, Bool addDefaultSortCols, Double timeInterval, Bool createVb, Bool isWritable)
 VLAT should not access private parts, especially variables.
 VisibilityIteratorImplAsync2 (const VisibilityIteratorImplAsync2 &other, VisibilityIterator2 *rovi)
 Copy construct.
virtual ~VisibilityIteratorImplAsync2 ()
 Destructor.
virtual void origin ()
 Members.
virtual void originChunks ()
 Reset iterator to true start of data (first chunk)
virtual void setInterval (Double timeInterval)
 Return the time interval (in seconds) used for iteration.
virtual void setRowBlocking (Int nRows=0)
 Set the 'blocking' size for returning data.
virtual Bool existsColumn (VisBufferComponent2 id) const
virtual Bool more () const
 Return False if no more data (in current chunk)
virtual Subchunk getSubchunkId () const
virtual void setFrequencySelections (const FrequencySelections &selection)
 Select the channels to be returned.
virtual Bool moreChunks () const
 Return False if no more 'Chunks' of data left.
virtual Bool isNewArrayId () const
 Check if ms has change since last iteration.
virtual Bool isNewFieldId () const
virtual Bool isNewMs () const
virtual Bool isNewSpectralWindow () const
virtual Int msId () const
 reference to actual ms in interator
virtual const MeasurementSetms () const
 reference to actual ms in interator
virtual void nextChunk ()
 Advance to the next Chunk of data.
virtual void antenna1 (Vector< Int > &ant1) const
 Return antenna1.
virtual void antenna2 (Vector< Int > &ant2) const
 Return antenna2.
virtual void feed1 (Vector< Int > &fd1) const
 Return feed1.
virtual void feed2 (Vector< Int > &fd2) const
 Return feed2.
void jonesC (Vector< SquareMatrix< Complex, 2 > > &cjones) const
 Return feed configuration matrix for specified antenna.
virtual const Cube< 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.
virtual const Vector< String > & antennaMounts () const
 return a string mount identifier for each antenna
virtual const Cube
< RigidVector< 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).
virtual Int fieldId () const
 Return the current FieldId.
virtual Int arrayId () const
 Return the current ArrayId.
virtual void flag (Cube< Bool > &flags) const
 Return flag for each polarization, channel and row.
virtual void flag (Matrix< Bool > &flags) const
 Return flag for each channel & row.
Bool existsFlagCategory () const
 Determine whether FLAG_CATEGORY is valid.
virtual void flagCategory (Array< Bool > &flagCategories) const
 Return flags for each polarization, channel, category, and row.
virtual void flagRow (Vector< Bool > &rowflags) const
 Return row flag.
virtual void scan (Vector< Int > &scans) const
 Return scan number.
virtual void observationId (Vector< Int > &obsids) const
 Return the OBSERVATION_IDs.
virtual void processorId (Vector< Int > &procids) const
 Return the PROCESSOR_IDs.
virtual void stateId (Vector< Int > &stateids) const
 Return the STATE_IDs.
virtual const MDirectionphaseCenter () const
 Return the current phase center as an MDirection.
virtual Int polFrame () const
 Return frame for polarization (returns PolFrame enum)
virtual void corrType (Vector< Int > &corrTypes) const
 Return the correlation type (returns Stokes enums)
virtual void sigma (Vector< Float > &sig) const
 Return sigma.
virtual void sigmaMat (Matrix< Float > &sigmat) const
 Return sigma matrix (pol-dep)
virtual Int spectralWindow () const
 Return current SpectralWindow.
virtual Int polarizationId () const
 Return current Polarization Id.
virtual Int dataDescriptionId () const
 Return current DataDescription Id.
virtual void time (Vector< Double > &t) const
 Return MJD midpoint of interval.
virtual void timeCentroid (Vector< Double > &t) const
 Return MJD centroid of interval.
virtual void timeInterval (Vector< Double > &ti) const
 Return nominal time interval.
virtual void exposure (Vector< Double > &expo) const
 Return actual time interval.
virtual void visibilityCorrected (Cube< Complex > &vis) const
 Return the visibilities as found in the MS, Cube (npol,nchan,nrow).
virtual void visibilityModel (Cube< Complex > &vis) const
virtual void visibilityObserved (Cube< Complex > &vis) const
virtual void floatData (Cube< Float > &fcube) const
 Return FLOAT_DATA as a Cube (npol, nchan, nrow) if found in the MS.
virtual void visibilityCorrected (Matrix< CStokesVector > &vis) const
 Return the visibility 4-vector of polarizations for each channel.
virtual void visibilityModel (Matrix< CStokesVector > &vis) const
virtual void visibilityObserved (Matrix< CStokesVector > &vis) const
virtual IPosition visibilityShape () const
 Return the shape of the visibility Cube.
virtual void uvw (Matrix< Double > &uvwmat) const
 Return u,v and w (in meters)
virtual void weight (Vector< Float > &wt) const
 Return weight.
virtual void weightMat (Matrix< Float > &wtmat) const
 Returns the nPol_p x curNumRow_p weight matrix.
Bool existsWeightSpectrum () const
 Determine whether WEIGHT_SPECTRUM exists.
virtual void weightSpectrum (Cube< Float > &wtsp) const
 Return weightspectrum (a weight for each channel)
const VisImagingWeightgetImagingWeightGenerator () const
 Return imaging weight (a weight for each channel) virtual Matrix<Float> & imagingWeight (Matrix<Float> & wt) const;.
virtual Bool newFieldId () const
 Return True if FieldId/Source has changed since last iteration.
virtual Bool newArrayId () const
 Return True if arrayID has changed since last iteration.
virtual Bool newSpectralWindow () const
 Return True if SpectralWindow has changed since last iteration.
virtual Int nPolarizations () const
 Return the number of correlations in the current iteration.
virtual Int nRows () const
 Return the number of rows in the current iteration.
virtual void getRowIds (Vector< uInt > &rowids) const
 Return the row ids as from the original root table.
virtual Int nRowsInChunk () const
 Return the numbers of rows in the current chunk.
virtual void slurp () const
 Return the number of sub-intervals in the current chunk.
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.
virtual const
SpectralWindowChannels & 
getSpectralWindowChannels (Int msId, Int spectralWindowId) const
 get back the selected spectral windows and spectral channels for current ms
virtual void useImagingWeight (const VisImagingWeight &imWgt)
 assign a VisImagingWeight object to this iterator
virtual Int numberAnt ()
 return number of Ant
virtual Int numberCoh ()
 Return number of rows in all selected ms's.
virtual Int numberSpw ()
 Return number of spws, polids, ddids.
virtual Int numberPol ()
virtual Int numberDDId ()
Int getDataDescriptionId () const
const MeasurementSetgetMeasurementSet () const
Int getMeasurementSetId () const
Int getNAntennas () const
virtual MEpoch getEpoch () const
MFrequency::Types getObservatoryFrequencyType () const
MPosition getObservatoryPosition () const
Vector< FloatgetReceptor0Angle ()
virtual void writeFlag (const Matrix< Bool > &flag)
 Write/modify the flags in the data.
virtual void writeFlag (const Cube< Bool > &flag)
 Write/modify the flags in the data.
virtual void writeFlagRow (const Vector< Bool > &rowflags)
 Write/modify the flag row column; dimension Vector (nrow)
void writeFlagCategory (const Array< Bool > &fc)
void writeVisCorrected (const Matrix< CStokesVector > &visibilityStokes)
 Write/modify the visibilities.
void writeVisModel (const Matrix< CStokesVector > &visibilityStokes)
void writeVisObserved (const Matrix< CStokesVector > &visibilityStokes)
virtual void writeVisCorrected (const Cube< Complex > &vis)
 Write/modify the visibilities This writes the data as found in the MS, Cube (npol,nchan,nrow).
virtual void writeVisModel (const Cube< Complex > &vis)
virtual void writeVisObserved (const Cube< Complex > &vis)
virtual void writeWeight (const Vector< Float > &wt)
 Write/modify the weights.
virtual void writeWeightMat (const Matrix< Float > &wtmat)
 Write/modify the weightMat.
virtual void writeWeightSpectrum (const Cube< Float > &wtsp)
 Write/modify the weightSpectrum.
virtual void writeSigma (const Vector< Float > &sig)
 Write/modify the Sigma.
virtual void writeSigmaMat (const Matrix< Float > &sigmat)
 Write/modify the ncorr x nrow SigmaMat.
virtual void writeBackChanges (VisBuffer2 *)
 +-------------------+ | | | Writeback Methods | | | +-------------------+

Protected Member Functions

void attachColumnsSafe (const Table &t)
virtual void attachColumns (const Table &t)
 attach the column objects to the currently selected table
virtual const Table attachTable () const
 returns the table, to which columns are attached, can be overridden in derived classes
virtual void advance ()
 advance the iteration
virtual void applyPendingChanges ()
virtual void configureNewChunk ()
 set the iteration state
virtual void configureNewSubchunk ()
 set the currently selected table
const ChannelSelector * createDefaultChannelSelector (Double time, Int msId, Int spectralWindowId)
virtual const ChannelSelector * determineChannelSelection (Double time)
Slice findChannelsInRange (Double lowerFrequency, Double upperFrequency, const SpectralWindowChannels &spectralWindowChannels)
void fillVisBuffer ()
template<typename T >
void getColumnRows (const ROArrayColumn< T > &column, 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.
template<typename T >
void getColumnRowsMatrix (const ROArrayColumn< T > &column, Matrix< T > &array) const
template<typename T >
void getColumnRows (const ROScalarColumn< T > &column, Vector< T > &array) const
Vector< DoublegetFrequencies (Double time, Int frameOfReference) const
Vector< IntgetChannels (Double time, Int frameOfReference) const
Int getReportingFrameOfReference () const
std::vector< MeasurementSetgetMeasurementSets () const
 Returns the MS objects that this VI is iterating over.
const MSDerivedValuesgetMsd () const
 Provides access to the MS-derived values object.
const MsIterInfogetMsIterInfo () const
VisBufferImplAsync2getVisBufferAsync () const
 Get privileged (non-const) access to the containing ROVI.
VisBufferAsyncWrapper2 * getVisBufferWrapper () const
VisibilityIterator2getViP () const
 Get privileged (non-const) access to the containing ROVI.
void getVisibilityAsStokes (Matrix< CStokesVector > &visibilityStokes, const ROArrayColumn< Complex > &column) const
virtual void initialize (const Block< MeasurementSet > &mss)
 Ctor auxiliary method.
Bool isInASelectedSpectralWindow () const
 Returns true if MS Iterator is currently pointing to a selected spectral window.
ChannelSelector * makeChannelSelectorC (const FrequencySelection &selection, Double time, Int msId, Int spectralWindowId)
 Creates a channel selection for the current subchunk based on the channel or frequency selection made by the user.
ChannelSelector * makeChannelSelectorF (const FrequencySelection &selection, Double time, Int msId, Int spectralWindowId)
MFrequency::Convert makeFrequencyConverter (Double time, Int otherFrameOfReference, Bool toObservedFrame) const
virtual void originChunks (Bool forceRewind)
 Method to reset the VI back to the start.
void positionMsIterToASelectedSpectralWindow ()
 Advances the MS Iterator until it points at a spectral window that is part of the frequency selection.
void readComplete ()
void setReportingFrameOfReference (Int)
 Sets the default frequency reporting frame of reference.
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).
virtual void throwIfPendingChanges ()
 Throws exception if there is a pending (i.e., unapplied) change to the VI's properties.
Bool usesTiledDataManager (const String &columnName, const MeasurementSet &ms) const
 Returns true if the named column uses a tiled data manager in the specified MS.

Private Attributes

AsynchronousInterfaceinterface_p
VlaDatavlaData_p

Friends

class AsyncEnabler
class ViImplAsync2
class VisibilityIterator2
class VLAT

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 MS in some consistent order (by field, spectralwindow, time interval etc.). This class provides that access.

Thrown Exceptions

To Do

Definition at line 121 of file VisibilityIteratorImplAsync2.h.


Constructor & Destructor Documentation

casa::vi::VisibilityIteratorImplAsync2::VisibilityIteratorImplAsync2 ( VisibilityIterator2 rovi,
const Block< MeasurementSet > &  mss,
const Block< Int > &  sortColumns,
Bool  addDefaultSortCols,
Double  timeInterval,
Bool  createVb,
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:

Bool oldEnabledState_p;
VisibilityIterator2 * roVisibilityIterator2_p;

};

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

    Construct from an MS and a Block of 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 MeasurementSet & ms,
                               const Block<Int> & sortColumns,
                               Double timeInterval = 0);

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

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

Copy construct.

This calls the assigment operator.

Destructor.


Member Function Documentation

virtual void casa::vi::VisibilityIteratorImplAsync2::advance ( ) [protected, virtual]

advance the iteration

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

Return antenna1.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Return antenna2.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

return a string mount identifier for each antenna

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::applyPendingChanges ( ) [protected, virtual]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Return the current ArrayId.

virtual void casa::vi::VisibilityIteratorImplAsync2::attachColumns ( const Table t) [protected, virtual]

attach the column objects to the currently selected table

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual const Table casa::vi::VisibilityIteratorImplAsync2::attachTable ( ) const [protected, virtual]

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 ( ) [protected, virtual]

set the iteration state

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::configureNewSubchunk ( ) [protected, virtual]

set the currently selected table

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Return the correlation type (returns Stokes enums)

Reimplemented from casa::vi::VisibilityIteratorImpl2.

const ChannelSelector* casa::vi::VisibilityIteratorImplAsync2::createDefaultChannelSelector ( Double  time,
Int  msId,
Int  spectralWindowId 
) [protected]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Return current DataDescription Id.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual const ChannelSelector* casa::vi::VisibilityIteratorImplAsync2::determineChannelSelection ( Double  time) [protected, virtual]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Determine whether FLAG_CATEGORY is valid.

Determine whether WEIGHT_SPECTRUM exists.

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

Return actual time interval.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Return feed1.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Return feed2.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Return the current FieldId.

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

Return flag for each polarization, channel and row.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Return flag for each channel & row.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

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

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Return row flag.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

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

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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.

Vector<Int> casa::vi::VisibilityIteratorImplAsync2::getChannels ( Double  time,
Int  frameOfReference 
) const [protected, virtual]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

template<typename T >
void casa::vi::VisibilityIteratorImplAsync2::getColumnRows ( const ROArrayColumn< T > &  column,
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.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

template<typename T >
void casa::vi::VisibilityIteratorImplAsync2::getColumnRows ( const ROScalarColumn< T > &  column,
Vector< T > &  array 
) const [protected]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

template<typename T >
void casa::vi::VisibilityIteratorImplAsync2::getColumnRowsMatrix ( const ROArrayColumn< T > &  column,
Matrix< T > &  array 
) const [protected]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Vector<Double> casa::vi::VisibilityIteratorImplAsync2::getFrequencies ( Double  time,
Int  frameOfReference 
) const [protected, virtual]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Return imaging weight (a weight for each channel) virtual Matrix<Float> & imagingWeight (Matrix<Float> & wt) const;.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Returns the MS objects that this VI is iterating over.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Provides access to the MS-derived values object.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::getRowIds ( Vector< 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 ( Int  msId,
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.

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

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

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

Ctor auxiliary method.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Check if ms has change since last iteration.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Return feed configuration matrix for specified antenna.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

ChannelSelector* casa::vi::VisibilityIteratorImplAsync2::makeChannelSelectorC ( const FrequencySelection selection,
Double  time,
Int  msId,
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,
Double  time,
Int  msId,
Int  spectralWindowId 
) [protected]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

MFrequency::Convert casa::vi::VisibilityIteratorImplAsync2::makeFrequencyConverter ( Double  time,
Int  otherFrameOfReference,
Bool  toObservedFrame 
) const [protected]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Return False if no more data (in current chunk)

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual const MeasurementSet& casa::vi::VisibilityIteratorImplAsync2::ms ( ) const [virtual]

reference to actual ms in interator

Reimplemented from casa::vi::VisibilityIteratorImpl2.

reference to actual ms in interator

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Return True if arrayID has changed since last iteration.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Return True if SpectralWindow has changed since last iteration.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Advance to the next Chunk of data.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Return the number of correlations in the current iteration.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Return the number of rows in the current iteration.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Return the numbers of rows in the current chunk.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

return number of Ant

Return number of rows in all selected ms's.

Return number of spws, polids, ddids.

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

Return the OBSERVATION_IDs.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Members.

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

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Reset iterator to true start of data (first chunk)

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::originChunks ( Bool  forceRewind) [protected, virtual]

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 MS Iter is already at the origin.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Return the current phase center as an MDirection.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Return current Polarization Id.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Return frame for polarization (returns PolFrame enum)

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Return the PROCESSOR_IDs.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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 ( Vector< Int > &  scans) const [virtual]

Return scan number.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Select the channels to be returned.

Requires calling originChunks before performing additional iteration.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::setInterval ( 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.

Sets the default frequency reporting frame of reference.

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

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::setRowBlocking ( 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 ( ) [protected, virtual]

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 ( Vector< Float > &  sig) const [virtual]

Return sigma.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Return sigma matrix (pol-dep)

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

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

virtual Int nSubInterval () const;

Call to use the slurp i/o method for all scalar columns. This will set the 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 Table i/o code, which uses BucketCache and performs extremely bad for random access. Slurping is useful when iterating non-sequentially an MS or parts of an MS, it is not tested with multiple MSs.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Return current SpectralWindow.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Return the STATE_IDs.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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 (Block<Vector<Int> > & spw, Block<Vector<Int> > & start, Block<Vector<Int> > & nchan, Double freqStart, Double freqEnd, Double freqStep, MFrequency::Types freqFrame = MFrequency::LSRK) const;

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

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

Access the current ROMSColumns object in MSIter

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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 ( Vector< Double > &  t) const [virtual]

Return MJD midpoint of interval.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Return MJD centroid of interval.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Return nominal time interval.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

assign a VisImagingWeight object to this iterator

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

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

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Return u,v and w (in meters)

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

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

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

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

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

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::visibilityObserved ( Cube< Complex > &  vis) const [virtual]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Return the shape of the visibility Cube.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Return weight.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Returns the nPol_p x curNumRow_p weight matrix.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Return weightspectrum (a weight for each channel)

Reimplemented from casa::vi::VisibilityIteratorImpl2.

+-------------------+ | | | 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 Matrix< 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.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Write/modify the flags in the data.

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

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::writeFlagRow ( const Vector< Bool > &  rowflags) [virtual]

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

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Write/modify the Sigma.

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

Write/modify the ncorr x nrow SigmaMat.

Write/modify the visibilities.

This is possibly only for a 'reference' 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 MS does not contain all polarizations, only the parallel hand polarizations are used.

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

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

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::writeVisModel ( const Cube< Complex > &  vis) [virtual]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

virtual void casa::vi::VisibilityIteratorImplAsync2::writeVisObserved ( const Cube< Complex > &  vis) [virtual]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

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

Write/modify the weights.

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

Write/modify the weightMat.

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

Write/modify the weightSpectrum.

Reimplemented from casa::vi::VisibilityIteratorImpl2.


Friends And Related Function Documentation

friend class AsyncEnabler [friend]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Definition at line 123 of file VisibilityIteratorImplAsync2.h.

friend class ViImplAsync2 [friend]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Definition at line 124 of file VisibilityIteratorImplAsync2.h.

friend class VisibilityIterator2 [friend]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Definition at line 125 of file VisibilityIteratorImplAsync2.h.

friend class VLAT [friend]

Reimplemented from casa::vi::VisibilityIteratorImpl2.

Definition at line 126 of file VisibilityIteratorImplAsync2.h.


Member Data Documentation

Definition at line 675 of file VisibilityIteratorImplAsync2.h.

Definition at line 676 of file VisibilityIteratorImplAsync2.h.


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