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

VisBuffer2s encapsulate one chunk of visibility data for processing. More...

#include <VisBuffer2.h>

Inheritance diagram for casa::vi::VisBuffer2:
casa::DummyBufferImpl casa::vi::VisBufferImpl2 casa::vi::VisBufferWrapperAsync2 casa::CTBuffer casa::MSTransformBufferImpl casa::vi::VisBufferImplAsync2

Public Types

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

 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 copy (const VisBuffer2 &other, casacore::Bool fetchIfNeeded)=0
 
More...
 
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 VisibilityIterator2getVi () const
 For attached VBs this returns the VI the VB is attached to. More...
 
virtual const
casacore::MeasurementSet
ms () const
 
virtual const vi::SubtableColumnssubtableColumns () const
 
virtual casacore::Bool existsColumn (VisBufferComponent2 id) const =0
 
virtual casacore::Bool isAttached () const =0
 
virtual casacore::Bool isFillable () const =0
 
virtual void writeChangesBack ()=0
 
More...
 
virtual void initWeightSpectrum (const casacore::Cube< casacore::Float > &wtspec)=0
 
virtual void initSigmaSpectrum (const casacore::Cube< casacore::Float > &sigspec)=0
 
virtual void dirtyComponentsAdd (const VisBufferComponents2 &additionalDirtyComponents)=0
 
virtual void dirtyComponentsAdd (VisBufferComponent2 component)=0
 
virtual void dirtyComponentsClear ()=0
 
virtual VisBufferComponents2 dirtyComponentsGet () const =0
 
virtual void dirtyComponentsSet (const VisBufferComponents2 &dirtyComponents)=0
 
virtual void dirtyComponentsSet (VisBufferComponent2 component)=0
 
virtual const casacore::Matrix
< casacore::Float > & 
imagingWeight () const =0
 This method returns the imagin g If an imaging weight generator has not been supplied to the associated VisibilityIterator then this method will throw an exception. More...
 
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::Double getFrequency (casacore::Int rowInBuffer, casacore::Int frequencyIndex, casacore::Int frame=FrameNotSpecified) const =0
 
virtual const casacore::Vector
< casacore::Double > & 
getFrequencies (casacore::Int rowInBuffer, casacore::Int frame=FrameNotSpecified) const =0
 
virtual casacore::Int getChannelNumber (casacore::Int rowInBuffer, casacore::Int frequencyIndex) const =0
 
virtual const casacore::Vector
< casacore::Int > & 
getChannelNumbers (casacore::Int rowInBuffer) const =0
 
virtual casacore::Vector
< casacore::Int
getChannelNumbersSelected (casacore::Int outputChannelIndex) const =0
 
virtual void normalize ()=0
 casacore::Sort/unsort the correlations, if necessary (Rudimentary handling of non-canonically sorted correlations–use with care!) More...
 
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...
 
virtual void resetWeightsUsingSigma ()=0
 Set the weight cube using the sigma cube. More...
 
virtual casacore::Bool isNewArrayId () const =0
 
More...
 
virtual casacore::Bool isNewFieldId () const =0
 
virtual casacore::Bool isNewMs () const =0
 
virtual casacore::Bool isNewSpectralWindow () const =0
 
virtual casacore::Bool isWritable () const =0
 
virtual casacore::Int msId () const =0
 
virtual casacore::String msName (casacore::Bool stripPath=false) const =0
 
virtual Subchunk getSubchunk () const =0
 
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 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::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::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::Float > & 
sigmaSpectrum () const =0
 
virtual void setSigmaSpectrum (const casacore::Cube< casacore::Float > &value)=0
 
virtual const casacore::Cube
< casacore::Complex > & 
visCube () const =0
 

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

 
virtual void setVisCube (const casacore::Complex &c)=0
 
virtual void setVisCube (const casacore::Cube< casacore::Complex > &)=0
 
virtual const casacore::Cube
< casacore::Complex > & 
visCubeCorrected () const =0
 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 > &)=0
 
virtual const casacore::Cube
< casacore::Float > & 
visCubeFloat () const =0
 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 > &)=0
 
virtual const casacore::Cube
< casacore::Complex > & 
visCubeModel () const =0
 
virtual void setVisCubeModel (const casacore::Complex &c)=0
 
virtual void setVisCubeModel (const casacore::Cube< casacore::Complex > &vis)=0
 
