casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends
casa::VisibilityIteratorReadImpl Class Reference

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

#include <VisibilityIteratorImpl.h>

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

List of all members.

Classes

class  Cache
class  Channels
class  Columns
class  MeasurementSetChannels
class  Velocity

Public Types

typedef
ROVisibilityIterator::DataColumn 
DataColumn
 VLAT should not access private parts, especially variables.

Public Member Functions

 VisibilityIteratorReadImpl ()
 class AsyncEnabler { public: AsyncEnabler (ROVisibilityIterator &); AsyncEnabler (ROVisibilityIterator *); ~AsyncEnabler ();
 VisibilityIteratorReadImpl (ROVisibilityIterator *rovi, const Block< MeasurementSet > &mss, const Block< Int > &sortColumns, const Bool addDefaultSortCols, Double timeInterval)
 Construct from an MS and a Block of MS column enums specifying the iteration order.
 VisibilityIteratorReadImpl (const VisibilityIteratorReadImpl &other, ROVisibilityIterator *rovi)
 Copy construct.
VisibilityIteratorReadImploperator= (const VisibilityIteratorReadImpl &other)
 Assigment.
virtual ~VisibilityIteratorReadImpl ()
 Destructor.
virtual
VisibilityIteratorReadImpl
clone (ROVisibilityIterator *rovi) const
Bool isAsyncEnabled () const
 Members.
virtual Bool isWritable () const
virtual void origin ()
 Reset iterator to origin/start of data (of current chunk)
virtual void originChunks ()
 Reset iterator to true start of data (first chunk)
virtual Double getInterval () const
 Return the time interval (in seconds) used for iteration.
virtual void setInterval (Double timeInterval)
 Set or reset the time interval (in seconds) to use for iteration.
virtual void setRowBlocking (Int nRows=0)
 Set the 'blocking' size for returning data.
virtual Bool existsColumn (VisBufferComponents::EnumType id) const
virtual Bool more () const
 Return False if no more data (in current chunk)
virtual SubChunkPair getSubchunkId () const
virtual const Block< Int > & getSortColumns () const
virtual Bool moreChunks () const
 Return False if no more 'Chunks' of data left.
virtual Bool newMS () const
 Check if ms has change since last iteration.
virtual Int msId () const
virtual VisBuffergetVisBuffer ()
virtual const MeasurementSetms () const
 reference to actual ms in interator
virtual
VisibilityIteratorReadImpl
nextChunk ()
 Advance to the next Chunk of data.
virtual Vector< Int > & antenna1 (Vector< Int > &ant1) const
 Return antenna1.
virtual Vector< Int > & antenna2 (Vector< Int > &ant2) const
 Return antenna2.
virtual Vector< Int > & feed1 (Vector< Int > &fd1) const
 Return feed1.
virtual Vector< Int > & feed2 (Vector< Int > &fd2) const
 Return feed2.
virtual Vector< Int > & channel (Vector< Int > &chan) const
 Return channel numbers in selected VisSet spectrum (i.e.
virtual Vector< SquareMatrix
< Complex, 2 > > & 
CJones (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 Bool allBeamOffsetsZero () const
 True if all elements of the cube returned by getBeamOffsets are zero.
virtual Vector< Floatfeed_pa (Double time) const
 Return feed parallactic angles Vector (nant) (1 feed/ant)
virtual const Floatparang0 (Double time) 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)
virtual Vector< Floatparang (Double time) const
 Per antenna:
virtual MDirection azel0 (Double time) const
 Return the antenna AZ/EL Vector (nant)
virtual Vector< MDirectionazel (Double time) const
virtual Double hourang (Double time) const
 Return the hour angle for the specified time.
virtual Int fieldId () const
 Return the current FieldId.
virtual Int arrayId () const
 Return the current ArrayId.
virtual String fieldName () const
 Return the current Field Name.
virtual String sourceName () const
 Return the current Source Name.
virtual Cube< Bool > & flag (Cube< Bool > &flags) const
 Return flag for each polarization, channel and row.
virtual Matrix< Bool > & flag (Matrix< Bool > &flags) const
 Return flag for each channel & row.
Bool existsFlagCategory () const
 Determine whether FLAG_CATEGORY is valid.
virtual Array< Bool > & flagCategory (Array< Bool > &flagCategories) const
 Return flags for each polarization, channel, category, and row.
virtual Vector< Bool > & flagRow (Vector< Bool > &rowflags) const
 Return row flag.
virtual Vector< Int > & scan (Vector< Int > &scans) const
 Return scan number.
virtual Vector< Int > & observationId (Vector< Int > &obsids) const
 Return the OBSERVATION_IDs.
virtual Vector< Int > & processorId (Vector< Int > &procids) const
 Return the PROCESSOR_IDs.
virtual Vector< Int > & stateId (Vector< Int > &stateids) const
 Return the STATE_IDs.
virtual Vector< Double > & frequency (Vector< Double > &freq) const
 Return current frequencies (in Hz, acc.
virtual Vector< Double > & lsrFrequency (Vector< Double > &freq) const
 Return frequencies (in Hz, acc.
virtual const MDirectionphaseCenter () const
 Return the current phase center as an MDirection.
virtual Int polFrame () const
 Return frame for polarization (returns PolFrame enum)
virtual Vector< Int > & corrType (Vector< Int > &corrTypes) const
 Return the correlation type (returns Stokes enums)
virtual Vector< Float > & sigma (Vector< Float > &sig) const
 Return sigma.
virtual Matrix< Float > & 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 Vector< Double > & time (Vector< Double > &t) const
 Return MJD midpoint of interval.
virtual Vector< Double > & timeCentroid (Vector< Double > &t) const
 Return MJD centroid of interval.
virtual Vector< Double > & timeInterval (Vector< Double > &ti) const
 Return nominal time interval.
virtual Vector< Double > & exposure (Vector< Double > &expo) const
 Return actual time interval.
virtual Cube< Complex > & visibility (Cube< Complex > &vis, DataColumn whichOne) const
 Return the visibilities as found in the MS, Cube (npol,nchan,nrow).
virtual Cube< Float > & floatData (Cube< Float > &fcube) const
 Return FLOAT_DATA as a Cube (npol, nchan, nrow) if found in the MS.
virtual Matrix< CStokesVector > & visibility (Matrix< CStokesVector > &vis, DataColumn whichOne) const
 Return the visibility 4-vector of polarizations for each channel.
virtual IPosition visibilityShape () const
 Return the shape of the visibility Cube.
virtual Vector< RigidVector
< Double, 3 > > & 
uvw (Vector< RigidVector< Double, 3 > > &uvwvec) const
 Return u,v and w (in meters)
virtual Matrix< Double > & uvwMat (Matrix< Double > &uvwmat) const
virtual Vector< Float > & weight (Vector< Float > &wt) const
 Return weight.
virtual Matrix< Float > & weightMat (Matrix< Float > &wtmat) const
 Returns the nPol_p x curNumRow_p weight matrix.
Bool existsWeightSpectrum () const
 Determine whether WEIGHT_SPECTRUM exists.
virtual Cube< Float > & 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 channelIndex () const
 Return the index of the first channel of the current channel group in the total (selected) spectrum.
virtual Int channelGroupSize () const
 Return the width of the current group of channels, i.e., the number of channels returned by visibility () and frequency ().
virtual Int nCorr () const
 Return the number of correlations in the current iteration.
virtual Int nRow () const
 Return the number of rows in the current iteration.
virtual Vector< uInt > & rowIds (Vector< uInt > &rowids) const
 Return the row ids as from the original root table.
virtual Int nRowChunk () const
 Return the numbers of rows in the current chunk.
virtual Int nSubInterval () const
 Return the number of sub-intervals in the current chunk.
virtual void slurp () const
 Call to use the slurp i/o method for all scalar columns.
virtual
VisibilityIteratorReadImpl
selectVelocity (Int nChan, const MVRadialVelocity &vStart, const MVRadialVelocity &vInc, MRadialVelocity::Types rvType=MRadialVelocity::LSR, MDoppler::Types dType=MDoppler::RADIO, Bool precise=False)
 Velocity selection - specify the output channels in velocity: nChan - number of output channels, vStart - start velocity, vInc - velocity increment.
virtual
VisibilityIteratorReadImpl
velInterpolation (const String &)
 Select the velocity interpolation scheme.
virtual
VisibilityIteratorReadImpl
selectChannel (Int nGroup=1, Int start=0, Int width=0, Int increment=1, Int spectralWindow=-1)
 Channel selection - only the selected channels will be returned by the access functions.
virtual
VisibilityIteratorReadImpl
selectChannel (const Block< Vector< Int > > &blockNGroup, const Block< Vector< Int > > &blockStart, const Block< Vector< Int > > &blockWidth, const Block< Vector< Int > > &blockIncr, const Block< Vector< Int > > &blockSpw)
 Same as above except when multiple ms's are to be accessed.
virtual void getChannelSelection (Block< Vector< Int > > &blockNGroup, Block< Vector< Int > > &blockStart, Block< Vector< Int > > &blockWidth, Block< Vector< Int > > &blockIncr, Block< Vector< Int > > &blockSpw)
 get the channel selection ...the block over the number of ms's associated with this iterator
void slicesToMatrices (Vector< Matrix< Int > > &matv, const Vector< Vector< Slice > > &slicesv, const Vector< Int > &widthsv) const
 Translate slicesv from the form returned by MSSelection::getChanSlices () to matv as used by setChanAveBounds ().
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 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 void getFreqInSpwRange (Double &freqStart, Double &freqEnd, MFrequency::Types freqframe=MFrequency::LSRK) const
 Get the range of frequency convered by the selected data in the frame requested.
virtual void attachVisBuffer (VisBuffer &vb)
 Attach a VisBuffer object.
virtual void detachVisBuffer (VisBuffer &vb)
 Detach a VisBuffer object.
virtual const ROMSColumnsmsColumns () const
 Access the current ROMSColumns object in MSIter.
virtual void allSelectedSpectralWindows (Vector< Int > &spws, Vector< Int > &nvischan)
 get back the selected spectral windows and spectral channels for current ms
virtual void lsrFrequency (const Int &spw, Vector< Double > &freq, Bool &convert, const Bool ignoreconv=False)
 Convert the frequency from the observe frame to lsr frame.
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 ()
ROArrayColumn< Double > & getChannelFrequency () const
Block< IntgetChannelGroupNumber () const
Block< IntgetChannelIncrement () const
Block< IntgetChannelStart () const
Block< IntgetChannelWidth () const
Int getDataDescriptionId () const
const MeasurementSetgetMeasurementSet () const
Int getMeasurementSetId () const
Int getNAntennas () const
virtual MEpoch getEpoch () const
MFrequency::Types getObservatoryFrequencyType () const
MPosition getObservatoryPosition () const
MDirection getPhaseCenter () const
Vector< FloatgetReceptor0Angle ()
Vector< uIntgetRowIds () const

Static Public Member Functions

static Vector< Floatfeed_paCalculate (Double time, MSDerivedValues &msd, Int nAntennas, const MEpoch &mEpoch0, const Vector< Float > &receptor0Angle)
static Float parang0Calculate (Double time, MSDerivedValues &msd, const MEpoch &epoch0)
static Vector< FloatparangCalculate (Double time, MSDerivedValues &msd, int nAntennas, const MEpoch mEpoch0)
static void azel0Calculate (Double time, MSDerivedValues &msd, MDirection &azel0, const MEpoch &mEpoch0)
static void azelCalculate (Double time, MSDerivedValues &msd, Vector< MDirection > &azel, Int nAnt, const MEpoch &mEpoch0)
static Double hourangCalculate (Double time, MSDerivedValues &msd, const MEpoch &mEpoch0)
static void lsrFrequency (const Int &spw, Vector< Double > &freq, Bool &convert, const Block< Int > &chanStart, const Block< Int > &chanWidth, const Block< Int > &chanInc, const Block< Int > &numChanGroup, const ROArrayColumn< Double > &chanFreqs, const ROScalarColumn< Int > &obsMFreqTypes, const MEpoch &ep, const MPosition &obsPos, const MDirection &dir, const Bool ignoreconv=False)

Protected Types

typedef std::vector
< MeasurementSet
MeasurementSets

Protected Member Functions

void attachColumnsSafe (const Table &t)
virtual void advance ()
 advance the iteration
virtual void setSelTable ()
 set the currently selected table
virtual void setState ()
 set the iteration state
virtual void getTopoFreqs ()
 get the TOPO frequencies from the selected velocities and the obs.
virtual void getTopoFreqs (Vector< Double > &lsrFreq, Vector< Double > &selFreq)
virtual void getLsrInfo (Block< Int > &channelGroupNumber, Block< Int > &channelIncrement, Block< Int > &channelStart, Block< Int > &channelWidth, MPosition &observatoryPositon, MDirection &phaseCenter, Bool &velocitySelection) const
vector< MeasurementSetgetMeasurementSets () const
const MSDerivedValuesgetMSD () const
virtual void updateSlicer ()
 update the DATA slicer
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
Bool usesTiledDataManager (const String &columnName, const MeasurementSet &ms) const
 get the (velocity selected) interpolated visibilities, flags and weights.
virtual void getDataColumn (ROVisibilityIterator::DataColumn whichOne, const Slicer &slicer, Cube< Complex > &data) const
 get the visibility data (observed, corrected or model); deals with Float and Complex observed data (DATA or FLOAT_DATA)
virtual void getDataColumn (DataColumn whichOne, Cube< Complex > &data) const
virtual void getFloatDataColumn (const Slicer &slicer, Cube< Float > &data) const
 get FLOAT_DATA as real Floats.
virtual void getFloatDataColumn (Cube< Float > &data) const
virtual void initialize (const Block< MeasurementSet > &mss)
 constructor helpers
virtual void originChunks (Bool forceRewind)
virtual void doChannelSelection ()
 Re-Do the channel selection in multi ms case.
virtual void setTileCache ()
 Set the tile cache size....when using slice access if tile cache size is not set memory usage can go wild.
virtual Bool isInSelectedSPW (const Int &spw)
 Check if spw is in selected SPW for actual ms.
virtual void update_rowIds () const
 Updates, if necessary, rowIds_p member for the current chunk.
void setAsyncEnabled (Bool enable)
template<class T >
void getColScalar (const ROScalarColumn< T > &column, Vector< T > &array, Bool resize) const
template<class T >
void getColArray (const ROArrayColumn< T > &column, Array< T > &array, Bool resize) const
virtual void getCol (const ROScalarColumn< Bool > &column, Vector< Bool > &array, Bool resize=False) const
 column access functions, can be overridden in derived classes
virtual void getCol (const ROScalarColumn< Int > &column, Vector< Int > &array, Bool resize=False) const
virtual void getCol (const ROScalarColumn< Double > &column, Vector< Double > &array, Bool resize=False) const
virtual void getCol (const ROArrayColumn< Bool > &column, Array< Bool > &array, Bool resize=False) const
virtual void getCol (const ROArrayColumn< Float > &column, Array< Float > &array, Bool resize=False) const
virtual void getCol (const ROArrayColumn< Double > &column, Array< Double > &array, Bool resize=False) const
virtual void getCol (const ROArrayColumn< Complex > &column, Array< Complex > &array, Bool resize=False) const
virtual void getCol (const ROArrayColumn< Bool > &column, const Slicer &slicer, Array< Bool > &array, Bool resize=False) const
virtual void getCol (const ROArrayColumn< Float > &column, const Slicer &slicer, Array< Float > &array, Bool resize=False) const
virtual void getCol (const ROArrayColumn< Complex > &column, const Slicer &slicer, Array< Complex > &array, Bool resize=False) const
template<class T >
void swapyz (Cube< T > &out, const Cube< T > &in) const
 virtual void getCol (const String & colName, Array<Double> & array, Array<Double> & all, Bool resize = False) const; virtual void getCol (const String & colName, Vector<Bool> & array, Vector<Bool> & all, Bool resize = False) const; virtual void getCol (const String & colName, Vector<Int> & array, Vector<Int> & all, Bool resize = False) const; virtual void getCol (const String & colName, Vector<Double> & array, Vector<Double> & all, Bool resize = False) const;

Protected Attributes

Bool addDefaultSort_p
Bool asyncEnabled_p
Cache cache_p
Int channelGroupSize_p
Channels channels_p
Int chunkNumber_p
Columns columns_p
Int curChanGroup_p
Int curEndRow_p
Int curNGroups_p
uInt curNumRow_p
Int curStartRow_p
Int curTableNumRow_p
Bool floatDataFound_p
VisImagingWeight imwgt_p
Bool initialized_p
Bool isMultiMS_p
MeasurementSets measurementSets_p
Bool more_p
MeasurementSetChannels msChannels_p
Int msCounter_p
Bool msIterAtOrigin_p
MSIter msIter_p
MSDerivedValues msd_p
Int nAnt_p
Int nChan_p
Int nPol_p
Int nRowBlocking_p
Bool newChanGroup_p
ROVisibilityIteratorrovi_p
RefRows selRows_p
Slicer slicer_p
Block< IntsortColumns_p
Bool stateOk_p
SubChunkPair subchunk_p
Vector< BooltileCacheIsSet_p
Double timeInterval_p
Vector< Doubletime_p
Bool useSlicer_p
Stack< VisBuffer * > vbStack_p
Velocity velocity_p
Slicer weightSlicer_p

Friends

class AsyncEnabler
class ViReadImplAsync
class VisibilityIteratorWriteImpl
class ROVisibilityIterator
class ROVisIterator
class VisIterator
class VLAT

Detailed Description

ROVisibilityIterator iterates through one or more readonly MeasurementSets.

Intended use:

Public interface

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

The ROVisibilityIterator is a readonly iterator returning visibilities

Synopsis

ROVisibilityIterator 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 115 of file VisibilityIteratorImpl.h.


Member Typedef Documentation

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 };

Definition at line 146 of file VisibilityIteratorImpl.h.

Definition at line 908 of file VisibilityIteratorImpl.h.


Constructor & Destructor Documentation

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

   void release ();

private:

Bool oldEnabledState_p;
ROVisibilityIterator * roVisibilityIterator_p;

};

Default constructor - useful only to assign another iterator later

casa::VisibilityIteratorReadImpl::VisibilityIteratorReadImpl ( ROVisibilityIterator rovi,
const Block< MeasurementSet > &  mss,
const Block< Int > &  sortColumns,
const Bool  addDefaultSortCols,
Double  timeInterval 
)

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. VisibilityIteratorReadImpl (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). VisibilityIteratorReadImpl (const MeasurementSet & ms, const Block<Int> & sortColumns, const Bool addDefaultSortCols, Double timeInterval = 0);

Same as previous constructors, but with multiple MSs to iterate over. VisibilityIteratorReadImpl (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::VisibilityIteratorReadImpl::advance ( ) [protected, virtual]

advance the iteration

Reimplemented in casa::ViReadImplAsync.

True if all elements of the cube returned by getBeamOffsets are zero.

Reimplemented in casa::ViReadImplAsync.

Definition at line 984 of file VisibilityIteratorImpl.h.

References casa::MSIter::allBeamOffsetsZero(), and msIter_p.

virtual void casa::VisibilityIteratorReadImpl::allSelectedSpectralWindows ( Vector< Int > &  spws,
Vector< Int > &  nvischan 
) [virtual]

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

Reimplemented in casa::ViReadImplAsync.

virtual Vector<Int>& casa::VisibilityIteratorReadImpl::antenna1 ( Vector< Int > &  ant1) const [virtual]

Return antenna1.

Reimplemented in casa::ViReadImplAsync.

virtual Vector<Int>& casa::VisibilityIteratorReadImpl::antenna2 ( Vector< Int > &  ant2) const [virtual]

Return antenna2.

Reimplemented in casa::ViReadImplAsync.

const Vector< String > & casa::VisibilityIteratorReadImpl::antennaMounts ( ) const [inline, virtual]

return a string mount identifier for each antenna

Reimplemented in casa::ViReadImplAsync.

Definition at line 973 of file VisibilityIteratorImpl.h.

References casa::MSIter::antennaMounts(), and msIter_p.

virtual Int casa::VisibilityIteratorReadImpl::arrayId ( ) const [inline, virtual]

Return the current ArrayId.

Reimplemented in casa::ViReadImplAsync.

Definition at line 354 of file VisibilityIteratorImpl.h.

References casa::MSIter::arrayId(), and msIter_p.

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

attach the column objects to the currently selected table

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

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

Attach a VisBuffer object.

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

Reimplemented in casa::ViReadImplAsync.

virtual Vector<MDirection> casa::VisibilityIteratorReadImpl::azel ( Double  time) const [virtual]

Reimplemented in casa::ViReadImplAsync.

virtual MDirection casa::VisibilityIteratorReadImpl::azel0 ( Double  time) const [virtual]

Return the antenna AZ/EL Vector (nant)

Reimplemented in casa::ViReadImplAsync.

static void casa::VisibilityIteratorReadImpl::azel0Calculate ( Double  time,
MSDerivedValues msd,
MDirection azel0,
const MEpoch mEpoch0 
) [static]
static void casa::VisibilityIteratorReadImpl::azelCalculate ( Double  time,
MSDerivedValues msd,
Vector< MDirection > &  azel,
Int  nAnt,
const MEpoch mEpoch0 
) [static]
virtual Vector<Int>& casa::VisibilityIteratorReadImpl::channel ( Vector< Int > &  chan) const [virtual]

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 in casa::ViReadImplAsync.

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

Reimplemented in casa::ViReadImplAsync.

Definition at line 989 of file VisibilityIteratorImpl.h.

References channels_p, msIter_p, casa::MSIter::spectralWindowId(), and casa::VisibilityIteratorReadImpl::Channels::width_p.

Referenced by visibilityShape().

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

Reimplemented in casa::ViReadImplAsync.

Definition at line 993 of file VisibilityIteratorImpl.h.

References channels_p, curChanGroup_p, casa::VisibilityIteratorReadImpl::Channels::inc_p, msIter_p, and casa::MSIter::spectralWindowId().

Vector< SquareMatrix< Complex, 2 > > & casa::VisibilityIteratorReadImpl::CJones ( Vector< SquareMatrix< Complex, 2 > > &  cjones) const [inline, virtual]

Return feed configuration matrix for specified antenna.

Reimplemented in casa::ViReadImplAsync.

Definition at line 962 of file VisibilityIteratorImpl.h.

References casa::MSIter::CJones(), msIter_p, casa::ArrayBase::nelements(), and casa::Vector< T >::resize().

virtual Vector<Int>& casa::VisibilityIteratorReadImpl::corrType ( Vector< Int > &  corrTypes) const [virtual]

Return the correlation type (returns Stokes enums)

Reimplemented in casa::ViReadImplAsync.

virtual Int casa::VisibilityIteratorReadImpl::dataDescriptionId ( ) const [inline, virtual]

Return current DataDescription Id.

Reimplemented in casa::ViReadImplAsync.

Definition at line 432 of file VisibilityIteratorImpl.h.

References casa::MSIter::dataDescriptionId(), and msIter_p.

Detach a VisBuffer object.

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

Reimplemented in casa::ViReadImplAsync.

virtual void casa::VisibilityIteratorReadImpl::doChannelSelection ( ) [protected, virtual]

Re-Do the channel selection in multi ms case.

Determine whether FLAG_CATEGORY is valid.

Determine whether WEIGHT_SPECTRUM exists.

Reimplemented in casa::ViReadImplAsync.

virtual Vector<Double>& casa::VisibilityIteratorReadImpl::exposure ( Vector< Double > &  expo) const [virtual]

Return actual time interval.

Reimplemented in casa::ViReadImplAsync.

virtual Vector<Int>& casa::VisibilityIteratorReadImpl::feed1 ( Vector< Int > &  fd1) const [virtual]

Return feed1.

Reimplemented in casa::ViReadImplAsync.

virtual Vector<Int>& casa::VisibilityIteratorReadImpl::feed2 ( Vector< Int > &  fd2) const [virtual]

Return feed2.

Reimplemented in casa::ViReadImplAsync.

virtual Vector<Float> casa::VisibilityIteratorReadImpl::feed_pa ( Double  time) const [virtual]

Return feed parallactic angles Vector (nant) (1 feed/ant)

static Vector<Float> casa::VisibilityIteratorReadImpl::feed_paCalculate ( Double  time,
MSDerivedValues msd,
Int  nAntennas,
const MEpoch mEpoch0,
const Vector< Float > &  receptor0Angle 
) [static]
virtual Int casa::VisibilityIteratorReadImpl::fieldId ( ) const [inline, virtual]

Return the current FieldId.

Reimplemented in casa::ViReadImplAsync.

Definition at line 349 of file VisibilityIteratorImpl.h.

References casa::MSIter::fieldId(), and msIter_p.

virtual String casa::VisibilityIteratorReadImpl::fieldName ( ) const [inline, virtual]

Return the current Field Name.

Reimplemented in casa::ViReadImplAsync.

Definition at line 359 of file VisibilityIteratorImpl.h.

References casa::MSIter::fieldName(), and msIter_p.

virtual Cube<Bool>& casa::VisibilityIteratorReadImpl::flag ( Cube< Bool > &  flags) const [virtual]

Return flag for each polarization, channel and row.

Reimplemented in casa::ViReadImplAsync.

virtual Matrix<Bool>& casa::VisibilityIteratorReadImpl::flag ( Matrix< Bool > &  flags) const [virtual]

Return flag for each channel & row.

Reimplemented in casa::ViReadImplAsync.

virtual Array<Bool>& casa::VisibilityIteratorReadImpl::flagCategory ( Array< Bool > &  flagCategories) const [virtual]

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

Reimplemented in casa::ViReadImplAsync.

virtual Vector<Bool>& casa::VisibilityIteratorReadImpl::flagRow ( Vector< Bool > &  rowflags) const [virtual]

Return row flag.

Reimplemented in casa::ViReadImplAsync.

virtual Cube<Float>& casa::VisibilityIteratorReadImpl::floatData ( Cube< Float > &  fcube) const [virtual]

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

Reimplemented in casa::ViReadImplAsync.

virtual Vector<Double>& casa::VisibilityIteratorReadImpl::frequency ( Vector< Double > &  freq) const [virtual]

Return current frequencies (in Hz, acc.

to the MS def'n v.2)

Reimplemented in casa::ViReadImplAsync.

const Cube< RigidVector< Double, 2 > > & casa::VisibilityIteratorReadImpl::getBeamOffsets ( ) const [inline, 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 in casa::ViReadImplAsync.

Definition at line 979 of file VisibilityIteratorImpl.h.

References casa::MSIter::getBeamOffsets(), and msIter_p.

virtual void casa::VisibilityIteratorReadImpl::getChannelSelection ( Block< Vector< Int > > &  blockNGroup,
Block< Vector< Int > > &  blockStart,
Block< Vector< Int > > &  blockWidth,
Block< Vector< Int > > &  blockIncr,
Block< Vector< Int > > &  blockSpw 
) [virtual]

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

Reimplemented in casa::ViReadImplAsync.

virtual void casa::VisibilityIteratorReadImpl::getCol ( const ROScalarColumn< Bool > &  column,
Vector< Bool > &  array,
Bool  resize = False 
) const [protected, virtual]

column access functions, can be overridden in derived classes

virtual void casa::VisibilityIteratorReadImpl::getCol ( const ROScalarColumn< Int > &  column,
Vector< Int > &  array,
Bool  resize = False 
) const [protected, virtual]
virtual void casa::VisibilityIteratorReadImpl::getCol ( const ROScalarColumn< Double > &  column,
Vector< Double > &  array,
Bool  resize = False 
) const [protected, virtual]
virtual void casa::VisibilityIteratorReadImpl::getCol ( const ROArrayColumn< Bool > &  column,
Array< Bool > &  array,
Bool  resize = False 
) const [protected, virtual]
virtual void casa::VisibilityIteratorReadImpl::getCol ( const ROArrayColumn< Float > &  column,
Array< Float > &  array,
Bool  resize = False 
) const [protected, virtual]
virtual void casa::VisibilityIteratorReadImpl::getCol ( const ROArrayColumn< Double > &  column,
Array< Double > &  array,
Bool  resize = False 
) const [protected, virtual]
virtual void casa::VisibilityIteratorReadImpl::getCol ( const ROArrayColumn< Complex > &  column,
Array< Complex > &  array,
Bool  resize = False 
) const [protected, virtual]
virtual void casa::VisibilityIteratorReadImpl::getCol ( const ROArrayColumn< Bool > &  column,
const Slicer slicer,
Array< Bool > &  array,
Bool  resize = False 
) const [protected, virtual]
virtual void casa::VisibilityIteratorReadImpl::getCol ( const ROArrayColumn< Float > &  column,
const Slicer slicer,
Array< Float > &  array,
Bool  resize = False 
) const [protected, virtual]
virtual void casa::VisibilityIteratorReadImpl::getCol ( const ROArrayColumn< Complex > &  column,
const Slicer slicer,
Array< Complex > &  array,
Bool  resize = False 
) const [protected, virtual]
template<class T >
void casa::VisibilityIteratorReadImpl::getColArray ( const ROArrayColumn< T > &  column,
Array< T > &  array,
Bool  resize 
) const [protected]
template<class T >
void casa::VisibilityIteratorReadImpl::getColScalar ( const ROScalarColumn< T > &  column,
Vector< T > &  array,
Bool  resize 
) const [protected]
virtual void casa::VisibilityIteratorReadImpl::getDataColumn ( ROVisibilityIterator::DataColumn  whichOne,
const Slicer slicer,
Cube< Complex > &  data 
) const [protected, virtual]

get the visibility data (observed, corrected or model); deals with Float and Complex observed data (DATA or FLOAT_DATA)

virtual void casa::VisibilityIteratorReadImpl::getDataColumn ( DataColumn  whichOne,
Cube< Complex > &  data 
) const [protected, virtual]

Reimplemented in casa::ViReadImplAsync.

Reimplemented in casa::ViReadImplAsync.

virtual void casa::VisibilityIteratorReadImpl::getFloatDataColumn ( const Slicer slicer,
Cube< Float > &  data 
) const [protected, virtual]

get FLOAT_DATA as real Floats.

Reimplemented in casa::ViReadImplAsync.

virtual void casa::VisibilityIteratorReadImpl::getFloatDataColumn ( Cube< Float > &  data) const [protected, virtual]

Reimplemented in casa::ViReadImplAsync.

virtual void casa::VisibilityIteratorReadImpl::getFreqInSpwRange ( Double freqStart,
Double freqEnd,
MFrequency::Types  freqframe = MFrequency::LSRK 
) const [virtual]

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

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

virtual Double casa::VisibilityIteratorReadImpl::getInterval ( ) const [inline, virtual]

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

This is not the same as the INTERVAL column.

Definition at line 227 of file VisibilityIteratorImpl.h.

References timeInterval_p.

virtual void casa::VisibilityIteratorReadImpl::getLsrInfo ( Block< Int > &  channelGroupNumber,
Block< Int > &  channelIncrement,
Block< Int > &  channelStart,
Block< Int > &  channelWidth,
MPosition observatoryPositon,
MDirection phaseCenter,
Bool velocitySelection 
) const [protected, virtual]

Reimplemented in casa::ViReadImplAsync.

Reimplemented in casa::ViReadImplAsync.

Reimplemented in casa::ViReadImplAsync.

Reimplemented in casa::ViReadImplAsync.

Reimplemented in casa::ViReadImplAsync.

virtual const Block<Int>& casa::VisibilityIteratorReadImpl::getSortColumns ( ) const [virtual]
virtual void casa::VisibilityIteratorReadImpl::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 [virtual]

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

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

virtual void casa::VisibilityIteratorReadImpl::getTopoFreqs ( ) [protected, virtual]

get the TOPO frequencies from the selected velocities and the obs.

vel.

virtual void casa::VisibilityIteratorReadImpl::getTopoFreqs ( Vector< Double > &  lsrFreq,
Vector< Double > &  selFreq 
) [protected, virtual]

Reimplemented in casa::ViReadImplAsync.

virtual Double casa::VisibilityIteratorReadImpl::hourang ( Double  time) const [virtual]

Return the hour angle for the specified time.

Reimplemented in casa::ViReadImplAsync.

static Double casa::VisibilityIteratorReadImpl::hourangCalculate ( Double  time,
MSDerivedValues msd,
const MEpoch mEpoch0 
) [static]
virtual void casa::VisibilityIteratorReadImpl::initialize ( const Block< MeasurementSet > &  mss) [protected, virtual]

constructor helpers

Members.

virtual Bool casa::VisibilityIteratorReadImpl::isInSelectedSPW ( const Int spw) [protected, virtual]

Check if spw is in selected SPW for actual ms.

virtual Bool casa::VisibilityIteratorReadImpl::isWritable ( ) const [inline, virtual]

Definition at line 216 of file VisibilityIteratorImpl.h.

References casa::False.

virtual Vector<Double>& casa::VisibilityIteratorReadImpl::lsrFrequency ( Vector< Double > &  freq) const [virtual]

Return frequencies (in Hz, acc.

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

Reimplemented in casa::ViReadImplAsync.

virtual void casa::VisibilityIteratorReadImpl::lsrFrequency ( const Int spw,
Vector< Double > &  freq,
Bool convert,
const Bool  ignoreconv = False 
) [virtual]

Convert the frequency from the observe frame to lsr frame.

Returns True in convert if given spw was not observed in the LSRK frame if ignoreconv=True then conversion from frame in data is ignored by request

static void casa::VisibilityIteratorReadImpl::lsrFrequency ( const Int spw,
Vector< Double > &  freq,
Bool convert,
const Block< Int > &  chanStart,
const Block< Int > &  chanWidth,
const Block< Int > &  chanInc,
const Block< Int > &  numChanGroup,
const ROArrayColumn< Double > &  chanFreqs,
const ROScalarColumn< Int > &  obsMFreqTypes,
const MEpoch ep,
const MPosition obsPos,
const MDirection dir,
const Bool  ignoreconv = False 
) [static]
Bool casa::VisibilityIteratorReadImpl::more ( ) const [inline, virtual]

Return False if no more data (in current chunk)

Reimplemented in casa::ViReadImplAsync.

Definition at line 956 of file VisibilityIteratorImpl.h.

References more_p.

virtual Bool casa::VisibilityIteratorReadImpl::moreChunks ( ) const [inline, virtual]

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

Reimplemented in casa::ViReadImplAsync.

Definition at line 254 of file VisibilityIteratorImpl.h.

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

virtual const MeasurementSet& casa::VisibilityIteratorReadImpl::ms ( ) const [inline, virtual]

reference to actual ms in interator

Reimplemented in casa::ViReadImplAsync.

Definition at line 270 of file VisibilityIteratorImpl.h.

References casa::MSIter::ms(), and msIter_p.

virtual const ROMSColumns& casa::VisibilityIteratorReadImpl::msColumns ( ) const [inline, virtual]

Access the current ROMSColumns object in MSIter.

Reimplemented in casa::ViReadImplAsync.

Definition at line 623 of file VisibilityIteratorImpl.h.

References casa::MSIter::msColumns(), and msIter_p.

virtual Int casa::VisibilityIteratorReadImpl::msId ( ) const [inline, virtual]

Reimplemented in casa::ViReadImplAsync.

Definition at line 263 of file VisibilityIteratorImpl.h.

References casa::MSIter::msId(), and msIter_p.

virtual Int casa::VisibilityIteratorReadImpl::nCorr ( ) const [inline, virtual]

Return the number of correlations in the current iteration.

Reimplemented in casa::ViReadImplAsync.

Definition at line 508 of file VisibilityIteratorImpl.h.

References nPol_p.

virtual Bool casa::VisibilityIteratorReadImpl::newArrayId ( ) const [inline, virtual]

Return True if arrayID has changed since last iteration.

Reimplemented in casa::ViReadImplAsync.

Definition at line 490 of file VisibilityIteratorImpl.h.

References curStartRow_p, msIter_p, and casa::MSIter::newArray().

virtual Bool casa::VisibilityIteratorReadImpl::newFieldId ( ) const [inline, virtual]

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

Reimplemented in casa::ViReadImplAsync.

Definition at line 485 of file VisibilityIteratorImpl.h.

References curStartRow_p, msIter_p, and casa::MSIter::newField().

virtual Bool casa::VisibilityIteratorReadImpl::newMS ( ) const [inline, virtual]

Check if ms has change since last iteration.

Reimplemented in casa::ViReadImplAsync.

Definition at line 259 of file VisibilityIteratorImpl.h.

References msIter_p, and casa::MSIter::newMS().

virtual Bool casa::VisibilityIteratorReadImpl::newSpectralWindow ( ) const [inline, virtual]

Return True if SpectralWindow has changed since last iteration.

Reimplemented in casa::ViReadImplAsync.

Definition at line 495 of file VisibilityIteratorImpl.h.

References curStartRow_p, msIter_p, and casa::MSIter::newSpectralWindow().

Advance to the next Chunk of data.

Reimplemented in casa::ViReadImplAsync.

Int casa::VisibilityIteratorReadImpl::nRow ( ) const [inline, virtual]

Return the number of rows in the current iteration.

Reimplemented in casa::ViReadImplAsync.

Definition at line 997 of file VisibilityIteratorImpl.h.

References curNumRow_p.

Int casa::VisibilityIteratorReadImpl::nRowChunk ( ) const [inline, virtual]

Return the numbers of rows in the current chunk.

Reimplemented in casa::ViReadImplAsync.

Definition at line 1001 of file VisibilityIteratorImpl.h.

References msIter_p, casa::Table::nrow(), and casa::MSIter::table().

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

Reimplemented in casa::ViReadImplAsync.

return number of Ant

Return number of rows in all selected ms's.

Reimplemented in casa::ViReadImplAsync.

Reimplemented in casa::ViReadImplAsync.

Reimplemented in casa::ViReadImplAsync.

Return number of spws, polids, ddids.

Reimplemented in casa::ViReadImplAsync.

virtual Vector<Int>& casa::VisibilityIteratorReadImpl::observationId ( Vector< Int > &  obsids) const [virtual]

Return the OBSERVATION_IDs.

Reimplemented in casa::ViReadImplAsync.

VisibilityIteratorReadImpl& casa::VisibilityIteratorReadImpl::operator= ( const VisibilityIteratorReadImpl other)

Assigment.

Any attached VisBuffers are lost in the assign.

virtual void casa::VisibilityIteratorReadImpl::origin ( ) [virtual]

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

Reimplemented in casa::ViReadImplAsync.

Reset iterator to true start of data (first chunk)

Reimplemented in casa::ViReadImplAsync.

virtual void casa::VisibilityIteratorReadImpl::originChunks ( Bool  forceRewind) [protected, virtual]
virtual Vector<Float> casa::VisibilityIteratorReadImpl::parang ( Double  time) const [virtual]

Per antenna:

Reimplemented in casa::ViReadImplAsync.

virtual const Float& casa::VisibilityIteratorReadImpl::parang0 ( Double  time) const [virtual]

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 in casa::ViReadImplAsync.

static Float casa::VisibilityIteratorReadImpl::parang0Calculate ( Double  time,
MSDerivedValues msd,
const MEpoch epoch0 
) [static]
static Vector<Float> casa::VisibilityIteratorReadImpl::parangCalculate ( Double  time,
MSDerivedValues msd,
int  nAntennas,
const MEpoch  mEpoch0 
) [static]
virtual const MDirection& casa::VisibilityIteratorReadImpl::phaseCenter ( ) const [inline, virtual]

Return the current phase center as an MDirection.

Reimplemented in casa::ViReadImplAsync.

Definition at line 403 of file VisibilityIteratorImpl.h.

References msIter_p, and casa::MSIter::phaseCenter().

virtual Int casa::VisibilityIteratorReadImpl::polarizationId ( ) const [inline, virtual]

Return current Polarization Id.

Reimplemented in casa::ViReadImplAsync.

Definition at line 427 of file VisibilityIteratorImpl.h.

References msIter_p, and casa::MSIter::polarizationId().

virtual Int casa::VisibilityIteratorReadImpl::polFrame ( ) const [inline, virtual]

Return frame for polarization (returns PolFrame enum)

Reimplemented in casa::ViReadImplAsync.

Definition at line 408 of file VisibilityIteratorImpl.h.

References msIter_p, and casa::MSIter::polFrame().

virtual Vector<Int>& casa::VisibilityIteratorReadImpl::processorId ( Vector< Int > &  procids) const [virtual]

Return the PROCESSOR_IDs.

Reimplemented in casa::ViReadImplAsync.

const Cube< Double > & casa::VisibilityIteratorReadImpl::receptorAngles ( ) const [inline, 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 in casa::ViReadImplAsync.

Definition at line 968 of file VisibilityIteratorImpl.h.

References msIter_p, and casa::MSIter::receptorAngles().

virtual Vector<uInt>& casa::VisibilityIteratorReadImpl::rowIds ( 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 in casa::ViReadImplAsync.

virtual Vector<Int>& casa::VisibilityIteratorReadImpl::scan ( Vector< Int > &  scans) const [virtual]

Return scan number.

Reimplemented in casa::ViReadImplAsync.

virtual VisibilityIteratorReadImpl& casa::VisibilityIteratorReadImpl::selectChannel ( Int  nGroup = 1,
Int  start = 0,
Int  width = 0,
Int  increment = 1,
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 in casa::ViReadImplAsync.

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

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

Reimplemented in casa::ViReadImplAsync.

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., MVRadialVelocity (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 in casa::ViReadImplAsync.

virtual void casa::VisibilityIteratorReadImpl::setInterval ( Double  timeInterval) [inline, 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 in casa::ViReadImplAsync.

Definition at line 232 of file VisibilityIteratorImpl.h.

References msIter_p, casa::MSIter::setInterval(), timeInterval(), and timeInterval_p.

virtual void casa::VisibilityIteratorReadImpl::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 in casa::ViReadImplAsync.

virtual void casa::VisibilityIteratorReadImpl::setSelTable ( ) [protected, virtual]

set the currently selected table

virtual void casa::VisibilityIteratorReadImpl::setState ( ) [protected, virtual]

set the iteration state

virtual void casa::VisibilityIteratorReadImpl::setTileCache ( ) [protected, virtual]

Set the tile cache size....when using slice access if tile cache size is not set memory usage can go wild.

Specifically, the caching scheme is ephemeral and lives for that instance of setting the caching scheme.

If you don't set any then the defaults come into play and caches a few tiles along every axis at the tile you requested...which is a waste when say you know you want to proceed along the row axis for example...and in fact now VisIter just reads one tile (thus the commenting in setTileCache) and lets the OS do the caching rather than than having the table system cache extra tiles.

virtual Vector<Float>& casa::VisibilityIteratorReadImpl::sigma ( Vector< Float > &  sig) const [virtual]

Return sigma.

Reimplemented in casa::ViReadImplAsync.

virtual Matrix<Float>& casa::VisibilityIteratorReadImpl::sigmaMat ( Matrix< Float > &  sigmat) const [virtual]

Return sigma matrix (pol-dep)

Reimplemented in casa::ViReadImplAsync.

void casa::VisibilityIteratorReadImpl::slicesToMatrices ( Vector< Matrix< Int > > &  matv,
const Vector< Vector< Slice > > &  slicesv,
const Vector< Int > &  widthsv 
) const

Translate slicesv from the form returned by MSSelection::getChanSlices () to matv as used by setChanAveBounds ().

widthsv is the channel averaging width for each selected spw.

virtual void casa::VisibilityIteratorReadImpl::slurp ( ) const [virtual]

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 in casa::ViReadImplAsync.

virtual String casa::VisibilityIteratorReadImpl::sourceName ( ) const [inline, virtual]

Return the current Source Name.

Reimplemented in casa::ViReadImplAsync.

Definition at line 364 of file VisibilityIteratorImpl.h.

References msIter_p, and casa::MSIter::sourceName().

virtual Int casa::VisibilityIteratorReadImpl::spectralWindow ( ) const [inline, virtual]

Return current SpectralWindow.

Reimplemented in casa::ViReadImplAsync.

Definition at line 422 of file VisibilityIteratorImpl.h.

References msIter_p, and casa::MSIter::spectralWindowId().

virtual Vector<Int>& casa::VisibilityIteratorReadImpl::stateId ( Vector< Int > &  stateids) const [virtual]

Return the STATE_IDs.

Reimplemented in casa::ViReadImplAsync.

template<class T >
void casa::VisibilityIteratorReadImpl::swapyz ( Cube< T > &  out,
const Cube< T > &  in 
) const [protected]

virtual void getCol (const String & colName, Array<Double> & array, Array<Double> & all, Bool resize = False) const; virtual void getCol (const String & colName, Vector<Bool> & array, Vector<Bool> & all, Bool resize = False) const; virtual void getCol (const String & colName, Vector<Int> & array, Vector<Int> & all, Bool resize = False) const; virtual void getCol (const String & colName, Vector<Double> & array, Vector<Double> & all, Bool resize = False) const;

virtual Vector<Double>& casa::VisibilityIteratorReadImpl::time ( Vector< Double > &  t) const [virtual]

Return MJD midpoint of interval.

Reimplemented in casa::ViReadImplAsync.

Return MJD centroid of interval.

Reimplemented in casa::ViReadImplAsync.

Return nominal time interval.

Reimplemented in casa::ViReadImplAsync.

Referenced by setInterval().

virtual void casa::VisibilityIteratorReadImpl::update_rowIds ( ) const [protected, virtual]

Updates, if necessary, rowIds_p member for the current chunk.

virtual void casa::VisibilityIteratorReadImpl::updateSlicer ( ) [protected, virtual]

update the DATA slicer

virtual void casa::VisibilityIteratorReadImpl::useImagingWeight ( const VisImagingWeight imWgt) [virtual]

assign a VisImagingWeight object to this iterator

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

get the (velocity selected) interpolated visibilities, flags and weights.

It is not really const at all (it seems to use This-> trickery so callers like flag () can be declared const).

virtual void getInterpolatedVisFlagWeight (DataColumn whichOne) const;

get the (velocity selected) interpolated FLOAT_DATA (as real Floats), flags and weights.

void getInterpolatedFloatDataFlagWeight () const;

virtual Vector<RigidVector<Double, 3> >& casa::VisibilityIteratorReadImpl::uvw ( Vector< RigidVector< Double, 3 > > &  uvwvec) const [virtual]

Return u,v and w (in meters)

Reimplemented in casa::ViReadImplAsync.

virtual Matrix<Double>& casa::VisibilityIteratorReadImpl::uvwMat ( Matrix< Double > &  uvwmat) const [virtual]

Reimplemented in casa::ViReadImplAsync.

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 in casa::ViReadImplAsync.

Definition at line 561 of file VisibilityIteratorImpl.h.

virtual Cube<Complex>& casa::VisibilityIteratorReadImpl::visibility ( Cube< Complex > &  vis,
DataColumn  whichOne 
) const [virtual]

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

Reimplemented in casa::ViReadImplAsync.

virtual Matrix<CStokesVector>& casa::VisibilityIteratorReadImpl::visibility ( Matrix< CStokesVector > &  vis,
DataColumn  whichOne 
) const [virtual]

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.

Reimplemented in casa::ViReadImplAsync.

Return the shape of the visibility Cube.

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

Reimplemented in casa::ViReadImplAsync.

Definition at line 1011 of file VisibilityIteratorImpl.h.

References channelGroupSize(), curNumRow_p, and nPol_p.

virtual Vector<Float>& casa::VisibilityIteratorReadImpl::weight ( Vector< Float > &  wt) const [virtual]

Return weight.

Reimplemented in casa::ViReadImplAsync.

virtual Matrix<Float>& casa::VisibilityIteratorReadImpl::weightMat ( Matrix< Float > &  wtmat) const [virtual]

Returns the nPol_p x curNumRow_p weight matrix.

Reimplemented in casa::ViReadImplAsync.

virtual Cube<Float>& casa::VisibilityIteratorReadImpl::weightSpectrum ( Cube< Float > &  wtsp) const [virtual]

Return weightspectrum (a weight for each channel)

Reimplemented in casa::ViReadImplAsync.


Friends And Related Function Documentation

friend class AsyncEnabler [friend]

Definition at line 117 of file VisibilityIteratorImpl.h.

friend class ROVisibilityIterator [friend]

Definition at line 120 of file VisibilityIteratorImpl.h.

friend class ROVisIterator [friend]

Reimplemented in casa::ViReadImplAsync.

Definition at line 121 of file VisibilityIteratorImpl.h.

friend class ViReadImplAsync [friend]

Definition at line 118 of file VisibilityIteratorImpl.h.

friend class VisibilityIteratorWriteImpl [friend]

Definition at line 119 of file VisibilityIteratorImpl.h.

friend class VisIterator [friend]

Reimplemented in casa::ViReadImplAsync.

Definition at line 122 of file VisibilityIteratorImpl.h.

friend class VLAT [friend]

Definition at line 123 of file VisibilityIteratorImpl.h.


Member Data Documentation

Definition at line 910 of file VisibilityIteratorImpl.h.

Definition at line 911 of file VisibilityIteratorImpl.h.

Definition at line 912 of file VisibilityIteratorImpl.h.

Definition at line 913 of file VisibilityIteratorImpl.h.

Definition at line 914 of file VisibilityIteratorImpl.h.

Referenced by channelGroupSize(), and channelIndex().

Definition at line 915 of file VisibilityIteratorImpl.h.

Definition at line 916 of file VisibilityIteratorImpl.h.

Definition at line 917 of file VisibilityIteratorImpl.h.

Referenced by channelIndex().

Definition at line 918 of file VisibilityIteratorImpl.h.

Definition at line 919 of file VisibilityIteratorImpl.h.

Definition at line 920 of file VisibilityIteratorImpl.h.

Referenced by nRow(), and visibilityShape().

Definition at line 921 of file VisibilityIteratorImpl.h.

Referenced by newArrayId(), newFieldId(), and newSpectralWindow().

Definition at line 922 of file VisibilityIteratorImpl.h.

Definition at line 923 of file VisibilityIteratorImpl.h.

Definition at line 924 of file VisibilityIteratorImpl.h.

Definition at line 925 of file VisibilityIteratorImpl.h.

Definition at line 926 of file VisibilityIteratorImpl.h.

Definition at line 927 of file VisibilityIteratorImpl.h.

Definition at line 928 of file VisibilityIteratorImpl.h.

Referenced by more().

Definition at line 929 of file VisibilityIteratorImpl.h.

Definition at line 930 of file VisibilityIteratorImpl.h.

Definition at line 933 of file VisibilityIteratorImpl.h.

Definition at line 931 of file VisibilityIteratorImpl.h.

Definition at line 934 of file VisibilityIteratorImpl.h.

Definition at line 935 of file VisibilityIteratorImpl.h.

Definition at line 938 of file VisibilityIteratorImpl.h.

Definition at line 936 of file VisibilityIteratorImpl.h.

Referenced by nCorr(), and visibilityShape().

Definition at line 937 of file VisibilityIteratorImpl.h.

Definition at line 939 of file VisibilityIteratorImpl.h.

Definition at line 940 of file VisibilityIteratorImpl.h.

Definition at line 941 of file VisibilityIteratorImpl.h.

Definition at line 942 of file VisibilityIteratorImpl.h.

Definition at line 943 of file VisibilityIteratorImpl.h.

Definition at line 944 of file VisibilityIteratorImpl.h.

Definition at line 945 of file VisibilityIteratorImpl.h.

Definition at line 947 of file VisibilityIteratorImpl.h.

Definition at line 946 of file VisibilityIteratorImpl.h.

Referenced by getInterval(), and setInterval().

Definition at line 948 of file VisibilityIteratorImpl.h.

Definition at line 949 of file VisibilityIteratorImpl.h.

Definition at line 950 of file VisibilityIteratorImpl.h.

Definition at line 951 of file VisibilityIteratorImpl.h.


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