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

VisBuffers encapulsate one chunk of visibility data for processing. More...

#include <VisBufferAsyncWrapper2.h>

Inheritance diagram for casa::vi::VisBufferWrapperAsync2:
casa::vi::VisBuffer2

Public Types

using nA = =number of antennas nF:==number of frequencies(or channels) nC:==number of correlations nR:==number of table rows contained in the buffer--------------------------------------------------------Accessors for data contained in the main casacore::MeasurementSet main table The actual visibility data are at the end.***N.B.:the VB usually caches the information in the representation requested so that using a setter to modify one value type(e.g., weight or visibility) will not modify the cached value in a different representation(e.g., weightMat or visCube).This should not be a problem in normal usage.*/virtual const casacore::Vector< casacore::Int > &antenna1() const =0
 
- Public Types inherited from casa::vi::VisBuffer2
enum  { FrameNotSpecified }
 
using nA = =number of antennas nF:==number of frequencies(or channels) nC:==number of correlations nR:==number of table rows contained in the buffer--------------------------------------------------------Accessors for data contained in the main casacore::MeasurementSet main table The actual visibility data are at the end.***N.B.:the VB usually caches the information in the representation requested so that using a setter to modify one value type(e.g., weight or visibility) will not modify the cached value in a different representation(e.g., weightMat or visCube).This should not be a problem in normal usage.*/virtual const casacore::Vector< casacore::Int > &antenna1() const =0
 

Public Member Functions

virtual ~VisBufferWrapperAsync2 ()
 Destructor (detaches from VisIter) More...
 
virtual void copy (const VisBuffer2 &other, casacore::Bool fetchIfNeeded)
 
More...
 
virtual void copyComponents (const VisBuffer2 &other, const VisBufferComponents2 &components, casacore::Bool fetchIfNeeded=true)
 Copies the specified components (or just the one in the cache) from the specified VisBuffer into this one. More...
 
virtual void copyCoordinateInfo (const VisBuffer2 *other, casacore::Bool includeDirections, casacore::Bool fetchIfNeeded=true)
 Copies the coordinate components from the specified VisBuffer into this one. More...
 
virtual void setShape (casacore::Int nCorrelations, casacore::Int nChannels, casacore::Int nRows)
 
virtual const VisibilityIterator2getVi () const
 For attached VBs this returns the VI the VB is attached to. More...
 
virtual casacore::Bool isAttached () const
 
virtual casacore::Bool isFillable () const
 
virtual void writeChangesBack ()
 
More...
 
virtual void dirtyComponentsAdd (const VisBufferComponents2 &additionalDirtyComponents)
 
virtual void dirtyComponentsAdd (VisBufferComponent2 component)
 
virtual void dirtyComponentsClear ()
 
virtual VisBufferComponents2 dirtyComponentsGet () const
 
virtual void dirtyComponentsSet (const VisBufferComponents2 &dirtyComponents)
 
virtual void dirtyComponentsSet (VisBufferComponent2 component)
 
virtual const casacore::Matrix
< casacore::Float > & 
imagingWeight () const
 This method returns the imaging weights associated with the VisBuffer. More...
 
virtual casacore::Double getFrequency (casacore::Int rowInBuffer, casacore::Int frequencyIndex, casacore::Int frame=FrameNotSpecified) const
 
More...
 
virtual const casacore::Vector
< casacore::Double > & 
getFrequencies (casacore::Int rowInBuffer, casacore::Int frame=FrameNotSpecified) const
 
virtual casacore::Int getChannelNumber (casacore::Int rowInBuffer, casacore::Int frequencyIndex) const
 
virtual const casacore::Vector
< casacore::Int > & 
getChannelNumbers (casacore::Int rowInBuffer) const
 
virtual void normalize ()
 casacore::Sort/unsort the correlations, if necessary (Rudimentary handling of non-canonically sorted correlations–use with care!) More...
 
virtual void resetWeightsUsingSigma ()
 Set the weight cube using the sigma cube. More...
 
virtual casacore::Bool isNewArrayId () const
 
More...
 
virtual casacore::Bool isNewFieldId () const
 
virtual casacore::Bool isNewMs () const
 
virtual casacore::Bool isNewSpectralWindow () const
 
virtual casacore::Bool isWritable () const
 
virtual casacore::Int msId () const
 
virtual casacore::String msName (casacore::Bool stripPath=false) const
 
virtual Subchunk getSubchunk () const
 
casacore::Data accessors and setters (where appropriate) There are the methods that allows access to the items cached in the VisBuffer.The straight accessors provide read-only access to the item.Where the item is allowed to be modified
 
virtual void setAntenna1 (const casacore::Vector< casacore::Int > &value)=0
 
virtual const casacore::Vector
< casacore::Int > & 
antenna2 () const =0
 
virtual void setAntenna2 (const casacore::Vector< casacore::Int > &value)=0
 
virtual const casacore::Vector
< casacore::Int > & 
arrayId () const =0
 
virtual void setArrayId (const casacore::Vector< casacore::Int > &)=0
 