virtual void setVisCubeModel (const casacore::Vector< casacore::Float > &stokes)=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::MDirection azel0 (casacore::Double time) const =0
 
More...
 
virtual const casacore::Vector
< casacore::MDirection > & 
azel (casacore::Double time) const =0
 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 =0
 Returns the Jones C matrix for each antenna. More...
 
virtual const casacore::Vector
< casacore::Int > & 
correlationTypes () const =0
 Returns the correlation type of each correlation in the VisCube. More...
 
virtual const casacore::Vector
< casacore::Float > & 
feedPa (casacore::Double time) const =0
 Calculates the parallactic angle for the first receptor of each antenna at the specified time. More...
 
virtual const casacore::Vector
< casacore::Float > & 
feedPa1 () const =0
 Calculates the parallactic angle for feed 0 of the row's Antenna1. More...
 
virtual const casacore::Vector
< casacore::Float > & 
feedPa2 () const =0
 Calculates the parallactic angle for feed 0 of the row's Antenna2. More...
 
virtual casacore::IPosition getShape () const =0
 
virtual casacore::Double hourang (casacore::Double time) const =0
 Returns the hour angle of the array at the specified time. More...
 
virtual casacore::Int nAntennas () const =0
 
virtual casacore::Int nChannels () const =0
 
virtual casacore::Int nCorrelations () const =0
 Returns the number of correlations along the visCube correlation axis. More...
 
virtual casacore::Int nRows () const =0
 Returns the number of rows in this VisBuffer. More...
 
virtual casacore::Float parang0 (casacore::Double time) const =0
 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 =0
 Calculates the parallactic angle of each antenna in the array at the specified time. More...
 
virtual const
casacore::MDirection
phaseCenter () const =0
 Returns the phase center of the array for the specified row. More...
 
virtual casacore::Int polarizationFrame () const =0
 Returns the polarization frame for the specified row. More...
 
virtual casacore::Int polarizationId () const =0
 
virtual const casacore::Vector
< casacore::uInt > & 
rowIds () const =0
 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] = 0;. More...
 
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
 

Static Public Member Functions

static VisBuffer2factory (VisBufferOptions vbOptions=VbNoOptions)
 

Protected Member Functions

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

const VisibilityIterator2associatedVi_p
 

Friends

class ViImplementation2
 
class VisibilityIteratorImpl2
 
class FinalTvi2
 
class TransformingVi2
 
class SimpleSimVi2
 

Detailed Description

VisBuffer2s encapsulate one chunk of visibility data for processing.

Intended use:

Public interface

Prerequisite

Etymology

VisBuffer2 is a buffer for visibility data

Synopsis

The VisBuffer is designed to contain a small amount of visibility-related data. The VisBuffer can be used in two somewhat distinct ways. The first is as an integral (or attached) part of the VisibilityIterator and the second is as a free or unattached object.

Attached VisBuffer – Each VisibilityIterator has a exactly one VisBuffer attached to it. This VisBuffer is created and destroyed by the VisibilityIterator. The role of an attached VB is to contain the data currently "pointed to" by the VI. Because of this tight coupling between an attached VI and its VB the operations that can be applied to a VisBuffer are somewhat restricted in order to maintain the relationship between the casacore::MeasurementSet's data and the data i the VisBuffer (failure to do so allows obscure bugs to be created). As such the functions for averaging in either the time or frequency axes is not permitted on an attached VB.

Free VisBuffer – A free VisBuffer is used to contain data that might not correspond to the data in the MeasurementSet. The meaning of the data in a free VisBuffer will depend on the user. Some obvious examples might be: a VisBuffer used to resample or average frequencies together; creation of "virtual" spectral windows which might reconnect frequencies that were split into separate spectral windows becasue of hardware limitation; and performing a time average of visibility data. Because the free VB is not tightly coupled to a VI, it is the responsibility of the user to assign meaningful values to some of the fields in the VB. For example, the user averaging across time will need to decide what values ought to be reported for the VisBuffer's timestamp, pointing angle, etc.

