casa
5.7.0-16
|
VisBuffer2s encapsulate one chunk of visibility data for processing. More...
#include <VisBuffer2.h>
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... | |
VisBuffer2 & | operator= (const VisBuffer2 &)=delete |
VisBuffer2 () | |
virtual | ~VisBuffer2 () |
Used by framework. More... | |
virtual ms::MsRow * | getRow (casacore::Int row) const |
virtual ms::MsRow * | getRowMutable (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 VisibilityIterator2 * | getVi () const |
For attached VBs this returns the VI the VB is attached to. More... | |
virtual const casacore::MeasurementSet & | ms () const |
virtual const vi::SubtableColumns & | subtableColumns () 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 VisBuffer2 * | factory (VisBufferOptions vbOptions=VbNoOptions) |
Private Attributes | |
const VisibilityIterator2 * | associatedVi_p |
Friends | |
class | ViImplementation2 |
class | VisibilityIteratorImpl2 |
class | FinalTvi2 |
class | TransformingVi2 |
class | SimpleSimVi2 |
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 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.
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.
anonymous enum |
Enumerator | |
---|---|
FrameNotSpecified |
Definition at line 155 of file VisBuffer2.h.
|
delete |
make noncopyable...
|
inline |
Definition at line 157 of file VisBuffer2.h.
|
inlinevirtual |
|
pure virtual |
Implemented in casa::CTBuffer, casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
Referenced by casa::SolveDataBuffer::antenna2().
|
pure virtual |
|
protectedvirtual |
|
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.
|
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.
|
pure virtual |
Returns the Jones C matrix for each antenna.
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
protectedpure virtual |
Implemented in casa::vi::VisBufferImpl2.
|
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.
|
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.
|
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.
|
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().
|
pure virtual |
virtual casacore::Int dataDescriptionId () const = 0; virtual void setDataDescriptionId (casacore::Int value) = 0;
Implemented in casa::vi::VisBufferImpl2, casa::DummyBufferImpl, and casa::MSTransformBufferImpl.
Referenced by casa::SolveDataBuffer::dataDescriptionIds(), and casa::Vi2DataProvider< DataIterator, MaskIterator, WeightsIterator >::mkColumnValues().
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::CTBuffer, and casa::vi::VisBufferImpl2.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
|
static |
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
|
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.
|
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.
|
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.
|
pure virtual |
|
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.
|
pure virtual |
Implemented in casa::CTBuffer, casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
Referenced by casa::SolveDataBuffer::flagCube().
|
protectedpure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::CTBuffer.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
Referenced by casa::SolveDataBuffer::flagRow().
|
protectedpure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::CTBuffer.
|
pure virtual |
Implemented in casa::MSTransformBufferImpl, casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
|
pure virtual |
Implemented in casa::CTBuffer, casa::MSTransformBufferImpl, and casa::vi::VisBufferImpl2.
|
pure virtual |
Implemented in casa::MSTransformBufferImpl, casa::DummyBufferImpl, and casa::vi::VisBufferImpl2.
|
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.
|
pure virtual |
Implemented in casa::CTBuffer, casa::MSTransformBufferImpl, and casa::vi::VisBufferImpl2.
|
pure virtual |
Implemented in casa::CTBuffer, casa::MSTransformBufferImpl, casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
Referenced by casa::vi::VisBuffer2Adapter::frequency().
|
pure virtual |
Implemented in casa::MSTransformBufferImpl, casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
virtual |
Reimplemented in casa::vi::VisBufferImpl2.
|
virtual |
Reimplemented in casa::vi::VisBufferImpl2.
|
pure virtual |
Implemented in casa::CTBuffer, casa::vi::VisBufferImpl2, and casa::MSTransformBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
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.
|
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.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
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.
|
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.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
protectedpure virtual |
Implemented in casa::CTBuffer, casa::DummyBufferImpl, and casa::vi::VisBufferImpl2.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
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.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
protectedpure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
inlinevirtual |
Reimplemented in casa::vi::VisBufferImpl2.
Definition at line 220 of file VisBuffer2.h.
References ThrowCc.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::CTBuffer, casa::vi::VisBufferImpl2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
Referenced by casa::SolveDataBuffer::nChannels().
|
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().
|
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.
|
pure virtual |
Returns the number of rows in this VisBuffer.
Implemented in casa::vi::VisBufferWrapperAsync2, casa::CTBuffer, casa::vi::VisBufferImpl2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
Referenced by casa::vi::VisBuffer2Adapter::nRow(), casa::SolveDataBuffer::nRows(), casa::refim::EVLAAperture::vbRow2CFKeyMap(), and casa::refim::ATerm::vbRow2CFKeyMap().
|
pure virtual |
Implemented in casa::CTBuffer, casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
Referenced by casa::SolveDataBuffer::observationId().
|
delete |
|
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.
|
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.
|
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.
|
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.
|
pure virtual |
Rotate visibility phase for phase center offsets (arcsecs)
Implemented in casa::MSTransformBufferImpl, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Returns the polarization frame for the specified row.
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferWrapperAsync2, casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
|
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.
|
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.
|
pure virtual |
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
protectedpure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
protectedpure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
casacore::Data accessors and casa::vi::VisBuffer2::setters | ( | where | appropriate | ) |
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, and casa::DummyBufferImpl.
|
inlineprotectedvirtual |
Reimplemented in casa::vi::VisBufferImpl2.
Definition at line 584 of file VisBuffer2.h.
References ThrowCc.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
|
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().
|
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().
|
inlinevirtual |
Reimplemented in casa::vi::VisBufferImpl2.
Definition at line 221 of file VisBuffer2.h.
References ThrowCc.
|
pure virtual |
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
Referenced by casa::SolveDataBuffer::timeCentroid().
|
pure virtual |
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
Referenced by casa::vi::VisBuffer2Adapter::fillUvw().
|
pure virtual |
Implemented in casa::DummyBufferImpl, and casa::vi::VisBufferImpl2.
|
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.
|
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().
|
protectedpure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::CTBuffer.
|
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.
|
pure virtual |
Implemented in casa::CTBuffer, casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
Referenced by casa::vi::VisBuffer2Adapter::modelVisCube(), and casa::SolveDataBuffer::visCubeModel().
|
protectedpure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::CTBuffer.
|
protectedpure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::CTBuffer.
|
pure virtual |
Implemented in casa::vi::VisBufferImpl2, casa::vi::VisBufferWrapperAsync2, casa::MSTransformBufferImpl, and casa::DummyBufferImpl.
|
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().
|
protectedpure virtual |
Implemented in casa::vi::VisBufferImpl2, and casa::CTBuffer.
|
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 |
Definition at line 145 of file VisBuffer2.h.
|
friend |
Definition at line 147 of file VisBuffer2.h.
|
friend |
Definition at line 146 of file VisBuffer2.h.
|
friend |
Definition at line 143 of file VisBuffer2.h.
|
friend |
Definition at line 144 of file VisBuffer2.h.
|
private |
Definition at line 595 of file VisBuffer2.h.