virtual casacore::Int dataDescriptionId () const =0
 
virtual void setDataDescriptionId (casacore::Int value)=0
 
virtual const casacore::Vector
< casacore::MDirection > & 
direction1 () const =0
 
virtual const casacore::Vector
< casacore::MDirection > & 
direction2 () const =0
 
virtual const casacore::Vector
< casacore::Double > & 
exposure () const =0
 
virtual void setExposure (const casacore::Vector< casacore::Double > &value)=0
 
virtual const casacore::Vector
< casacore::Int > & 
feed1 () const =0
 
virtual void setFeed1 (const casacore::Vector< casacore::Int > &value)=0
 
virtual const casacore::Vector
< casacore::Int > & 
feed2 () const =0
 
virtual void setFeed2 (const casacore::Vector< casacore::Int > &value)=0
 
virtual const casacore::Vector
< casacore::Int > & 
fieldId () const =0
 
virtual void setFieldId (const casacore::Vector< casacore::Int > &)=0
 
virtual const casacore::Matrix
< casacore::Bool > & 
flag () const =0
 
virtual void setFlag (const casacore::Matrix< casacore::Bool > &value)=0
 
virtual const casacore::Array
< casacore::Bool > & 
flagCategory () const =0
 virtual const casacore::Matrix<casacore::Bool> & flag () const = 0; // [nF,nR] virtual void setFlag (const casacore::Matrix<casacore::Bool>& value) = 0; // [nF,nR] More...
 
virtual void setFlagCategory (const casacore::Array< casacore::Bool > &value)=0
 
virtual const casacore::Cube
< casacore::Bool > & 
flagCube () const =0
 
virtual void setFlagCube (const casacore::Cube< casacore::Bool > &value)=0
 
virtual const casacore::Vector
< casacore::Bool > & 
flagRow () const =0
 
virtual void setFlagRow (const casacore::Vector< casacore::Bool > &value)=0
 
virtual const casacore::Vector
< casacore::Int > & 
observationId () const =0
 
virtual void setObservationId (const casacore::Vector< casacore::Int > &value)=0
 
virtual const casacore::Vector
< casacore::Int > & 
processorId () const =0
 
virtual void setProcessorId (const casacore::Vector< casacore::Int > &value)=0
 
virtual const casacore::Vector
< casacore::Int > & 
scan () const =0
 
virtual void setScan (const casacore::Vector< casacore::Int > &value)=0
 
virtual const casacore::Matrix
< casacore::Float > & 
sigma () const =0
 
virtual void setSigma (const casacore::Matrix< casacore::Float > &value)=0
 
virtual const casacore::Vector
< casacore::Int > & 
stateId () const =0
 virtual const casacore::Matrix<casacore::Float> & sigmaMat () const = 0; // [nC,nR] More...
 
virtual void setStateId (const casacore::Vector< casacore::Int > &value)=0
 
virtual const casacore::Vector
< casacore::Double > & 
time () const =0
 
virtual void setTime (const casacore::Vector< casacore::Double > &value)=0
 
virtual const casacore::Vector
< casacore::Double > & 
timeCentroid () const =0
 
virtual void setTimeCentroid (const casacore::Vector< casacore::Double > &value)=0
 
virtual const casacore::Vector
< casacore::Double > & 
timeInterval () const =0
 
virtual void setTimeInterval (const casacore::Vector< casacore::Double > &value)=0
 
virtual const casacore::Matrix
< casacore::Double > & 
uvw () const =0
 
virtual void setUvw (const casacore::Matrix< casacore::Double > &value)=0
 
virtual const casacore::Matrix
< casacore::Float > & 
weight () const =0
 
virtual void setWeight (const casacore::Matrix< casacore::Float > &value)=0
 
virtual const casacore::Cube
< casacore::Float > & 
weightSpectrum () const =0
 virtual const casacore::Matrix<casacore::Float> & weightMat () const = 0; // [nC,nR] virtual void setWeightMat (const casacore::Matrix<casacore::Float>& value) = 0; // [nC,nR] More...
 
virtual void setWeightSpectrum (const casacore::Cube< casacore::Float > &value)=0
 
virtual const casacore::Cube
< casacore::Complex > & 
visCube () const
 

Visibility data accessors in order of observed, corrected, float, & model More...

 
virtual void setVisCube (const casacore::Complex &c)
 
virtual void setVisCube (const casacore::Cube< casacore::Complex > &)
 
virtual const casacore::Matrix
< CStokesVector > & 
vis () const
 
virtual void setVis (casacore::Matrix< CStokesVector > &)
 
virtual const casacore::Cube
< casacore::Complex > & 
visCubeCorrected () const
 virtual const casacore::Matrix<CStokesVector> & vis () const = 0; // [nF,nR] virtual void setVis (casacore::Matrix<CStokesVector> &) = 0; // [nF,nR] More...
 
virtual void setVisCubeCorrected (const casacore::Cube< casacore::Complex > &)
 