Another possible attribute of a VisBuffer is "rekeyable". This is for when the VisBuffer is being filled by client code rather than from an input MS. Because of this, the enforcement of VisBuffer invariants is relaxed. Users will be able to change row key fields (e.g., antenna1, data description id, etc.) as well as change the shape of the data. The method validateShapes is provided which will check that all modified shapes are consistent. This method is automatically called by writeChangesBack and should also be called whenever the construction process is complete and the VisBuffer is about to be released for use; it's better to catch the error rather than letting an inconsistent VisBuffer escape into consuming code.

Definition at line 141 of file VisBuffer2.h.

Member Typedef Documentation

using casa::vi::VisBuffer2::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 384 of file VisBuffer2.h.

Member Enumeration Documentation

anonymous enum
Enumerator
FrameNotSpecified 

Definition at line 155 of file VisBuffer2.h.

Constructor & Destructor Documentation

casa::vi::VisBuffer2::VisBuffer2 ( const VisBuffer2 )
delete

make noncopyable...

casa::vi::VisBuffer2::VisBuffer2 ( )
inline

Definition at line 157 of file VisBuffer2.h.

virtual casa::vi::VisBuffer2::~VisBuffer2 ( )
inlinevirtual

Used by framework.

Destructor (detaches from VisIter)

Definition at line 165 of file VisBuffer2.h.

Member Function Documentation

virtual const casacore::Vector<casacore::Int>& casa::vi::VisBuffer2::antenna2 ( ) const
pure virtual
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBuffer2::arrayId ( ) const
pure virtual
virtual void casa::vi::VisBuffer2::associateWithVi2 ( const VisibilityIterator2 )
protectedvirtual
virtual const casacore::Vector<casacore::MDirection>& casa::vi::VisBuffer2::azel ( casacore::Double  time) const
pure virtual

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

Implemented in casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.

virtual casacore::MDirection casa::vi::VisBuffer2::azel0 ( casacore::Double  time) const
pure 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.

Implemented in casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.

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

Returns the Jones C matrix for each antenna.

Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.

virtual void casa::vi::VisBuffer2::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 
)
protectedpure virtual

Implemented in casa::vi::VisBufferImpl2.

virtual void casa::vi::VisBuffer2::copy ( const VisBuffer2 other,
casacore::Bool  fetchIfNeeded 
)
pure 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.

Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.

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

Copies the specified components (or just the ones in the cache if fetchIfNeeded is false) from the specified VisBuffer into this one.

If this VB is not empty it will must have the same shape as the other VB unless allowShapeChange is true; in that case this VB will change changes to match the other VB flushing the cached data.

Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.

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

Copies the coordinate components (or just the ones in the cache if fetchIfNeeded is false) from the specified VisBuffer into this one.

If this VB is not empty it will must have the same shape as the other VB unless allowShapeChange is true; in that case this VB will change changes to match the other VB flushing the cached data. The basic coordinate components are: Antenna1, Antenna2, ArrayId, DataDescriptionIds, FieldId, SpectralWindows, casacore::Time, NRows, Feed1, Feed2 The directional coordinates (copied if includeDirections is true): Direction1, Direction2, FeedPa1, FeedPa2

Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.

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

Returns the correlation type of each correlation in the VisCube.

Implemented in casa::CTBuffer, casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.

Referenced by casa::refim::ATerm::makePBPolnCoords().

virtual const casacore::Vector<casacore::Int>& casa::vi::VisBuffer2::dataDescriptionIds ( ) const
pure virtual
virtual const casacore::Vector<casacore::MDirection>& casa::vi::VisBuffer2::direction1 ( ) const
pure virtual
virtual const casacore::Vector<casacore::MDirection>& casa::vi::VisBuffer2::direction2 ( ) const
pure virtual
virtual void casa::vi::VisBuffer2::dirtyComponentsAdd ( const VisBufferComponents2 additionalDirtyComponents)
pure virtual
virtual void casa::vi::VisBuffer2::dirtyComponentsAdd ( VisBufferComponent2  component)
pure virtual
virtual void casa::vi::VisBuffer2::dirtyComponentsClear ( )
pure virtual
virtual VisBufferComponents2 casa::vi::VisBuffer2::dirtyComponentsGet ( ) const
pure virtual
virtual void casa::vi::VisBuffer2::dirtyComponentsSet ( const VisBufferComponents2 dirtyComponents)
pure virtual
virtual void casa::vi::VisBuffer2::dirtyComponentsSet ( VisBufferComponent2  component)
pure virtual
virtual casacore::Bool casa::vi::VisBuffer2::existsColumn ( VisBufferComponent2  id) const
pure virtual
virtual const casacore::Vector<casacore::Double>& casa::vi::VisBuffer2::exposure ( ) const
pure virtual
static VisBuffer2* casa::vi::VisBuffer2::factory ( VisBufferOptions  vbOptions = VbNoOptions)
static
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBuffer2::feed1 ( ) const
pure virtual
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBuffer2::feed2 ( ) const
pure virtual
virtual const casacore::Vector<casacore::Float>& casa::vi::VisBuffer2::feedPa ( casacore::Double  time) const
pure virtual

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

