casa
$Rev:20696$
|
VisBuffer2s encapsulate one chunk of visibility data for processing. More...
#include <VisBuffer2.h>
Public Types | |
enum | { FrameNotSpecified } |
Public Member Functions | |
VisBuffer2 () | |
virtual | ~VisBuffer2 () |
Destructor (detaches from VisIter) | |
virtual void | copy (const VisBuffer2 &other, Bool fetchIfNeeded)=0 |
virtual void | copyComponents (const VisBuffer2 &other, const VisBufferComponents2 &components, Bool fetchIfNeeded=True)=0 |
Copies the specified components (or just the one in the cache) from the specified VisBuffer into this one. | |
virtual void | copyCoordinateInfo (const VisBuffer2 *other, Bool includeDirections, Bool fetchIfNeeded=True)=0 |
Copies the coordinate components from the specified VisBuffer into this one. | |
virtual void | setShape (Int nCorrelations, Int nChannels, Int nRows, Bool copyValues=False)=0 |
virtual void | validateShapes () const =0 |
virtual const VisibilityIterator2 * | getVi () const =0 |
For attached VBs this returns the VI the VB is attached to. | |
virtual Bool | isAttached () const =0 |
virtual Bool | isFillable () const =0 |
virtual void | writeChangesBack ()=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 Matrix< Float > & | imagingWeight () const =0 |
This method returns the imaging weights associated with the VisBuffer. | |
virtual Vector< Int > | getCorrelationNumbers () const =0 |
virtual Double | getFrequency (Int rowInBuffer, Int frequencyIndex, Int frame=FrameNotSpecified) const =0 |
virtual const Vector< Double > & | getFrequencies (Int rowInBuffer, Int frame=FrameNotSpecified) const =0 |
virtual Int | getChannelNumber (Int rowInBuffer, Int frequencyIndex) const =0 |
virtual const Vector< Int > & | getChannelNumbers (Int rowInBuffer) const =0 |
virtual void | normalize ()=0 |
Sort/unsort the correlations, if necessary (Rudimentary handling of non-canonically sorted correlations--use with care!) | |
virtual void | resetWeightsUsingSigma ()=0 |
Set the weight cube using the sigma cube. | |
virtual Bool | isNewArrayId () const =0 |
virtual Bool | isNewFieldId () const =0 |
virtual Bool | isNewMs () const =0 |
virtual Bool | isNewSpectralWindow () const =0 |
virtual Bool | isWritable () const =0 |
virtual Int | msId () const =0 |
virtual String | msName (Bool stripPath=False) const =0 |
virtual Subchunk | getSubchunk () const =0 |
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 Vector< Int > &value)=0 |
virtual const Vector< Int > & | antenna2 () const =0 |
virtual void | setAntenna2 (const Vector< Int > &value)=0 |
virtual const Vector< Int > & | arrayId () const =0 |
virtual void | setArrayId (const Vector< Int > &)=0 |
virtual const Vector< Int > & | dataDescriptionIds () const =0 |
virtual Int dataDescriptionId () const = 0; virtual void setDataDescriptionId (Int value) = 0; | |
virtual void | setDataDescriptionIds (const Vector< Int > &)=0 |
virtual const Vector < MDirection > & | direction1 () const =0 |
virtual const Vector < MDirection > & | direction2 () const =0 |
virtual const Vector< Double > & | exposure () const =0 |
virtual void | setExposure (const Vector< Double > &value)=0 |
virtual const Vector< Int > & | feed1 () const =0 |
virtual void | setFeed1 (const Vector< Int > &value)=0 |
virtual const Vector< Int > & | feed2 () const =0 |
virtual void | setFeed2 (const Vector< Int > &value)=0 |
virtual const Vector< Int > & | fieldId () const =0 |
virtual void | setFieldId (const Vector< Int > &)=0 |
virtual const Matrix< Bool > & | flag () const =0 |
virtual void | setFlag (const Matrix< Bool > &value)=0 |
virtual const Array< Bool > & | flagCategory () const =0 |
virtual void | setFlagCategory (const Array< Bool > &value)=0 |
virtual const Cube< Bool > & | flagCube () const =0 |
virtual void | setFlagCube (const Cube< Bool > &value)=0 |
virtual const Vector< Bool > & | flagRow () const =0 |
virtual void | setFlagRow (const Vector< Bool > &value)=0 |
virtual const Vector< Int > & | observationId () const =0 |
virtual void | setObservationId (const Vector< Int > &value)=0 |
virtual const Vector< Int > & | processorId () const =0 |
virtual void | setProcessorId (const Vector< Int > &value)=0 |
virtual const Vector< Int > & | scan () const =0 |
virtual void | setScan (const Vector< Int > &value)=0 |
virtual const Matrix< Float > & | sigma () const =0 |
virtual void | setSigma (const Matrix< Float > &value)=0 |
virtual const Vector< Int > & | stateId () const =0 |
virtual const Matrix<Float> & sigmaMat () const = 0; // [nC,nR] | |
virtual void | setStateId (const Vector< Int > &value)=0 |
virtual const Vector< Double > & | time () const =0 |
virtual void | setTime (const Vector< Double > &value)=0 |
virtual const Vector< Double > & | timeCentroid () const =0 |
virtual void | setTimeCentroid (const Vector< Double > &value)=0 |
virtual const Vector< Double > & | timeInterval () const =0 |
virtual void | setTimeInterval (const Vector< Double > &value)=0 |
virtual const Matrix< Double > & | uvw () const =0 |
virtual void | setUvw (const Matrix< Double > &value)=0 |
virtual const Matrix< Float > & | weight () const =0 |
virtual void | setWeight (const Matrix< Float > &value)=0 |
virtual const Cube< Float > & | weightSpectrum () const =0 |
virtual const Matrix<Float> & weightMat () const = 0; // [nC,nR] virtual void setWeightMat (const Matrix<Float>& value) = 0; // [nC,nR] | |
virtual void | setWeightSpectrum (const Cube< Float > &value)=0 |
virtual const Cube< Complex > & | visCube () const =0 |
Visibility data accessors in order of observed, corrected, float, & model | |
virtual void | setVisCube (const Complex &c)=0 |
virtual void | setVisCube (const Cube< Complex > &)=0 |
virtual const Cube< Complex > & | visCubeCorrected () const =0 |
virtual const Matrix<CStokesVector> & vis () const = 0; // [nF,nR] virtual void setVis (Matrix<CStokesVector> &) = 0; // [nF,nR] | |
virtual void | setVisCubeCorrected (const Cube< Complex > &)=0 |
virtual const Cube< Float > & | visCubeFloat () const =0 |
virtual const Matrix<CStokesVector> & visCorrected () const = 0; // [nF,nR] virtual void setVisCorrected (const Matrix<CStokesVector> &) = 0; // [nF,nR] | |
virtual void | setVisCubeFloat (const Cube< Float > &)=0 |
virtual const Cube< Complex > & | visCubeModel () const =0 |
virtual void | setVisCubeModel (const Complex &c)=0 |
virtual void | setVisCubeModel (const Cube< Complex > &vis)=0 |
virtual MDirection | azel0 (Double time) const =0 |
virtual void setVisCubeModel(const Vector<Float>& stokes) = 0; // [1..4] virtual const Matrix<CStokesVector> & visModel () const = 0; // [nF,nR] virtual void setVisModel (Matrix<CStokesVector> &) = 0; // [nF,nR] | |
virtual const Vector < MDirection > & | azel (Double time) const =0 |
Returns the pointing angle for each antenna in the array at the specified time. | |
virtual const Vector < SquareMatrix< Complex, 2 > > & | cjones () const =0 |
Returns the Jones C matrix for each antenna. | |
virtual const Vector< Int > & | correlationTypes () const =0 |
Returns the correlation type of each correlation in the VisCube. | |
virtual const Vector< Float > & | feedPa (Double time) const =0 |
Calculates the parallactic angle for the first receptor of each antenna at the specified time. | |
virtual const Vector< Float > & | feedPa1 () const =0 |
Calculates the parallactic angle for feed 0 of the row's Antenna1. | |
virtual const Vector< Float > & | feedPa2 () const =0 |
Calculates the parallactic angle for feed 0 of the row's Antenna2. | |
virtual Double | hourang (Double time) const =0 |
Returns the hour angle of the array at the specified time. | |
virtual Int | nAntennas () const =0 |
virtual Int | nChannels () const =0 |
virtual Int | nCorrelations () const =0 |
Returns the number of correlations along the visCube correlation axis. | |
virtual Int | nRows () const =0 |
Returns the number of rows in this VisBuffer. | |
virtual Float | parang0 (Double time) const =0 |
Calculates the parallactic angle of the array as a whole at the specified time. | |
virtual const Vector< Float > & | parang (Double time) const =0 |
Calculates the parallactic angle of each antenna in the array at the specified time. | |
virtual const MDirection & | phaseCenter () const =0 |
Returns the phase center of the array for the specified row. | |
virtual Int | polarizationFrame () const =0 |
Returns the polarization frame for the specified row. | |
virtual Int | polarizationId () const =0 |
virtual const Vector< uInt > & | rowIds () const =0 |
The returned Vector serves as a map between the rows in the VisBuffer and the row IDs in the underlying MS main virtual table: mainTableID [i] = rowIds () [ i] = 0;. | |
virtual const Vector< Int > & | spectralWindows () const =0 |
Returns the spectral window ID for the specified row. | |
Static Public Member Functions | |
static VisBuffer2 * | factory (VisBufferType t, VisBufferOptions vbOptions=VbNoOptions) |
static VisBuffer2 * | factory (VisibilityIterator2 *vi, VisBufferType t, VisBufferOptions options) |
virtual void setSpectralWindows (const Vector<Int> & spectralWindows) = 0; | |
Protected Member Functions | |
virtual void | configureNewSubchunk (Int msId, const String &msName, Bool isNewMs, Bool isNewArrayId, Bool isNewFieldId, Bool isNewSpectralWindow, const Subchunk &subchunk, Int nRows, Int nChannels, Int nCorrelations, const Vector< Int > &correlations)=0 |
virtual void | invalidate ()=0 |
virtual Bool | isRekeyable () const =0 |
virtual void | setFillable (Bool isFillable)=0 |
virtual void | setRekeyable (Bool isRekeable)=0 |
virtual Vector< Bool > & | flagRowRef ()=0 |
virtual Cube< Bool > & | flagCubeRef ()=0 |
virtual Cube< Complex > & | visCubeRef ()=0 |
virtual Cube< Complex > & | visCubeCorrectedRef ()=0 |
virtual Cube< Complex > & | visCubeModelRef ()=0 |
virtual Cube< Float > & | weightSpectrumRef ()=0 |
Friends | |
class | VisibilityIteratorImpl2 |
class | FinalTvi2 |
VisBuffer2s encapsulate one chunk of visibility data for processing.
Public interface
VisBuffer2 is a buffer for visibility data
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 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 129 of file VisBuffer2.h.
anonymous enum |
Definition at line 136 of file VisBuffer2.h.
casa::vi::VisBuffer2::VisBuffer2 | ( | ) | [inline] |
Definition at line 138 of file VisBuffer2.h.
virtual casa::vi::VisBuffer2::~VisBuffer2 | ( | ) | [inline, virtual] |
Destructor (detaches from VisIter)
Definition at line 143 of file VisBuffer2.h.
virtual const Vector<Int>& casa::vi::VisBuffer2::antenna2 | ( | ) | const [pure virtual] |
Implemented in casa::CTBuffer, casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<Int>& casa::vi::VisBuffer2::arrayId | ( | ) | const [pure virtual] |
Implemented in casa::CTBuffer, casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<MDirection>& casa::vi::VisBuffer2::azel | ( | 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::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual MDirection casa::vi::VisBuffer2::azel0 | ( | Double | time | ) | const [pure virtual] |
virtual void setVisCubeModel(const Vector<Float>& stokes) = 0; // [1..4] virtual const Matrix<CStokesVector> & visModel () const = 0; // [nF,nR] virtual void setVisModel (Matrix<CStokesVector> &) = 0; // [nF,nR]
Accessors for data derived from the MS main table data
Returns the pointing angle for the array as a whole at the specified time.
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<SquareMatrix<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 | ( | Int | msId, |
const String & | msName, | ||
Bool | isNewMs, | ||
Bool | isNewArrayId, | ||
Bool | isNewFieldId, | ||
Bool | isNewSpectralWindow, | ||
const Subchunk & | subchunk, | ||
Int | nRows, | ||
Int | nChannels, | ||
Int | nCorrelations, | ||
const Vector< Int > & | correlations | ||
) | [protected, pure virtual] |
Implemented in casa::vi::VisBufferImpl2.
virtual void casa::vi::VisBuffer2::copy | ( | const VisBuffer2 & | other, |
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, and casa::vi::VisBufferWrapperAsync2.
virtual void casa::vi::VisBuffer2::copyComponents | ( | const VisBuffer2 & | other, |
const VisBufferComponents2 & | components, | ||
Bool | fetchIfNeeded = True |
||
) | [pure virtual] |
Copies the specified components (or just the one in the cache) from the specified VisBuffer into this one.
Implemented in casa::vi::VisBufferImpl2, and casa::vi::VisBufferWrapperAsync2.
virtual void casa::vi::VisBuffer2::copyCoordinateInfo | ( | const VisBuffer2 * | other, |
Bool | includeDirections, | ||
Bool | fetchIfNeeded = True |
||
) | [pure virtual] |
Copies the coordinate components from the specified VisBuffer into this one.
Depending on includeDirections the direction related ones are copied or not.
Implemented in casa::vi::VisBufferImpl2, and casa::vi::VisBufferWrapperAsync2.
virtual const Vector<Int>& casa::vi::VisBuffer2::correlationTypes | ( | ) | const [pure virtual] |
Returns the correlation type of each correlation in the VisCube.
Implemented in casa::vi::VisBufferWrapperAsync2, casa::CTBuffer, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<Int>& casa::vi::VisBuffer2::dataDescriptionIds | ( | ) | const [pure virtual] |
virtual Int dataDescriptionId () const = 0; virtual void setDataDescriptionId (Int value) = 0;
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<MDirection>& casa::vi::VisBuffer2::direction1 | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<MDirection>& casa::vi::VisBuffer2::direction2 | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::dirtyComponentsAdd | ( | const VisBufferComponents2 & | additionalDirtyComponents | ) | [pure virtual] |
Implemented in casa::vi::VisBufferImpl2, and casa::vi::VisBufferWrapperAsync2.
virtual void casa::vi::VisBuffer2::dirtyComponentsAdd | ( | VisBufferComponent2 | component | ) | [pure virtual] |
Implemented in casa::vi::VisBufferImpl2, and casa::vi::VisBufferWrapperAsync2.
virtual void casa::vi::VisBuffer2::dirtyComponentsClear | ( | ) | [pure virtual] |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
virtual VisBufferComponents2 casa::vi::VisBuffer2::dirtyComponentsGet | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::dirtyComponentsSet | ( | const VisBufferComponents2 & | dirtyComponents | ) | [pure virtual] |
Implemented in casa::vi::VisBufferImpl2, and casa::vi::VisBufferWrapperAsync2.
virtual void casa::vi::VisBuffer2::dirtyComponentsSet | ( | VisBufferComponent2 | component | ) | [pure virtual] |
Implemented in casa::vi::VisBufferImpl2, and casa::vi::VisBufferWrapperAsync2.
virtual const Vector<Double>& casa::vi::VisBuffer2::exposure | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
static VisBuffer2* casa::vi::VisBuffer2::factory | ( | VisBufferType | t, |
VisBufferOptions | vbOptions = VbNoOptions |
||
) | [static] |
static VisBuffer2* casa::vi::VisBuffer2::factory | ( | VisibilityIterator2 * | vi, |
VisBufferType | t, | ||
VisBufferOptions | options | ||
) | [static] |
virtual void setSpectralWindows (const Vector<Int> & spectralWindows) = 0;
virtual const Vector<Int>& casa::vi::VisBuffer2::feed1 | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<Int>& casa::vi::VisBuffer2::feed2 | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<Float>& casa::vi::VisBuffer2::feedPa | ( | 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::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<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 Vector<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 Vector<Int>& casa::vi::VisBuffer2::fieldId | ( | ) | const [pure virtual] |
Implemented in casa::CTBuffer, casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Matrix<Bool>& casa::vi::VisBuffer2::flag | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Array<Bool>& casa::vi::VisBuffer2::flagCategory | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Cube<Bool>& casa::vi::VisBuffer2::flagCube | ( | ) | const [pure virtual] |
Implemented in casa::CTBuffer, casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Cube<Bool>& casa::vi::VisBuffer2::flagCubeRef | ( | ) | [protected, pure virtual] |
Implemented in casa::vi::VisBufferImpl2, and casa::CTBuffer.
virtual const Vector<Bool>& casa::vi::VisBuffer2::flagRow | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Vector<Bool>& casa::vi::VisBuffer2::flagRowRef | ( | ) | [protected, pure virtual] |
Implemented in casa::vi::VisBufferImpl2, and casa::CTBuffer.
virtual Int casa::vi::VisBuffer2::getChannelNumber | ( | Int | rowInBuffer, |
Int | frequencyIndex | ||
) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<Int>& casa::vi::VisBuffer2::getChannelNumbers | ( | Int | rowInBuffer | ) | const [pure virtual] |
Implemented in casa::CTBuffer, casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Vector<Int> casa::vi::VisBuffer2::getCorrelationNumbers | ( | ) | 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 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::DummyBufferImpl, and casa::vi::VisBufferImpl2.
virtual const Vector<Double>& casa::vi::VisBuffer2::getFrequencies | ( | Int | rowInBuffer, |
Int | frame = FrameNotSpecified |
||
) | const [pure virtual] |
Implemented in casa::CTBuffer, casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
Referenced by casa::vi::VisBuffer2Adapter::frequency().
virtual Double casa::vi::VisBuffer2::getFrequency | ( | Int | rowInBuffer, |
Int | frequencyIndex, | ||
Int | frame = FrameNotSpecified |
||
) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Subchunk casa::vi::VisBuffer2::getSubchunk | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const VisibilityIterator2* casa::vi::VisBuffer2::getVi | ( | ) | const [pure virtual] |
For attached VBs this returns the VI the VB is attached to.
For free VBs this method returns False.
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
Referenced by casa::vi::VisBuffer2Adapter::construct(), and casa::vi::VisBuffer2Adapter::lsrFrequency().
virtual Double casa::vi::VisBuffer2::hourang | ( | Double | time | ) | const [pure virtual] |
Returns the hour angle of the array at the specified time.
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Matrix<Float>& casa::vi::VisBuffer2::imagingWeight | ( | ) | const [pure 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.
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::invalidate | ( | ) | [protected, pure virtual] |
Implemented in casa::CTBuffer, casa::DummyBufferImpl, and casa::vi::VisBufferImpl2.
virtual Bool casa::vi::VisBuffer2::isAttached | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
virtual Bool casa::vi::VisBuffer2::isFillable | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
virtual 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 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::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Bool casa::vi::VisBuffer2::isNewFieldId | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Bool casa::vi::VisBuffer2::isNewMs | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Bool casa::vi::VisBuffer2::isNewSpectralWindow | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Bool casa::vi::VisBuffer2::isRekeyable | ( | ) | const [protected, pure virtual] |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Bool casa::vi::VisBuffer2::isWritable | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Int casa::vi::VisBuffer2::msId | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual String casa::vi::VisBuffer2::msName | ( | Bool | stripPath = False | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Int casa::vi::VisBuffer2::nAntennas | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Int casa::vi::VisBuffer2::nChannels | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::CTBuffer, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Int casa::vi::VisBuffer2::nCorrelations | ( | ) | const [pure virtual] |
Returns the number of correlations along the visCube correlation axis.
Implemented in casa::vi::VisBufferWrapperAsync2, casa::CTBuffer, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
Referenced by casa::vi::VisBuffer2Adapter::nCorr().
virtual void casa::vi::VisBuffer2::normalize | ( | ) | [pure virtual] |
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::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Int casa::vi::VisBuffer2::nRows | ( | ) | const [pure virtual] |
Returns the number of rows in this VisBuffer.
Implemented in casa::vi::VisBufferWrapperAsync2, casa::CTBuffer, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
Referenced by casa::vi::VisBuffer2Adapter::nRow().
virtual const Vector<Int>& casa::vi::VisBuffer2::observationId | ( | ) | const [pure virtual] |
Implemented in casa::CTBuffer, casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<Float>& casa::vi::VisBuffer2::parang | ( | 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::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Float casa::vi::VisBuffer2::parang0 | ( | 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::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const 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, and casa::DummyBufferImpl.
virtual 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 Int casa::vi::VisBuffer2::polarizationId | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<Int>& casa::vi::VisBuffer2::processorId | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
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::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<uInt>& casa::vi::VisBuffer2::rowIds | ( | ) | const [pure virtual] |
The returned Vector serves as a map between the rows in the VisBuffer and the row IDs in the underlying MS main virtual table: mainTableID [i] = rowIds () [ i] = 0;.
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<Int>& casa::vi::VisBuffer2::scan | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::CTBuffer, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setAntenna1 | ( | const Vector< Int > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setAntenna2 | ( | const Vector< Int > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setArrayId | ( | const Vector< Int > & | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setDataDescriptionIds | ( | const Vector< Int > & | ) | [pure virtual] |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setExposure | ( | const Vector< Double > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setFeed1 | ( | const Vector< Int > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setFeed2 | ( | const Vector< Int > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setFieldId | ( | const Vector< Int > & | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setFillable | ( | Bool | isFillable | ) | [protected, pure virtual] |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setFlag | ( | const Matrix< Bool > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setFlagCategory | ( | const Array< Bool > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setFlagCube | ( | const Cube< Bool > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setFlagRow | ( | const Vector< Bool > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setObservationId | ( | const Vector< Int > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setProcessorId | ( | const Vector< Int > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setRekeyable | ( | Bool | isRekeable | ) | [protected, pure virtual] |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setScan | ( | const Vector< Int > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setShape | ( | Int | nCorrelations, |
Int | nChannels, | ||
Int | nRows, | ||
Bool | copyValues = False |
||
) | [pure virtual] |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setSigma | ( | const Matrix< Float > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setStateId | ( | const Vector< Int > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
Data accessors and casa::vi::VisBuffer2::setters | ( | where | appropriate | ) |
Reimplemented in casa::vi::VisBufferWrapperAsync2, and casa::vi::VisBufferImpl2.
virtual void casa::vi::VisBuffer2::setTime | ( | const Vector< Double > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setTimeCentroid | ( | const Vector< Double > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setTimeInterval | ( | const Vector< Double > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setUvw | ( | const Matrix< Double > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setVisCube | ( | const Complex & | c | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setVisCube | ( | const Cube< Complex > & | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setVisCubeCorrected | ( | const Cube< Complex > & | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setVisCubeFloat | ( | const Cube< Float > & | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setVisCubeModel | ( | const Complex & | c | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setVisCubeModel | ( | const Cube< Complex > & | vis | ) | [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setWeight | ( | const Matrix< Float > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
virtual void casa::vi::VisBuffer2::setWeightSpectrum | ( | const Cube< Float > & | value | ) | [pure virtual] |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
virtual const Matrix<Float>& casa::vi::VisBuffer2::sigma | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<Int>& casa::vi::VisBuffer2::spectralWindows | ( | ) | const [pure virtual] |
Returns the spectral window ID for the specified row.
virtual Int spectralWindow () const = 0;
Implemented in casa::CTBuffer, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
Referenced by casa::vi::VisBuffer2Adapter::spectralWindow().
virtual const Vector<Int>& casa::vi::VisBuffer2::stateId | ( | ) | const [pure virtual] |
virtual const Matrix<Float> & sigmaMat () const = 0; // [nC,nR]
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<Double>& casa::vi::VisBuffer2::time | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, casa::CTBuffer, and casa::DummyBufferImpl.
virtual const Vector<Double>& casa::vi::VisBuffer2::timeCentroid | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Vector<Double>& casa::vi::VisBuffer2::timeInterval | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Matrix<Double>& casa::vi::VisBuffer2::uvw | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
Referenced by casa::vi::VisBuffer2Adapter::uvw().
virtual void casa::vi::VisBuffer2::validateShapes | ( | ) | const [pure virtual] |
Implemented in casa::DummyBufferImpl, and casa::vi::VisBufferImpl2.
virtual const Cube<Complex>& casa::vi::VisBuffer2::visCube | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, casa::CTBuffer, and casa::DummyBufferImpl.
virtual const Cube<Complex>& casa::vi::VisBuffer2::visCubeCorrected | ( | ) | const [pure virtual] |
virtual const Matrix<CStokesVector> & vis () const = 0; // [nF,nR] virtual void setVis (Matrix<CStokesVector> &) = 0; // [nF,nR]
Implemented in casa::vi::VisBufferWrapperAsync2, casa::CTBuffer, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual Cube<Complex>& casa::vi::VisBuffer2::visCubeCorrectedRef | ( | ) | [protected, pure virtual] |
Implemented in casa::vi::VisBufferImpl2, and casa::CTBuffer.
virtual const Cube<Float>& casa::vi::VisBuffer2::visCubeFloat | ( | ) | const [pure virtual] |
virtual const Matrix<CStokesVector> & visCorrected () const = 0; // [nF,nR] virtual void setVisCorrected (const Matrix<CStokesVector> &) = 0; // [nF,nR]
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
virtual const Cube<Complex>& casa::vi::VisBuffer2::visCubeModel | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::CTBuffer, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
Referenced by casa::vi::VisBuffer2Adapter::modelVisCube().
virtual Cube<Complex>& casa::vi::VisBuffer2::visCubeModelRef | ( | ) | [protected, pure virtual] |
Implemented in casa::vi::VisBufferImpl2, and casa::CTBuffer.
virtual Cube<Complex>& casa::vi::VisBuffer2::visCubeRef | ( | ) | [protected, pure virtual] |
Implemented in casa::vi::VisBufferImpl2, and casa::CTBuffer.
virtual const Matrix<Float>& casa::vi::VisBuffer2::weight | ( | ) | const [pure virtual] |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
virtual const Cube<Float>& casa::vi::VisBuffer2::weightSpectrum | ( | ) | const [pure virtual] |
virtual const Matrix<Float> & weightMat () const = 0; // [nC,nR] virtual void setWeightMat (const Matrix<Float>& value) = 0; // [nC,nR]
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
virtual Cube<Float>& casa::vi::VisBuffer2::weightSpectrumRef | ( | ) | [protected, pure virtual] |
Implemented in casa::vi::VisBufferImpl2, and casa::CTBuffer.
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.
friend class FinalTvi2 [friend] |
Definition at line 132 of file VisBuffer2.h.
friend class VisibilityIteratorImpl2 [friend] |
Definition at line 131 of file VisBuffer2.h.