virtual const casacore::Matrix
< CStokesVector > & 
visCorrected () const
 
virtual void setVisCorrected (const casacore::Matrix< CStokesVector > &)
 
virtual const casacore::Cube
< casacore::Float > & 
visCubeFloat () const
 virtual const casacore::Matrix<CStokesVector> & visCorrected () const = 0; // [nF,nR] virtual void setVisCorrected (const casacore::Matrix<CStokesVector> &) = 0; // [nF,nR] More...
 
virtual void setVisCubeFloat (const casacore::Cube< casacore::Float > &)
 
virtual const casacore::Cube
< casacore::Complex > & 
visCubeModel () const
 
virtual void setVisCubeModel (const casacore::Complex &c)
 
virtual void setVisCubeModel (const casacore::Cube< casacore::Complex > &vis)
 
virtual void setVisCubeModel (const casacore::Vector< casacore::Float > &stokes)
 
virtual const casacore::Matrix
< CStokesVector > & 
visModel () const
 
virtual void setVisModel (casacore::Matrix< CStokesVector > &)
 
virtual casacore::MDirection azel0 (casacore::Double time) const
 
More...
 
virtual const casacore::Vector
< casacore::MDirection > & 
azel (casacore::Double time) const
 Returns the pointing angle for each antenna in the array at the specified time. More...
 
virtual const casacore::Vector
< casacore::SquareMatrix
< casacore::Complex, 2 > > & 
cjones () const
 Returns the Jones C matrix for each antenna. More...
 
virtual const casacore::Vector
< casacore::Int > & 
correlationTypes () const
 Returns the correlation type of each correlation in the VisCube. More...
 
virtual const casacore::Vector
< casacore::Float > & 
feedPa (casacore::Double time) const
 Calculates the parallactic angle for the first receptor of each antenna at the specified time. More...
 
virtual const casacore::Vector
< casacore::Float > & 
feedPa1 () const
 Calculates the parallactic angle for feed 0 of the row's Antenna1. More...
 
virtual const casacore::Vector
< casacore::Float > & 
feedPa2 () const
 Calculates the parallactic angle for feed 0 of the row's Antenna2. More...
 
virtual casacore::Double hourang (casacore::Double time) const
 Returns the hour angle of the array at the specified time. More...
 
virtual casacore::Int nAntennas () const
 
virtual casacore::Int nChannels () const
 
virtual casacore::Int nCorrelations () const
 Returns the number of correlations along the visCube correlation axis. More...
 
virtual casacore::Int nRows () const
 Returns the number of rows in this VisBuffer. More...
 
virtual casacore::Float parang0 (casacore::Double time) const
 Calculates the parallactic angle of the array as a whole at the specified time. More...
 
virtual const casacore::Vector
< casacore::Float > & 
parang (casacore::Double time) const
 Calculates the parallactic angle of each antenna in the array at the specified time. More...
 
virtual const
casacore::MDirection
phaseCenter () const
 Returns the phase center of the array for the specified row. More...
 
virtual casacore::Int polarizationFrame () const
 Returns the polarization frame for the specified row. More...
 
virtual casacore::Int polarizationId () const
 
virtual const casacore::Vector
< casacore::uInt > & 
rowIds () const
 The returned casacore::Vector serves as a map between the rows in the VisBuffer and the row IDs in the underlying casacore::MS main virtual table: mainTableID [i] = rowIds () [ i];. More...
 
virtual casacore::Int spectralWindow () const
 Returns the spectral window ID for the specified row. More...
 
- Public Member Functions inherited from casa::vi::VisBuffer2
 VisBuffer2 (const VisBuffer2 &)=delete
 make noncopyable... More...
 
VisBuffer2operator= (const VisBuffer2 &)=delete
 
 VisBuffer2 ()
 
virtual ~VisBuffer2 ()
 Used by framework. More...
 
virtual ms::MsRowgetRow (casacore::Int row) const
 
virtual ms::MsRowgetRowMutable (casacore::Int row)
 
virtual void copyComponents (const VisBuffer2 &other, const VisBufferComponents2 &components, casacore::Bool allowShapeChange=false, casacore::Bool fetchIfNeeded=true)=0
 Copies the specified components (or just the ones in the cache if fetchIfNeeded is false) from the specified VisBuffer into this one. More...
 
virtual void copyCoordinateInfo (const VisBuffer2 *other, casacore::Bool includeDirections, casacore::Bool allowShapeChange=false, casacore::Bool fetchIfNeeded=true)=0
 Copies the coordinate components (or just the ones in the cache if fetchIfNeeded is false) from the specified VisBuffer into this one. More...
 
virtual void setShape (casacore::Int nCorrelations, casacore::Int nChannels, casacore::Int nRows, casacore::Bool clearCache=false)=0
 
virtual void validateShapes () const =0
 
virtual const
casacore::MeasurementSet
ms () const
 
virtual const vi::SubtableColumnssubtableColumns () const
 
virtual casacore::Bool existsColumn (VisBufferComponent2 id) const =0
 