Implemented in casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.

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

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

Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.

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

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

Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.

virtual const casacore::Vector<casacore::Int>& casa::vi::VisBuffer2::fieldId ( ) const
pure virtual
virtual const casacore::Array<casacore::Bool>& casa::vi::VisBuffer2::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]

Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.

virtual const casacore::Cube<casacore::Bool>& casa::vi::VisBuffer2::flagCube ( ) const
pure virtual
virtual casacore::Cube<casacore::Bool>& casa::vi::VisBuffer2::flagCubeRef ( )
protectedpure virtual
virtual const casacore::Vector<casacore::Bool>& casa::vi::VisBuffer2::flagRow ( ) const
pure virtual
virtual casacore::Vector<casacore::Bool>& casa::vi::VisBuffer2::flagRowRef ( )
protectedpure virtual
virtual casacore::Int casa::vi::VisBuffer2::getChannelNumber ( casacore::Int  rowInBuffer,
casacore::Int  frequencyIndex 
) const
pure virtual
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBuffer2::getChannelNumbers ( casacore::Int  rowInBuffer) const
pure virtual
virtual casacore::Vector<casacore::Int> casa::vi::VisBuffer2::getChannelNumbersSelected ( casacore::Int  outputChannelIndex) const
pure virtual
virtual casacore::Vector<casacore::Int> casa::vi::VisBuffer2::getCorrelationTypes ( ) const
pure virtual
virtual casacore::Vector<casacore::Stokes::StokesTypes> casa::vi::VisBuffer2::getCorrelationTypesDefined ( ) const
pure 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 = 0; if the user has specified a reporting frame to the virtual VI then that frame will be used = 0; 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.

Implemented in casa::CTBuffer, casa::MSTransformBufferImpl, and casa::vi::VisBufferImpl2.

virtual casacore::Vector<casacore::Stokes::StokesTypes> casa::vi::VisBuffer2::getCorrelationTypesSelected ( ) const
pure virtual
virtual const casacore::Vector<casacore::Double>& casa::vi::VisBuffer2::getFrequencies ( casacore::Int  rowInBuffer,
casacore::Int  frame = FrameNotSpecified 
) const
pure virtual
virtual casacore::Double casa::vi::VisBuffer2::getFrequency ( casacore::Int  rowInBuffer,
casacore::Int  frequencyIndex,
casacore::Int  frame = FrameNotSpecified 
) const
pure virtual
virtual ms::MsRow* casa::vi::VisBuffer2::getRow ( casacore::Int  row) const
virtual

Reimplemented in casa::vi::VisBufferImpl2.

virtual ms::MsRow* casa::vi::VisBuffer2::getRowMutable ( casacore::Int  row)
virtual

Reimplemented in casa::vi::VisBufferImpl2.

virtual casacore::IPosition casa::vi::VisBuffer2::getShape ( ) const
pure virtual
virtual casacore::Float casa::vi::VisBuffer2::getSigmaScaled ( casacore::Int  row) const
pure virtual
virtual casacore::Float casa::vi::VisBuffer2::getSigmaScaled ( casacore::Int  correlation,
casacore::Int  row 
) const
pure virtual
virtual casacore::Float casa::vi::VisBuffer2::getSigmaScaled ( casacore::Int  correlation,
casacore::Int  channel,
casacore::Int  row 
) const
pure virtual
virtual Subchunk casa::vi::VisBuffer2::getSubchunk ( ) const
pure virtual
virtual const VisibilityIterator2* casa::vi::VisBuffer2::getVi ( ) const
virtual

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

For free VBs this method returns false. N.B.: Use of this method is deprecated.

Reimplemented in casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.

virtual casacore::Float casa::vi::VisBuffer2::getWeightScaled ( casacore::Int  row) const
pure virtual

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

Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.