virtual void initWeightSpectrum (const casacore::Cube< casacore::Float > &wtspec)=0
 
virtual void initSigmaSpectrum (const casacore::Cube< casacore::Float > &sigspec)=0
 
virtual void setImagingWeight (const casacore::Matrix< casacore::Float > &newImagingWeights)=0
 
virtual casacore::Vector
< casacore::Stokes::StokesTypes
getCorrelationTypesDefined () const =0
 
More...
 
virtual casacore::Vector
< casacore::Stokes::StokesTypes
getCorrelationTypesSelected () const =0
 
virtual casacore::Vector
< casacore::Int
getCorrelationTypes () const =0
 
virtual casacore::Vector
< casacore::Int
getChannelNumbersSelected (casacore::Int outputChannelIndex) const =0
 
virtual void phaseCenterShift (const casacore::Vector< casacore::Double > &phase)=0
 Rotate visibility phase for given vector (dim = nrow of vb) of phases (metres) More...
 
virtual void phaseCenterShift (casacore::Double dx, casacore::Double dy)=0
 Rotate visibility phase for phase center offsets (arcsecs) More...
 
casacore::Data accessors and setters (where appropriate) There are the methods that allows access to the items cached in the VisBuffer.The straight accessors provide read-only access to the item.Where the item is allowed to be modified
 
virtual const casacore::Vector
< casacore::Int > & 
dataDescriptionIds () const =0
 virtual casacore::Int dataDescriptionId () const = 0; virtual void setDataDescriptionId (casacore::Int value) = 0; More...
 
virtual void setDataDescriptionIds (const casacore::Vector< casacore::Int > &)=0
 
virtual const casacore::Cube
< casacore::Float > & 
sigmaSpectrum () const =0
 
virtual void setSigmaSpectrum (const casacore::Cube< casacore::Float > &value)=0
 
virtual casacore::Float getWeightScaled (casacore::Int row) const =0
 virtual const casacore::Matrix<CStokesVector> & visModel () const = 0; // [nF,nR] virtual void setVisModel (casacore::Matrix<CStokesVector> &) = 0; // [nF,nR] More...
 
virtual casacore::Float getWeightScaled (casacore::Int correlation, casacore::Int row) const =0
 
virtual casacore::Float getWeightScaled (casacore::Int correlation, casacore::Int channel, casacore::Int row) const =0
 
virtual casacore::Float getSigmaScaled (casacore::Int row) const =0
 
virtual casacore::Float getSigmaScaled (casacore::Int correlation, casacore::Int row) const =0
 
virtual casacore::Float getSigmaScaled (casacore::Int correlation, casacore::Int channel, casacore::Int row) const =0
 
virtual casacore::IPosition getShape () const =0
 
virtual const casacore::Vector
< casacore::Int > & 
spectralWindows () const =0
 Returns the spectral window ID for the specified row. More...
 
virtual void setSpectralWindows (const casacore::Vector< casacore::Int > &spectralWindows)=0
 
virtual casacore::CountedPtr
< WeightScaling
getWeightScaling () const =0
 

Protected Member Functions

 VisBufferWrapperAsync2 (VisibilityIterator2 &iter)
 
VisBuffer2getWrappedVisBuffer () const
 
void wrap (VisBuffer2 *vba)
 
- Protected Member Functions inherited from casa::vi::VisBuffer2
virtual void associateWithVi2 (const VisibilityIterator2 *)
 
virtual void configureNewSubchunk (casacore::Int msId, const casacore::String &msName, casacore::Bool isNewMs, casacore::Bool isNewArrayId, casacore::Bool isNewFieldId, casacore::Bool isNewSpectralWindow, const Subchunk &subchunk, casacore::Int nRows, casacore::Int nChannels, casacore::Int nCorrelations, const casacore::Vector< casacore::Int > &correlations, const casacore::Vector< casacore::Stokes::StokesTypes > &correlationsDefined, const casacore::Vector< casacore::Stokes::StokesTypes > &correlationsSelected, casacore::CountedPtr< WeightScaling > weightScaling)=0
 
virtual void invalidate ()=0
 
virtual casacore::Bool isRekeyable () const =0
 
virtual void setFillable (casacore::Bool isFillable)=0
 
virtual void setRekeyable (casacore::Bool isRekeable)=0
 
virtual bool setWritability (bool)
 
virtual casacore::Vector
< casacore::Bool > & 
flagRowRef ()=0
 
virtual casacore::Cube
< casacore::Bool > & 
flagCubeRef ()=0
 
virtual casacore::Cube
< casacore::Complex > & 
visCubeRef ()=0
 
virtual casacore::Cube
< casacore::Complex > & 
visCubeCorrectedRef ()=0
 
virtual casacore::Cube
< casacore::Complex > & 
visCubeModelRef ()=0
 
virtual casacore::Cube
< casacore::Float > & 
weightSpectrumRef ()=0
 

Private Attributes

VisBuffer2wrappedVb_p
 
VisibilityIterator2wrappedVisIterAsync_p
 

Friends

class ViReadImplAsync
 

Additional Inherited Members

- Static Public Member Functions inherited from casa::vi::VisBuffer2
static VisBuffer2factory (VisBufferOptions vbOptions=VbNoOptions)
 

Detailed Description

VisBuffers encapulsate one chunk of visibility data for processing.

Intended use:

Public interface

Prerequisite

Etymology

VisBuffer is a buffer for visibility data

Synopsis

This class contains 'one iteration' of the VisibilityIterator It is a modifiable buffer of values to which calibration and averaging can be applied. This allows processing of the data in larger blocks, avoiding some overheads for processing per visibility point or spectrum.

See MeasurementEquations for more details on how the VisBuffer is to be used.

To Do

Definition at line 77 of file VisBufferAsyncWrapper2.h.

Member Typedef Documentation

using casa::vi::VisBufferWrapperAsync2::nA = = number of antennas nF :== number of frequencies (or channels) nC :== number of correlations nR :== number of table rows contained in the buffer -------------------------------------------------------- Accessors for data contained in the main casacore::MeasurementSet main table The actual visibility data are at the end. *** N.B.: the VB usually caches the information in the representation requested so that using a setter to modify one value type (e.g., weight or visibility) will not modify the cached value in a different representation (e.g., weightMat or visCube). This should not be a problem in normal usage. */ virtual const casacore::Vector<casacore::Int> & antenna1 () const = 0

Definition at line 271 of file VisBufferAsyncWrapper2.h.

Constructor & Destructor Documentation

virtual casa::vi::VisBufferWrapperAsync2::~VisBufferWrapperAsync2 ( )
virtual

Destructor (detaches from VisIter)

casa::vi::VisBufferWrapperAsync2::VisBufferWrapperAsync2 ( VisibilityIterator2 iter)
protected

Member Function Documentation

virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferWrapperAsync2::antenna2 ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferWrapperAsync2::arrayId ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::MDirection>& casa::vi::VisBufferWrapperAsync2::azel ( casacore::Double  time) const
virtual

Returns the pointing angle for each antenna in the array at the specified time.

Implements casa::vi::VisBuffer2.

virtual casacore::MDirection casa::vi::VisBufferWrapperAsync2::azel0 ( casacore::Double  time) const
virtual


Accessors for data derived from the casacore::MS main table data

Returns the pointing angle for the array as a whole at the specified time.

Implements casa::vi::VisBuffer2.

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

Returns the Jones C matrix for each antenna.

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::copy ( const VisBuffer2 other,
casacore::Bool  fetchIfNeeded 
)
virtual


Copying methods

These methods allow copying portions of the data between two VisBuffers. Because of the complicated semantics of a VisBuffer the assignment and copy-construction methods are not used as they are likely to confuse VisBuffer users.

Copies all of the components from the specified VisBuffer into this one. Uncached values will be cleared in this VB.

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::copyComponents ( const VisBuffer2 other,
const VisBufferComponents2 components,
casacore::Bool  fetchIfNeeded = true 
)
virtual

Copies the specified components (or just the one in the cache) from the specified VisBuffer into this one.

virtual void casa::vi::VisBufferWrapperAsync2::copyCoordinateInfo ( const VisBuffer2 other,
casacore::Bool  includeDirections,
casacore::Bool  fetchIfNeeded = true 
)
virtual

Copies the coordinate components from the specified VisBuffer into this one.

Depending on includeDirections the direction related ones are copied or not.

virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferWrapperAsync2::correlationTypes ( ) const
virtual

Returns the correlation type of each correlation in the VisCube.

Implements casa::vi::VisBuffer2.

virtual casacore::Int casa::vi::VisBufferWrapperAsync2::dataDescriptionId ( ) const
pure virtual
virtual const casacore::Vector<casacore::MDirection>& casa::vi::VisBufferWrapperAsync2::direction1 ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::MDirection>& casa::vi::VisBufferWrapperAsync2::direction2 ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::dirtyComponentsAdd ( const VisBufferComponents2 additionalDirtyComponents)
virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::dirtyComponentsAdd ( VisBufferComponent2  component)
virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::dirtyComponentsClear ( )
virtual

Implements casa::vi::VisBuffer2.

virtual VisBufferComponents2 casa::vi::VisBufferWrapperAsync2::dirtyComponentsGet ( ) const
virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::dirtyComponentsSet ( const VisBufferComponents2 dirtyComponents)
virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::dirtyComponentsSet ( VisBufferComponent2  component)
virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Double>& casa::vi::VisBufferWrapperAsync2::exposure ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferWrapperAsync2::feed1 ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferWrapperAsync2::feed2 ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Float>& casa::vi::VisBufferWrapperAsync2::feedPa ( casacore::Double  time) const
virtual

Calculates the parallactic angle for the first receptor of each antenna at the specified time.

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Float>& casa::vi::VisBufferWrapperAsync2::feedPa1 ( ) const
virtual