virtual casacore::Float casa::vi::VisBuffer2::getWeightScaled ( casacore::Int  correlation,
casacore::Int  row 
) const
pure virtual
virtual casacore::Float casa::vi::VisBuffer2::getWeightScaled ( casacore::Int  correlation,
casacore::Int  channel,
casacore::Int  row 
) const
pure virtual
virtual casacore::CountedPtr<WeightScaling> casa::vi::VisBuffer2::getWeightScaling ( ) const
pure virtual
virtual casacore::Double casa::vi::VisBuffer2::hourang ( casacore::Double  time) const
pure virtual

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

Implemented in casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.

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

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

Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.

virtual void casa::vi::VisBuffer2::initSigmaSpectrum ( const casacore::Cube< casacore::Float > &  sigspec)
pure virtual
virtual void casa::vi::VisBuffer2::initWeightSpectrum ( const casacore::Cube< casacore::Float > &  wtspec)
pure virtual
virtual void casa::vi::VisBuffer2::invalidate ( )
protectedpure virtual
virtual casacore::Bool casa::vi::VisBuffer2::isAttached ( ) const
pure virtual
virtual casacore::Bool casa::vi::VisBuffer2::isFillable ( ) const
pure virtual
virtual casacore::Bool casa::vi::VisBuffer2::isNewArrayId ( ) const
pure 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.

Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.

virtual casacore::Bool casa::vi::VisBuffer2::isNewFieldId ( ) const
pure virtual
virtual casacore::Bool casa::vi::VisBuffer2::isNewMs ( ) const
pure virtual
virtual casacore::Bool casa::vi::VisBuffer2::isNewSpectralWindow ( ) const
pure virtual
virtual casacore::Bool casa::vi::VisBuffer2::isRekeyable ( ) const
protectedpure virtual
virtual casacore::Bool casa::vi::VisBuffer2::isWritable ( ) const
pure virtual
virtual const casacore::MeasurementSet& casa::vi::VisBuffer2::ms ( ) const
inlinevirtual

Reimplemented in casa::vi::VisBufferImpl2.

Definition at line 220 of file VisBuffer2.h.

References ThrowCc.

virtual casacore::Int casa::vi::VisBuffer2::msId ( ) const
pure virtual
virtual casacore::String casa::vi::VisBuffer2::msName ( casacore::Bool  stripPath = false) const
pure virtual
virtual casacore::Int casa::vi::VisBuffer2::nAntennas ( ) const
pure virtual
virtual casacore::Int casa::vi::VisBuffer2::nChannels ( ) const
pure virtual
virtual casacore::Int casa::vi::VisBuffer2::nCorrelations ( ) const
pure virtual

Returns the number of correlations along the visCube correlation axis.

This comes from the "channel" selection and thus can be anything positive integer (e.g., user could select the same correlation more than once).

Implemented in casa::vi::VisBufferWrapperAsync2, casa::CTBuffer, casa::vi::VisBufferImpl2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.

Referenced by casa::vi::VisBuffer2Adapter::nCorr(), and casa::SolveDataBuffer::nCorrelations().

virtual void casa::vi::VisBuffer2::normalize ( )
pure 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 () = 0; virtual void unSortCorr() = 0;

Normalize the visCube by the modelVisCube.

Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.

virtual casacore::Int casa::vi::VisBuffer2::nRows ( ) const
pure virtual
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBuffer2::observationId ( ) const
pure virtual
VisBuffer2& casa::vi::VisBuffer2::operator= ( const VisBuffer2 )
delete
virtual const casacore::Vector<casacore::Float>& casa::vi::VisBuffer2::parang ( casacore::Double  time) const
pure virtual

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

Implemented in casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.

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

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

Implemented in casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.

virtual const casacore::MDirection& casa::vi::VisBuffer2::phaseCenter ( ) const
pure virtual

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

Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.

virtual void casa::vi::VisBuffer2::phaseCenterShift ( const casacore::Vector< casacore::Double > &  phase)
pure virtual

Rotate visibility phase for given vector (dim = nrow of vb) of phases (metres)

Implemented in casa::MSTransformBufferImpl, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.

virtual void casa::vi::VisBuffer2::phaseCenterShift ( casacore::Double  dx,
casacore::Double  dy 
)
pure virtual