Calculates the parallactic angle for feed 0 of the row's Antenna1.

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Float>& casa::vi::VisBufferWrapperAsync2::feedPa2 ( ) const
virtual

Calculates the parallactic angle for feed 0 of the row's Antenna2.

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferWrapperAsync2::fieldId ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Matrix<casacore::Bool>& casa::vi::VisBufferWrapperAsync2::flag ( ) const
pure virtual
virtual const casacore::Array<casacore::Bool>& casa::vi::VisBufferWrapperAsync2::flagCategory ( ) const
pure virtual

virtual const casacore::Matrix<casacore::Bool> & flag () const = 0; // [nF,nR] virtual void setFlag (const casacore::Matrix<casacore::Bool>& value) = 0; // [nF,nR]

Implements casa::vi::VisBuffer2.

virtual const casacore::Cube<casacore::Bool>& casa::vi::VisBufferWrapperAsync2::flagCube ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Bool>& casa::vi::VisBufferWrapperAsync2::flagRow ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual casacore::Int casa::vi::VisBufferWrapperAsync2::getChannelNumber ( casacore::Int  rowInBuffer,
casacore::Int  frequencyIndex 
) const
virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferWrapperAsync2::getChannelNumbers ( casacore::Int  rowInBuffer) const
virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Double>& casa::vi::VisBufferWrapperAsync2::getFrequencies ( casacore::Int  rowInBuffer,
casacore::Int  frame = FrameNotSpecified 
) const
virtual

Implements casa::vi::VisBuffer2.

virtual casacore::Double casa::vi::VisBufferWrapperAsync2::getFrequency ( casacore::Int  rowInBuffer,
casacore::Int  frequencyIndex,
casacore::Int  frame = FrameNotSpecified 
) const
virtual


Frequency reporting methods.

These methods provide information about the frequencies returned in the visibility cubes. The information can returned as the channel numbers (numbered as in the underlying casacore::MS data) or in a frame-based frequency. This information reported need not be in the same frame of reference used to select the data. If the frame of reference is specified in the call, then that is the frame that is used to calculate the frequencies. If it is not specified, then the VisibilityIterator will be queried for virtual the reportingFrame; if the user has specified a reporting frame to the virtual VI then that frame will be used; otherwise the frame used to select the frequencies will be used. If the user provides no frequency selection to the VI then the selection frame will TOPO.

Both the channelNumber and frequency reporting methods come in two versions: one returns a single frequency for the specified frequency index and row while the other provides all of the frequencies for the specified row. The frequency index is the zero-based index along the frequency axis of a visibility cube.

Implements casa::vi::VisBuffer2.

virtual Subchunk casa::vi::VisBufferWrapperAsync2::getSubchunk ( ) const
virtual

Implements casa::vi::VisBuffer2.

virtual const VisibilityIterator2* casa::vi::VisBufferWrapperAsync2::getVi ( ) const
virtual

For attached VBs this returns the VI the VB is attached to.

For free VBs this method returns false.

Reimplemented from casa::vi::VisBuffer2.

VisBuffer2* casa::vi::VisBufferWrapperAsync2::getWrappedVisBuffer ( ) const
protected
virtual casacore::Double casa::vi::VisBufferWrapperAsync2::hourang ( casacore::Double  time) const
virtual

Returns the hour angle of the array at the specified time.

Implements casa::vi::VisBuffer2.

virtual const casacore::Matrix<casacore::Float>& casa::vi::VisBufferWrapperAsync2::imagingWeight ( ) const
virtual

This method returns the imaging weights associated with the VisBuffer.

If an imaging weight generator has not been supplied to the associated VisibilityIterator then this method will throw an exception.

Implements casa::vi::VisBuffer2.

virtual casacore::Bool casa::vi::VisBufferWrapperAsync2::isAttached ( ) const
virtual

Implements casa::vi::VisBuffer2.

virtual casacore::Bool casa::vi::VisBufferWrapperAsync2::isFillable ( ) const
virtual

Implements casa::vi::VisBuffer2.

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


Subhchunk information methods

These methods provide information related to the current subchunk. The isNewXXX methods return true if the XXX property of the subchunk differs from the previous subchunk.

The methods msId and msName provide information about the MS related to the current subchunk. The msID is the zero-based index of the casacore::MS in the sequence of MSs being iterated over.

The isWritable method is true when the attached iterator is writable and false otherwise.

The isRekeyable method is true when the VisBuffer is writable and also allows the modification of non-data fields (e.g., antenna1, fieldId, etc.) A rekeyable VB is one that could be used to create data for a brand new MS.

Implements casa::vi::VisBuffer2.

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

Implements casa::vi::VisBuffer2.

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

Implements casa::vi::VisBuffer2.

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

Implements casa::vi::VisBuffer2.

virtual casacore::Bool casa::vi::VisBufferWrapperAsync2::isWritable ( ) const
virtual

Implements casa::vi::VisBuffer2.

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

Implements casa::vi::VisBuffer2.

virtual casacore::String casa::vi::VisBufferWrapperAsync2::msName ( casacore::Bool  stripPath = false) const
virtual

Implements casa::vi::VisBuffer2.

virtual casacore::Int casa::vi::VisBufferWrapperAsync2::nAntennas ( ) const
virtual

Implements casa::vi::VisBuffer2.

virtual casacore::Int casa::vi::VisBufferWrapperAsync2::nChannels ( ) const
virtual

Implements casa::vi::VisBuffer2.

virtual casacore::Int casa::vi::VisBufferWrapperAsync2::nCorrelations ( ) const
virtual

Returns the number of correlations along the visCube correlation axis.

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::normalize ( )
virtual

casacore::Sort/unsort the correlations, if necessary (Rudimentary handling of non-canonically sorted correlations–use with care!)

The sorting functionality is a horrible kluge that puts the VisBuffer into a somewhat incoherent state (e.g., after sorting the correlation types array does not correspond to the data) and appears to serve the needs of a tiny piece of code. As such, this refactor is initially not going to support this functionality since it is probably better implemented in the one place that actually needs it. (jjacobs 10/3/12)

virtual void sortCorr (); virtual void unSortCorr();

Normalize the visCube by the modelVisCube.

Implements casa::vi::VisBuffer2.

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

Returns the number of rows in this VisBuffer.

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferWrapperAsync2::observationId ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Float>& casa::vi::VisBufferWrapperAsync2::parang ( casacore::Double  time) const
virtual

Calculates the parallactic angle of each antenna in the array at the specified time.

Implements casa::vi::VisBuffer2.

virtual casacore::Float casa::vi::VisBufferWrapperAsync2::parang0 ( casacore::Double  time) const
virtual

Calculates the parallactic angle of the array as a whole at the specified time.

Implements casa::vi::VisBuffer2.

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

Returns the phase center of the array for the specified row.

Implements casa::vi::VisBuffer2.

virtual casacore::Int casa::vi::VisBufferWrapperAsync2::polarizationFrame ( ) const
virtual

Returns the polarization frame for the specified row.

Implements casa::vi::VisBuffer2.

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

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferWrapperAsync2::processorId ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::resetWeightsUsingSigma ( )
virtual

Set the weight cube using the sigma cube.

Each weight will be the reciprocal of the square of the corresponding element in the model VisCube multiplied by the number of channels in the spectral window. If an element in sigma is zero then the corresponding weight element will also be set to zero.

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::uInt>& casa::vi::VisBufferWrapperAsync2::rowIds ( ) const
virtual