Rotate visibility phase for phase center offsets (arcsecs)

Implemented in casa::MSTransformBufferImpl, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.

virtual casacore::Int casa::vi::VisBuffer2::polarizationFrame ( ) const
pure virtual

Returns the polarization frame for the specified row.

Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.

virtual casacore::Int casa::vi::VisBuffer2::polarizationId ( ) const
pure virtual
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBuffer2::processorId ( ) const
pure virtual
virtual void casa::vi::VisBuffer2::resetWeightsUsingSigma ( )
pure 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.

Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.

virtual const casacore::Vector<casacore::uInt>& casa::vi::VisBuffer2::rowIds ( ) const
pure 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] = 0;.

Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.

virtual const casacore::Vector<casacore::Int>& casa::vi::VisBuffer2::scan ( ) const
pure virtual
virtual void casa::vi::VisBuffer2::setAntenna1 ( const casacore::Vector< casacore::Int > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setAntenna2 ( const casacore::Vector< casacore::Int > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setArrayId ( const casacore::Vector< casacore::Int > &  )
pure virtual
virtual void casa::vi::VisBuffer2::setDataDescriptionIds ( const casacore::Vector< casacore::Int > &  )
pure virtual
virtual void casa::vi::VisBuffer2::setExposure ( const casacore::Vector< casacore::Double > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setFeed1 ( const casacore::Vector< casacore::Int > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setFeed2 ( const casacore::Vector< casacore::Int > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setFieldId ( const casacore::Vector< casacore::Int > &  )
pure virtual
virtual void casa::vi::VisBuffer2::setFillable ( casacore::Bool  isFillable)
protectedpure virtual
virtual void casa::vi::VisBuffer2::setFlagCategory ( const casacore::Array< casacore::Bool > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setFlagCube ( const casacore::Cube< casacore::Bool > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setFlagRow ( const casacore::Vector< casacore::Bool > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setImagingWeight ( const casacore::Matrix< casacore::Float > &  newImagingWeights)
pure virtual
virtual void casa::vi::VisBuffer2::setObservationId ( const casacore::Vector< casacore::Int > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setProcessorId ( const casacore::Vector< casacore::Int > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setRekeyable ( casacore::Bool  isRekeable)
protectedpure virtual
virtual void casa::vi::VisBuffer2::setScan ( const casacore::Vector< casacore::Int > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setShape ( casacore::Int  nCorrelations,
casacore::Int  nChannels,
casacore::Int  nRows,
casacore::Bool  clearCache = false 
)
pure virtual
virtual void casa::vi::VisBuffer2::setSigma ( const casacore::Matrix< casacore::Float > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setSigmaSpectrum ( const casacore::Cube< casacore::Float > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setSpectralWindows ( const casacore::Vector< casacore::Int > &  spectralWindows)
pure virtual
virtual void casa::vi::VisBuffer2::setStateId ( const casacore::Vector< casacore::Int > &  value)
pure virtual
casacore::Data accessors and casa::vi::VisBuffer2::setters ( where  appropriate)
virtual void casa::vi::VisBuffer2::setTime ( const casacore::Vector< casacore::Double > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setTimeCentroid ( const casacore::Vector< casacore::Double > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setTimeInterval ( const casacore::Vector< casacore::Double > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setUvw ( const casacore::Matrix< casacore::Double > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setVisCube ( const casacore::Complex &  c)
pure virtual
virtual void casa::vi::VisBuffer2::setVisCube ( const casacore::Cube< casacore::Complex > &  )
pure virtual
virtual void casa::vi::VisBuffer2::setVisCubeCorrected ( const casacore::Cube< casacore::Complex > &  )
pure virtual
virtual void casa::vi::VisBuffer2::setVisCubeFloat ( const casacore::Cube< casacore::Float > &  )
pure virtual
virtual void casa::vi::VisBuffer2::setVisCubeModel ( const casacore::Complex &  c)
pure virtual
virtual void casa::vi::VisBuffer2::setVisCubeModel ( const casacore::Cube< casacore::Complex > &  vis)
pure virtual
virtual void casa::vi::VisBuffer2::setVisCubeModel ( const casacore::Vector< casacore::Float > &  stokes)
pure virtual
virtual void casa::vi::VisBuffer2::setWeight ( const casacore::Matrix< casacore::Float > &  value)
pure virtual
virtual void casa::vi::VisBuffer2::setWeightSpectrum ( const casacore::Cube< casacore::Float > &  value)
pure virtual
virtual bool casa::vi::VisBuffer2::setWritability ( bool  )
inlineprotectedvirtual

Reimplemented in casa::vi::VisBufferImpl2.

Definition at line 584 of file VisBuffer2.h.

References ThrowCc.

virtual const casacore::Matrix<casacore::Float>& casa::vi::VisBuffer2::sigma ( ) const
pure virtual
virtual const casacore::Cube<casacore::Float>& casa::vi::VisBuffer2::sigmaSpectrum ( ) const
pure virtual
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBuffer2::spectralWindows ( ) const
pure virtual

Returns the spectral window ID for the specified row.

virtual casacore::Int spectralWindow () const = 0;

Implemented in casa::CTBuffer, casa::vi::VisBufferImpl2, casa::DummyBufferImpl, and casa::MSTransformBufferImpl.

Referenced by casa::SolveDataBuffer::spectralWindow(), and casa::vi::VisBuffer2Adapter::spectralWindow().

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

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

Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.

Referenced by casa::Vi2DataProvider< DataIterator, MaskIterator, WeightsIterator >::mkColumnValues().

virtual const vi::SubtableColumns& casa::vi::VisBuffer2::subtableColumns ( ) const
inlinevirtual

Reimplemented in casa::vi::VisBufferImpl2.

Definition at line 221 of file VisBuffer2.h.

References ThrowCc.

virtual const casacore::Vector<casacore::Double>& casa::vi::VisBuffer2::time ( ) const
pure virtual
virtual const casacore::Vector<casacore::Double>& casa::vi::VisBuffer2::timeCentroid ( ) const
pure virtual
virtual const casacore::Vector<casacore::Double>& casa::vi::VisBuffer2::timeInterval ( ) const
pure virtual
virtual const casacore::Matrix<casacore::Double>& casa::vi::VisBuffer2::uvw ( ) const
pure virtual
virtual void casa::vi::VisBuffer2::validateShapes ( ) const
pure virtual
virtual const casacore::Cube<casacore::Complex>& casa::vi::VisBuffer2::visCube ( ) const
pure virtual


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

Implemented in casa::CTBuffer, casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.

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

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

Implemented in casa::CTBuffer, casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.

Referenced by casa::SolveDataBuffer::visCubeCorrected().

virtual casacore::Cube<casacore::Complex>& casa::vi::VisBuffer2::visCubeCorrectedRef ( )
protectedpure virtual
virtual const casacore::Cube<casacore::Float>& casa::vi::VisBuffer2::visCubeFloat ( ) const
pure virtual

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

Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.

virtual const casacore::Cube<casacore::Complex>& casa::vi::VisBuffer2::visCubeModel ( ) const
pure virtual
virtual casacore::Cube<casacore::Complex>& casa::vi::VisBuffer2::visCubeModelRef ( )
protectedpure virtual
virtual casacore::Cube<casacore::Complex>& casa::vi::VisBuffer2::visCubeRef ( )
protectedpure virtual
virtual const casacore::Matrix<casacore::Float>& casa::vi::VisBuffer2::weight ( ) const
pure virtual
virtual const casacore::Cube<casacore::Float>& casa::vi::VisBuffer2::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]

Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.

Referenced by casa::SolveDataBuffer::weightSpectrum().

virtual casacore::Cube<casacore::Float>& casa::vi::VisBuffer2::weightSpectrumRef ( )
protectedpure virtual
virtual void casa::vi::VisBuffer2::writeChangesBack ( )
pure 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.

Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.

Friends And Related Function Documentation

friend class FinalTvi2
friend

Definition at line 145 of file VisBuffer2.h.

friend class SimpleSimVi2
friend

Definition at line 147 of file VisBuffer2.h.

friend class TransformingVi2
friend

Definition at line 146 of file VisBuffer2.h.

friend class ViImplementation2
friend

Definition at line 143 of file VisBuffer2.h.

friend class VisibilityIteratorImpl2
friend

Definition at line 144 of file VisBuffer2.h.

Member Data Documentation

const VisibilityIterator2* casa::vi::VisBuffer2::associatedVi_p
private

Definition at line 595 of file VisBuffer2.h.


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