The returned casacore::Vector serves as a map between the rows in the VisBuffer and the row IDs in the underlying casacore::MS main virtual table: mainTableID [i] = rowIds () [ i];.

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferWrapperAsync2::scan ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setAntenna1 ( const casacore::Vector< casacore::Int > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setAntenna2 ( const casacore::Vector< casacore::Int > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setArrayId ( const casacore::Vector< casacore::Int > &  )
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setDataDescriptionId ( casacore::Int  value)
pure virtual
virtual void casa::vi::VisBufferWrapperAsync2::setExposure ( const casacore::Vector< casacore::Double > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setFeed1 ( const casacore::Vector< casacore::Int > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setFeed2 ( const casacore::Vector< casacore::Int > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setFieldId ( const casacore::Vector< casacore::Int > &  )
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setFlag ( const casacore::Matrix< casacore::Bool > &  value)
pure virtual
virtual void casa::vi::VisBufferWrapperAsync2::setFlagCategory ( const casacore::Array< casacore::Bool > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setFlagCube ( const casacore::Cube< casacore::Bool > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setFlagRow ( const casacore::Vector< casacore::Bool > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setObservationId ( const casacore::Vector< casacore::Int > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setProcessorId ( const casacore::Vector< casacore::Int > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setScan ( const casacore::Vector< casacore::Int > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setShape ( casacore::Int  nCorrelations,
casacore::Int  nChannels,
casacore::Int  nRows 
)
virtual
virtual void casa::vi::VisBufferWrapperAsync2::setSigma ( const casacore::Matrix< casacore::Float > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setStateId ( const casacore::Vector< casacore::Int > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

casacore::Data accessors and casa::vi::VisBufferWrapperAsync2::setters ( where  appropriate)
virtual void casa::vi::VisBufferWrapperAsync2::setTime ( const casacore::Vector< casacore::Double > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setTimeCentroid ( const casacore::Vector< casacore::Double > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setTimeInterval ( const casacore::Vector< casacore::Double > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setUvw ( const casacore::Matrix< casacore::Double > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setVis ( casacore::Matrix< CStokesVector > &  )
virtual
virtual void casa::vi::VisBufferWrapperAsync2::setVisCorrected ( const casacore::Matrix< CStokesVector > &  )
virtual
virtual void casa::vi::VisBufferWrapperAsync2::setVisCube ( const casacore::Complex &  c)
virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setVisCube ( const casacore::Cube< casacore::Complex > &  )
virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setVisCubeCorrected ( const casacore::Cube< casacore::Complex > &  )
virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setVisCubeFloat ( const casacore::Cube< casacore::Float > &  )
virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setVisCubeModel ( const casacore::Complex &  c)
virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setVisCubeModel ( const casacore::Cube< casacore::Complex > &  vis)
virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setVisCubeModel ( const casacore::Vector< casacore::Float > &  stokes)
virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setVisModel ( casacore::Matrix< CStokesVector > &  )
virtual
virtual void casa::vi::VisBufferWrapperAsync2::setWeight ( const casacore::Matrix< casacore::Float > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual void casa::vi::VisBufferWrapperAsync2::setWeightSpectrum ( const casacore::Cube< casacore::Float > &  value)
pure virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Matrix<casacore::Float>& casa::vi::VisBufferWrapperAsync2::sigma ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

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

Returns the spectral window ID for the specified row.

virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferWrapperAsync2::stateId ( ) const
pure virtual

virtual const casacore::Matrix<casacore::Float> & sigmaMat () const = 0; // [nC,nR]

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Double>& casa::vi::VisBufferWrapperAsync2::time ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Double>& casa::vi::VisBufferWrapperAsync2::timeCentroid ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Vector<casacore::Double>& casa::vi::VisBufferWrapperAsync2::timeInterval ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Matrix<casacore::Double>& casa::vi::VisBufferWrapperAsync2::uvw ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Matrix<CStokesVector>& casa::vi::VisBufferWrapperAsync2::vis ( ) const
virtual
virtual const casacore::Matrix<CStokesVector>& casa::vi::VisBufferWrapperAsync2::visCorrected ( ) const
virtual
virtual const casacore::Cube<casacore::Complex>& casa::vi::VisBufferWrapperAsync2::visCube ( ) const
virtual


Visibility data accessors in order of observed, corrected, float, & model

Implements casa::vi::VisBuffer2.

virtual const casacore::Cube<casacore::Complex>& casa::vi::VisBufferWrapperAsync2::visCubeCorrected ( ) const
virtual

virtual const casacore::Matrix<CStokesVector> & vis () const = 0; // [nF,nR] virtual void setVis (casacore::Matrix<CStokesVector> &) = 0; // [nF,nR]

Implements casa::vi::VisBuffer2.

virtual const casacore::Cube<casacore::Float>& casa::vi::VisBufferWrapperAsync2::visCubeFloat ( ) const
virtual

virtual const casacore::Matrix<CStokesVector> & visCorrected () const = 0; // [nF,nR] virtual void setVisCorrected (const casacore::Matrix<CStokesVector> &) = 0; // [nF,nR]

Implements casa::vi::VisBuffer2.

virtual const casacore::Cube<casacore::Complex>& casa::vi::VisBufferWrapperAsync2::visCubeModel ( ) const
virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Matrix<CStokesVector>& casa::vi::VisBufferWrapperAsync2::visModel ( ) const
virtual
virtual const casacore::Matrix<casacore::Float>& casa::vi::VisBufferWrapperAsync2::weight ( ) const
pure virtual

Implements casa::vi::VisBuffer2.

virtual const casacore::Cube<casacore::Float>& casa::vi::VisBufferWrapperAsync2::weightSpectrum ( ) const
pure virtual

virtual const casacore::Matrix<casacore::Float> & weightMat () const = 0; // [nC,nR] virtual void setWeightMat (const casacore::Matrix<casacore::Float>& value) = 0; // [nC,nR]

Implements casa::vi::VisBuffer2.

void casa::vi::VisBufferWrapperAsync2::wrap ( VisBuffer2 vba)
protected
virtual void casa::vi::VisBufferWrapperAsync2::writeChangesBack ( )
virtual


Dirty component methods

The dirtyComponent methods support the data-flow approach to using VisBuffers (the Visibility Processing Framework). In this approach a VisBuffer is passed to successive processing nodes (e.g., applycal, flagging, etc.) which operate on it and pass it on to the next node in the algorithm. The dirtyComponents mechanism allows a processing node to mark portions of the VisBuffer as modified. If the VisBuffer reaches an write-to-disk node then the modified portions of the VisBuffer will be written out. The user can also explicitly direct that the changes be written out using the writeChangesBack method.

Using a setter on a VisBuffer component will also set the dirty flag for that component. Normally the user should not need to use these methods; however, they are available in case unexpected situations should arise in the future.

Implements casa::vi::VisBuffer2.

Friends And Related Function Documentation

friend class ViReadImplAsync
friend

Definition at line 79 of file VisBufferAsyncWrapper2.h.

Member Data Documentation

VisBuffer2* casa::vi::VisBufferWrapperAsync2::wrappedVb_p
private

Definition at line 444 of file VisBufferAsyncWrapper2.h.

VisibilityIterator2* casa::vi::VisBufferWrapperAsync2::wrappedVisIterAsync_p
private

Definition at line 445 of file VisBufferAsyncWrapper2.h.


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