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

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

#include <VisBufferImpl.h>

Public Member Functions

 VisBufferImpl ()
 Create empty VisBufferImpl you can assign to or attach. More...
 
 VisBufferImpl (ROVisibilityIterator2 &iter)
 Construct VisBufferImpl for a particular VisibilityIterator2 The buffer will remain synchronized with the iterator. More...
 
 VisBufferImpl (const VisBufferImpl &vb)
 Copy construct, looses synchronization with iterator: only use buffer for current iteration (or reattach). More...
 
virtual ~VisBufferImpl ()
 Destructor (detaches from VisIter) More...
 
virtual VisBufferImploperator= (const VisBufferImpl &vb)
 Assignment, loses synchronization with iterator: only use buffer for current iteration (or reattach) More...
 
virtual void assign (const VisBufferImpl &vb, casacore::Bool copy=true)
 Assignment, optionally without copying the data across; with copy=true this is identical to normal assignment operator. More...
 
virtual VisBufferImplclone () const
 
virtual const
ROVisibilityIterator2 * 
getVi () const
 
virtual void invalidate ()
 
*virtual void dirtyComponentsAdd (const VbDirtyComponents &additionalDirtyComponents)
 –> provided by VI: virtual casacore::Int nRowChunk() const; More...
 
virtual void dirtyComponentsAdd (VisBufferComponents::EnumType component)
 
virtual void dirtyComponentsClear ()
 
virtual VbDirtyComponents dirtyComponentsGet () const
 
virtual void dirtyComponentsSet (const VbDirtyComponents &dirtyComponents)
 
virtual void dirtyComponentsSet (VisBufferComponents::EnumType component)
 
virtual casacore::Vector
< casacore::Float
feed_pa (casacore::Double time) const
 –> This needs to be removed: virtual casacore::Bool fetch(const asyncio::PrefetchColumns *pfc); More...
 
virtual casacore::Float parang0 (casacore::Double time) const
 direction1() and direction2() return arrays of directions where the first and the second antenna/feed are pointed to. More...
 
virtual casacore::Vector
< casacore::Float
parang (casacore::Double time) const
 
virtual casacore::MDirection azel0 (casacore::Double time) const
 
virtual void azel0Vec (casacore::Double time, casacore::Vector< casacore::Double > &azelVec) const
 
virtual casacore::Vector
< casacore::MDirection
azel (casacore::Double time) const
 
virtual void azelMat (casacore::Double time, casacore::Matrix< casacore::Double > &azelMat) const
 
virtual casacore::Double hourang (casacore::Double time) const
 Hour angle for specified time. More...
 
void freqAveCubes ()
 virtual const casacore::Vector<casacore::Double>& lsrFrequency() const; virtual void setLsrFrequency (const casacore::Vector<casacore::Double>&); More...
 
void averageChannels (const casacore::Matrix< casacore::Int > &chanavebounds)
 Average channel axis according to chanavebounds, for whichever of DATA, MODEL_DATA, CORRECTED_DATA, FLOAT_DATA, FLAG, and WEIGHT_SPECTRUM are present. More...
 
virtual void sortCorr ()
 
Form casacore::Stokes parameters from correlations

(these are preliminary versions) –> Not called: virtual void formStokes(); –> Not called: virtual void formStokesWeightandFlag(); –> Not called: virtual void formStokes(casacore::Cube<casacore::Complex>& vis); –> Not called: virtual void formStokes(casacore::Cube<casacore::Float>& fcube); // Will throw up if asked to do all 4. More...

 
virtual void unSortCorr ()
 
virtual void normalize (const casacore::Bool &phaseOnly=false)
 Normalize the visCube by the modelVisCube (and optionally also divide visCube_p by its normalized amp) More...
 
virtual void resetWeightsUsingSigma ()
 Fill weightMat according to sigma column. More...
 
virtual void updateCoordInfo (const VisBufferImpl *vb=NULL, const casacore::Bool dirDependent=true)
 Rotate visibility phase for given vector (dim = nrow of vb) of phases (metres) More...
 
void copyCoordInfo (const VisBufferImpl &other, casacore::Bool force=false)
 
virtual casacore::Bool isNewArrayId () const
 –> Not called: virtual void setCorrectedVisCube(const casacore::Cube<casacore::Complex>& vis); Like the above, but for FLOAT_DATA, keeping it as real floats. More...
 
virtual casacore::Bool isNewFieldId () const
 
virtual casacore::Bool isNewMs () const
 
virtual casacore::Bool isNewSpectralWindow () const
 
virtual casacore::Bool isWritable () const
 
virtual casacore::Int msId () const
 
virtual casacore::String msName (casacore::Bool stripPath=false) const
 
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
 
casacore::Data accessors and
one or more set methods are
provided *virtual
casacore::Vector
< casacore::Int
antenna1 () const
 
virtual const casacore::Vector
< casacore::Int > & 
antenna2 () const
 
virtual casacore::Int arrayId () const
 
virtual const casacore::Vector
< casacore::Int > & 
channel () const
 
virtual const casacore::Vector
< casacore::SquareMatrix
< casacore::Complex, 2 > > & 
cjones () const
 
virtual const casacore::Cube
< casacore::Complex > & 
correctedVisCube () const
 
virtual void setCorrectedVisCube (const casacore::Cube< casacore::Complex > &)
 
virtual const casacore::Matrix
< CStokesVector > & 
correctedVisibility () const
 
virtual void setCorrectedVisibility (const casacore::Matrix< CStokesVector > &)
 
virtual const casacore::Vector
< casacore::Int > & 
corrType () const
 
virtual casacore::Int dataDescriptionId () const
 
virtual const casacore::Vector
< casacore::MDirection > & 
direction1 () const
 
virtual const casacore::Vector
< casacore::MDirection > & 
direction2 () const
 
virtual const casacore::Vector
< casacore::Double > & 
exposure () const
 
virtual const casacore::Vector
< casacore::Int > & 
feed1 () const
 
virtual const casacore::Vector
< casacore::Float > & 
feed1_pa () const
 
virtual const casacore::Vector
< casacore::Int > & 
feed2 () const
 
virtual const casacore::Vector
< casacore::Float > & 
feed2_pa () const
 
virtual casacore::Int fieldId () const
 
virtual const casacore::Matrix
< casacore::Bool > & 
flag () const
 
virtual void setFlag (const casacore::Matrix< casacore::Bool > &)
 
virtual const casacore::Array
< casacore::Bool > & 
flagCategory () const
 
virtual void setFlagCategory (const casacore::Array< casacore::Bool > &)
 
virtual const casacore::Cube
< casacore::Bool > & 
flagCube () const
 
virtual void setFlagCube (const casacore::Cube< casacore::Bool > &)
 
virtual const casacore::Vector
< casacore::Bool > & 
flagRow () const
 
virtual void setFlagRow (const casacore::Vector< casacore::Bool > &)
 
virtual const casacore::Cube
< casacore::Float > & 
floatDataCube () const
 
virtual void setFloatDataCube (const casacore::Cube< casacore::Float > &)
 
virtual const casacore::Vector
< casacore::Double > & 
frequency () const
 
virtual const casacore::Matrix
< casacore::Float > & 
imagingWeight () const
 
virtual const casacore::Cube
< casacore::Complex > & 
modelVisCube () const
 
virtual void setModelVisCube (const casacore::Complex &c)
 
virtual void setModelVisCube (const casacore::Cube< casacore::Complex > &vis)
 
virtual void setModelVisCube (const casacore::Vector< casacore::Float > &stokes)
 
virtual const casacore::Matrix
< CStokesVector > & 
modelVisibility () const
 
virtual void setModelVisibility (casacore::Matrix< CStokesVector > &)
 
virtual casacore::Int nChannel () const
 
virtual casacore::Int nCorr () const
 
virtual casacore::Int nRow () const
 
virtual const casacore::Vector
< casacore::Int > & 
observationId () const
 
virtual const
casacore::MDirection
phaseCenter () const
 
virtual const casacore::MDirection phaseCenter (const casacore Int fieldid, const casacore::Double time=-1.0) const
 
virtual casacore::Int polFrame () const
 
virtual const casacore::Vector
< casacore::Int > & 
processorId () const
 
virtual const casacore::Vector
< casacore::uInt > & 
rowIds () const
 
virtual const casacore::Vector
< casacore::Int > & 
scan () const
 
virtual const casacore::Vector
< casacore::Float > & 
sigma () const
 
virtual const casacore::Matrix
< casacore::Float > & 
sigmaMat () const
 
virtual casacore::Int spectralWindow () const
 
virtual const casacore::Vector
< casacore::Int > & 
stateId () const
 
virtual const casacore::Vector
< casacore::Double > & 
time () const
 
virtual const casacore::Vector
< casacore::Double > & 
timeCentroid () const
 
virtual const casacore::Vector
< casacore::Double > & 
timeInterval () const
 
virtual const casacore::Vector
< casacore::RigidVector
< casacore::Double, 3 > > & 
uvw () const
 
virtual const casacore::Matrix
< casacore::Double > & 
uvwMat () const
 
virtual const casacore::Cube
< casacore::Complex > & 
visCube () const
 
virtual void setVisCube (const casacore::Complex &c)
 
virtual void setVisCube (const casacore::Cube< casacore::Complex > &)
 
virtual const casacore::Matrix
< CStokesVector > & 
visibility () const
 
virtual void setVisibility (casacore::Matrix< CStokesVector > &)
 
virtual const casacore::Vector
< casacore::Float > & 
weight () const
 
virtual void setWeight (const casacore::Vector< casacore::Float > &)
 
virtual const casacore::Matrix
< casacore::Float > & 
weightMat () const
 
virtual void setWeightMat (const casacore::Matrix< casacore::Float > &)
 
virtual const casacore::Cube
< casacore::Float > & 
weightSpectrum () const
 
virtual void setWeightSpectrum (const casacore::Cube< casacore::Float > &)
 

Public Attributes

shouldn t be settable: virtual void setNRow (const casacore::Int &)
 subtraction: return the difference of the visibilities, flags of this and other are or-ed. More...
 

Protected Member Functions

virtual void attachToVisibilityIterator2 (ROVisibilityIterator2 &iter)
 Attach to a VisIter. More...
 
virtual void cacheCopy (const VisBufferImpl &other, casacore::Bool markAsCached)
 
virtual void cacheClear (casacore::Bool markAsCached=false)
 
void adjustWeightFactorsAndFlags (casacore::Matrix< casacore::Float > &rowWeightFactors, casacore::Bool useWeightSpectrum, casacore::Int nRows, casacore::Int nCorrelations, casacore::Int nChannelsOut)
 
void adjustWeightAndSigmaMatrices (casacore::Int nChannelsAveraged, casacore::Int nChannelsOut, casacore::Int nRows, casacore::Int nCorrelations, casacore::Int nChannelsSelected, const casacore::Matrix< casacore::Float > &rowWeightFactors)
 
casacore::Int averageChannelFrequencies (casacore::Int nChannelsOut, const casacore::Vector< casacore::Int > &channels, const casacore::Matrix< casacore::Int > &averagingBounds)
 
void averageFlagInfoChannels (const casacore::Matrix< casacore::Int > &averagingBounds, casacore::Int nChannelsOut, casacore::Bool useWeightSpectrum)
 
template<class T >
void averageVisCubeChannels (T &dataCache, casacore::Int nChanOut, const casacore::Matrix< casacore::Int > &averagingbounds)
 
virtual void checkVisIter (const char *func, const char *file, int line, const char *extra="") const
 
void computeRowWeightFactors (casacore::Matrix< casacore::Float > &rowWeightFactors, casacore::Bool useWeightSpectrum)
 
virtual void sortCorrelationsAux (casacore::Bool makeSorted)
 
virtual void detachFromVisibilityIterator2 ()
 
virtual ROVisibilityIterator2 * getViP () const
 
void registerCacheItem (VbCacheItemBase *)
 
void setIterationInfo (casacore::Int msId, const casacore::String &msName, casacore::Bool isNewMs, casacore::Bool isNewArrayId, casacore::Bool isNewFieldId, casacore::Bool isNewSpectralWindow)
 
virtual void stateCopy (const VisBufferImpl &other)
 
template<typename Coord >
void updateCoord (Coord &item, const Coord &otherItem)
 

Private Member Functions

virtual casacore::Bool areCorrelationsInCanonicalOrder () const
 
void checkVisIterBase (const char *func, const char *file, int line, const char *extra="") const
 
void construct ()
 
void constructCache ()
 
virtual void validate ()
 
virtual void fillArrayId (casacore::Int &value) const
 
virtual void fillChannel (casacore::Vector< casacore::Int > &value) const
 
virtual void fillCorrType (casacore::Vector< casacore::Int > &value) const
 
virtual void fillCubeCorrected (casacore::Cube< casacore::Complex > &value) const
 
virtual void fillCubeModel (casacore::Cube< casacore::Complex > &value) const
 
virtual void fillCubeObserved (casacore::Cube< casacore::Complex > &value) const
 
virtual void fillDataDescriptionId (casacore::Int &value) const
 
virtual void fillDirection1 (casacore::Vector< casacore::MDirection > &value) const
 
virtual void fillDirection2 (casacore::Vector< casacore::MDirection > &value) const
 
virtual void fillDirectionAux (casacore::Vector< casacore::MDirection > &value, const casacore::Vector< casacore::Int > &antenna, const casacore::Vector< casacore::Int > &feed, const casacore::Vector< casacore::Float > &feedPa) const
 
virtual void fillExposure (casacore::Vector< casacore::Double > &value) const
 
virtual void fillFeed1 (casacore::Vector< casacore::Int > &value) const
 
virtual void fillFeed2 (casacore::Vector< casacore::Int > &value) const
 
virtual void fillFeedPa1 (casacore::Vector< casacore::Float > &feedPa) const
 
virtual void fillFeedPa2 (casacore::Vector< casacore::Float > &feedPa) const
 
virtual void fillFeedPaAux (casacore::Vector< casacore::Float > &feedPa, const casacore::Vector< casacore::Int > &antenna, const casacore::Vector< casacore::Int > &feed) const
 
virtual void fillFieldId (casacore::Int &value) const
 
virtual void fillFlag (casacore::Matrix< casacore::Bool > &value) const
 
virtual void fillFlagCategory (casacore::Array< casacore::Bool > &value) const
 
virtual void fillFlagCube (casacore::Cube< casacore::Bool > &value) const
 
virtual void fillFlagRow (casacore::Vector< casacore::Bool > &value) const
 
virtual void fillFloatData (casacore::Cube< casacore::Float > &value) const
 
virtual void fillFrequency (casacore::Vector< casacore::Double > &value) const
 
virtual void fillImagingWeight (casacore::Matrix< casacore::Float > &value) const
 
virtual void fillJonesC (casacore::Vector< casacore::SquareMatrix< casacore::Complex, 2 > > &value) const
 
virtual void fillNChannel (casacore::Int &value) const
 
virtual void fillNCorr (casacore::Int &value) const
 
virtual void fillNRow (casacore::Int &value) const
 
virtual void fillObservationId (casacore::Vector< casacore::Int > &value) const
 
virtual void fillPhaseCenter (casacore::MDirection &value) const
 
virtual void fillPolFrame (casacore::Int &value) const
 
virtual void fillProcessorId (casacore::Vector< casacore::Int > &value) const
 
virtual void fillScan (casacore::Vector< casacore::Int > &value) const
 
virtual void fillSigma (casacore::Vector< casacore::Float > &value) const
 
virtual void fillSigmaMat (casacore::Matrix< casacore::Float > &value) const
 
virtual void fillSpectralWindow (casacore::Int &value) const
 
virtual void fillStateId (casacore::Vector< casacore::Int > &value) const
 
virtual void fillTime (casacore::Vector< casacore::Double > &value) const
 
virtual void fillTimeCentroid (casacore::Vector< casacore::Double > &value) const
 
virtual void fillTimeInterval (casacore::Vector< casacore::Double > &value) const
 
virtual void fillUvw (casacore::Vector< casacore::RigidVector< casacore::Double, 3 > > &value) const
 
virtual void fillUvwMat (casacore::Matrix< casacore::Double > &value) const
 
virtual void fillVisibilityCorrected (casacore::Matrix< CStokesVector > &value) const
 
virtual void fillVisibilityModel (casacore::Matrix< CStokesVector > &value) const
 
virtual void fillVisibilityObserved (casacore::Matrix< CStokesVector > &value) const
 
virtual void fillWeight (casacore::Vector< casacore::Float > &value) const
 
virtual void fillWeightMat (casacore::Matrix< casacore::Float > &value) const
 
virtual void fillWeightSpectrum (casacore::Cube< casacore::Float > &value) const
 

Private Attributes

VisBufferCachecache_p
 
VisBufferStatestate_p
 

Friends

class casa::asyncio::VLAT
 
class VbCacheItemBase
 
class VisBufferCache
 
class VisBufferState
 
class VisBufferImplAsync
 
class VisBufferImplAsyncWrapper
 
class ViReadImpl
 
class ViReadImplAsync
 

Detailed Description

VisBufferImpls encapsulate one chunk of visibility data for processing.

Intended use:

Public interface

Prerequisite

Etymology

VisBufferImpl is a buffer for visibility data

Synopsis

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

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

When the user intends to allow asynchronous I/O they will need to use the VisBufferImplAsync and VisBufferImplAsyncWrapper classes; these are publicly derived from VisBufferImpl. Normally, the user should not explicitly use these classes but should use the helper class VisBufferImplAutoPtr which will ensure that the appropriate class is used.

To Do

Definition at line 168 of file VisBufferImpl.h.

Constructor & Destructor Documentation

casa::vi::VisBufferImpl::VisBufferImpl ( )

Create empty VisBufferImpl you can assign to or attach.

casa::vi::VisBufferImpl::VisBufferImpl ( ROVisibilityIterator2 &  iter)

Construct VisBufferImpl for a particular VisibilityIterator2 The buffer will remain synchronized with the iterator.

casa::vi::VisBufferImpl::VisBufferImpl ( const VisBufferImpl vb)

Copy construct, looses synchronization with iterator: only use buffer for current iteration (or reattach).

virtual casa::vi::VisBufferImpl::~VisBufferImpl ( )
virtual

Destructor (detaches from VisIter)

Member Function Documentation

void casa::vi::VisBufferImpl::adjustWeightAndSigmaMatrices ( casacore::Int  nChannelsAveraged,
casacore::Int  nChannelsOut,
casacore::Int  nRows,
casacore::Int  nCorrelations,
casacore::Int  nChannelsSelected,
const casacore::Matrix< casacore::Float > &  rowWeightFactors 
)
protected
void casa::vi::VisBufferImpl::adjustWeightFactorsAndFlags ( casacore::Matrix< casacore::Float > &  rowWeightFactors,
casacore::Bool  useWeightSpectrum,
casacore::Int  nRows,
casacore::Int  nCorrelations,
casacore::Int  nChannelsOut 
)
protected
casacore::Data accessors and one or more set methods are provided* virtual casacore::Vector<casacore::Int> casa::vi::VisBufferImpl::antenna1 ( ) const
virtual
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferImpl::antenna2 ( ) const
virtual
virtual casacore::Bool casa::vi::VisBufferImpl::areCorrelationsInCanonicalOrder ( ) const
privatevirtual
virtual casacore::Int casa::vi::VisBufferImpl::arrayId ( ) const
virtual
virtual void casa::vi::VisBufferImpl::assign ( const VisBufferImpl vb,
casacore::Bool  copy = true 
)
virtual

Assignment, optionally without copying the data across; with copy=true this is identical to normal assignment operator.

virtual void casa::vi::VisBufferImpl::attachToVisibilityIterator2 ( ROVisibilityIterator2 &  iter)
protectedvirtual

Attach to a VisIter.

Detaches itself first if already attached to a VisIter. Will remain synchronized with iterator.

casacore::Int casa::vi::VisBufferImpl::averageChannelFrequencies ( casacore::Int  nChannelsOut,
const casacore::Vector< casacore::Int > &  channels,
const casacore::Matrix< casacore::Int > &  averagingBounds 
)
protected
void casa::vi::VisBufferImpl::averageChannels ( const casacore::Matrix< casacore::Int > &  chanavebounds)

Average channel axis according to chanavebounds, for whichever of DATA, MODEL_DATA, CORRECTED_DATA, FLOAT_DATA, FLAG, and WEIGHT_SPECTRUM are present.

It will only treat the first 5 as present if they have already been loaded into the buffer!

void casa::vi::VisBufferImpl::averageFlagInfoChannels ( const casacore::Matrix< casacore::Int > &  averagingBounds,
casacore::Int  nChannelsOut,
casacore::Bool  useWeightSpectrum 
)
protected
template<class T >
void casa::vi::VisBufferImpl::averageVisCubeChannels ( T &  dataCache,
casacore::Int  nChanOut,
const casacore::Matrix< casacore::Int > &  averagingbounds 
)
protected
virtual casacore::Vector<casacore::MDirection> casa::vi::VisBufferImpl::azel ( casacore::Double  time) const
virtual
virtual casacore::MDirection casa::vi::VisBufferImpl::azel0 ( casacore::Double  time) const
virtual
virtual void casa::vi::VisBufferImpl::azel0Vec ( casacore::Double  time,
casacore::Vector< casacore::Double > &  azelVec 
) const
virtual
virtual void casa::vi::VisBufferImpl::azelMat ( casacore::Double  time,
casacore::Matrix< casacore::Double > &  azelMat 
) const
virtual
virtual void casa::vi::VisBufferImpl::cacheClear ( casacore::Bool  markAsCached = false)
protectedvirtual
virtual void casa::vi::VisBufferImpl::cacheCopy ( const VisBufferImpl other,
casacore::Bool  markAsCached 
)
protectedvirtual
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferImpl::channel ( ) const
virtual
virtual void casa::vi::VisBufferImpl::checkVisIter ( const char *  func,
const char *  file,
int  line,
const char *  extra = "" 
) const
protectedvirtual
void casa::vi::VisBufferImpl::checkVisIterBase ( const char *  func,
const char *  file,
int  line,
const char *  extra = "" 
) const
private
virtual const casacore::Vector<casacore::SquareMatrix<casacore::Complex, 2> >& casa::vi::VisBufferImpl::cjones ( ) const
virtual
virtual VisBufferImpl* casa::vi::VisBufferImpl::clone ( ) const
virtual
void casa::vi::VisBufferImpl::computeRowWeightFactors ( casacore::Matrix< casacore::Float > &  rowWeightFactors,
casacore::Bool  useWeightSpectrum 
)
protected
void casa::vi::VisBufferImpl::construct ( )
private
void casa::vi::VisBufferImpl::constructCache ( )
private
void casa::vi::VisBufferImpl::copyCoordInfo ( const VisBufferImpl other,
casacore::Bool  force = false 
)
virtual const casacore::Cube<casacore::Complex>& casa::vi::VisBufferImpl::correctedVisCube ( ) const
virtual
virtual const casacore::Matrix<CStokesVector>& casa::vi::VisBufferImpl::correctedVisibility ( ) const
virtual
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferImpl::corrType ( ) const
virtual
virtual casacore::Int casa::vi::VisBufferImpl::dataDescriptionId ( ) const
virtual
virtual void casa::vi::VisBufferImpl::detachFromVisibilityIterator2 ( )
protectedvirtual
virtual const casacore::Vector<casacore::MDirection>& casa::vi::VisBufferImpl::direction1 ( ) const
virtual
virtual const casacore::Vector<casacore::MDirection>& casa::vi::VisBufferImpl::direction2 ( ) const
virtual
* virtual void casa::vi::VisBufferImpl::dirtyComponentsAdd ( const VbDirtyComponents additionalDirtyComponents)
virtual

–> provided by VI: virtual casacore::Int nRowChunk() const;

virtual void casa::vi::VisBufferImpl::dirtyComponentsAdd ( VisBufferComponents::EnumType  component)
virtual
virtual void casa::vi::VisBufferImpl::dirtyComponentsClear ( )
virtual
virtual VbDirtyComponents casa::vi::VisBufferImpl::dirtyComponentsGet ( ) const
virtual
virtual void casa::vi::VisBufferImpl::dirtyComponentsSet ( const VbDirtyComponents dirtyComponents)
virtual
virtual void casa::vi::VisBufferImpl::dirtyComponentsSet ( VisBufferComponents::EnumType  component)
virtual
virtual const casacore::Vector<casacore::Double>& casa::vi::VisBufferImpl::exposure ( ) const
virtual
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferImpl::feed1 ( ) const
virtual
virtual const casacore::Vector<casacore::Float>& casa::vi::VisBufferImpl::feed1_pa ( ) const
virtual
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferImpl::feed2 ( ) const
virtual
virtual const casacore::Vector<casacore::Float>& casa::vi::VisBufferImpl::feed2_pa ( ) const
virtual
virtual casacore::Vector<casacore::Float> casa::vi::VisBufferImpl::feed_pa ( casacore::Double  time) const
virtual

–> This needs to be removed: virtual casacore::Bool fetch(const asyncio::PrefetchColumns *pfc);

feed1_pa() and feed2_pa() return an array of parallactic angles (each corresponds to the first receptor of the feed) one for each row in the current buffer. In contrast, feed_pa() calculates the angles for each antenna. These methods are implemented for VisBufferImpl only to benefit from caching of the feed and antenna IDs.

Note that feed_pa is a function instead of a cached value

virtual casacore::Int casa::vi::VisBufferImpl::fieldId ( ) const
virtual
virtual void casa::vi::VisBufferImpl::fillArrayId ( casacore::Int value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillChannel ( casacore::Vector< casacore::Int > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillCorrType ( casacore::Vector< casacore::Int > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillCubeCorrected ( casacore::Cube< casacore::Complex > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillCubeModel ( casacore::Cube< casacore::Complex > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillCubeObserved ( casacore::Cube< casacore::Complex > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillDataDescriptionId ( casacore::Int value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillDirection1 ( casacore::Vector< casacore::MDirection > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillDirection2 ( casacore::Vector< casacore::MDirection > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillDirectionAux ( casacore::Vector< casacore::MDirection > &  value,
const casacore::Vector< casacore::Int > &  antenna,
const casacore::Vector< casacore::Int > &  feed,
const casacore::Vector< casacore::Float > &  feedPa 
) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillExposure ( casacore::Vector< casacore::Double > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillFeed1 ( casacore::Vector< casacore::Int > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillFeed2 ( casacore::Vector< casacore::Int > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillFeedPa1 ( casacore::Vector< casacore::Float > &  feedPa) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillFeedPa2 ( casacore::Vector< casacore::Float > &  feedPa) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillFeedPaAux ( casacore::Vector< casacore::Float > &  feedPa,
const casacore::Vector< casacore::Int > &  antenna,
const casacore::Vector< casacore::Int > &  feed 
) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillFieldId ( casacore::Int value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillFlag ( casacore::Matrix< casacore::Bool > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillFlagCategory ( casacore::Array< casacore::Bool > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillFlagCube ( casacore::Cube< casacore::Bool > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillFlagRow ( casacore::Vector< casacore::Bool > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillFloatData ( casacore::Cube< casacore::Float > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillFrequency ( casacore::Vector< casacore::Double > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillImagingWeight ( casacore::Matrix< casacore::Float > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillJonesC ( casacore::Vector< casacore::SquareMatrix< casacore::Complex, 2 > > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillNChannel ( casacore::Int value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillNCorr ( casacore::Int value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillNRow ( casacore::Int value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillObservationId ( casacore::Vector< casacore::Int > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillPhaseCenter ( casacore::MDirection value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillPolFrame ( casacore::Int value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillProcessorId ( casacore::Vector< casacore::Int > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillScan ( casacore::Vector< casacore::Int > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillSigma ( casacore::Vector< casacore::Float > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillSigmaMat ( casacore::Matrix< casacore::Float > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillSpectralWindow ( casacore::Int value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillStateId ( casacore::Vector< casacore::Int > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillTime ( casacore::Vector< casacore::Double > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillTimeCentroid ( casacore::Vector< casacore::Double > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillTimeInterval ( casacore::Vector< casacore::Double > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillUvw ( casacore::Vector< casacore::RigidVector< casacore::Double, 3 > > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillUvwMat ( casacore::Matrix< casacore::Double > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillVisibilityCorrected ( casacore::Matrix< CStokesVector > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillVisibilityModel ( casacore::Matrix< CStokesVector > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillVisibilityObserved ( casacore::Matrix< CStokesVector > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillWeight ( casacore::Vector< casacore::Float > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillWeightMat ( casacore::Matrix< casacore::Float > &  value) const
privatevirtual
virtual void casa::vi::VisBufferImpl::fillWeightSpectrum ( casacore::Cube< casacore::Float > &  value) const
privatevirtual
virtual const casacore::Matrix<casacore::Bool>& casa::vi::VisBufferImpl::flag ( ) const
virtual
virtual const casacore::Array<casacore::Bool>& casa::vi::VisBufferImpl::flagCategory ( ) const
virtual
virtual const casacore::Cube<casacore::Bool>& casa::vi::VisBufferImpl::flagCube ( ) const
virtual
virtual const casacore::Vector<casacore::Bool>& casa::vi::VisBufferImpl::flagRow ( ) const
virtual
virtual const casacore::Cube<casacore::Float>& casa::vi::VisBufferImpl::floatDataCube ( ) const
virtual
void casa::vi::VisBufferImpl::freqAveCubes ( )

virtual const casacore::Vector<casacore::Double>& lsrFrequency() const; virtual void setLsrFrequency (const casacore::Vector<casacore::Double>&);

the following method is to convert the observed frequencies This conversion may not be accurate for some frame conversion like topo to lsr except if the spw is in the actual buffer

if ignoreconv=true..frequency is served as is in the data frame virtual void lsrFrequency(const casacore::Int & spw, casacore::Vector<casacore::Double>& freq, casacore::Bool & convert, const casacore::Bool ignoreconv = false) const;

virtual const casacore::Matrix<casacore::Float>& imagingWeight() const; virtual void setImagingWeight (const casacore::Matrix<casacore::Float>&);

Utility functions to provide coordinate or column ranges of the data in the VisBufferImpl. Flagging is applied before computing the ranges.

Generic accessor to column ranges of integer type, as specified by enumerations defined in class MSCalEnums. Throws an exception if the enum is not for a recognized integer column. –> Low utility?: virtual casacore::Vector<casacore::Int> vecIntRange(const MSCalEnums::colDef & calEnum) const;

Antenna id. range (includes both ANTENNA1 and ANTENNA2 columns) –> Low utility?: virtual casacore::Vector<casacore::Int> antIdRange() const;

casacore::Time range

–> Low utility?: virtual casacore::Bool timeRange(casacore::MEpoch & rTime, casacore::MVEpoch & rTimeEP, casacore::MVEpoch & rInterval) const;

Return the row Ids from the original ms. If the ms used is a subset of another ms then rowIds() return the row ids of the original ms.

–> Belongs in VI: virtual void setRowIds (const casacore::Vector<casacore::uInt>&); –> Belongs in VI: virtual const casacore::Vector<casacore::uInt>& rowIds() const;

Frequency average the buffer (visibility() column only) –> Not called: virtual void freqAverage();

Frequency average the buffer (visCube and [if present] modelVisCube)

virtual const casacore::Vector<casacore::Double>& casa::vi::VisBufferImpl::frequency ( ) const
virtual
virtual const ROVisibilityIterator2* casa::vi::VisBufferImpl::getVi ( ) const
virtual
virtual ROVisibilityIterator2* casa::vi::VisBufferImpl::getViP ( ) const
protectedvirtual
virtual casacore::Double casa::vi::VisBufferImpl::hourang ( casacore::Double  time) const
virtual

Hour angle for specified time.

virtual const casacore::Matrix<casacore::Float>& casa::vi::VisBufferImpl::imagingWeight ( ) const
virtual
virtual void casa::vi::VisBufferImpl::invalidate ( )
virtual
virtual casacore::Bool casa::vi::VisBufferImpl::isNewArrayId ( ) const
virtual

–> Not called: virtual void setCorrectedVisCube(const casacore::Cube<casacore::Complex>& vis); Like the above, but for FLOAT_DATA, keeping it as real floats.

–> Not called: virtual void setFloatDataCube(const casacore::Cube<casacore::Float>& fcube); Reference external model visibilities –> Not called: virtual void refModelVis(const casacore::Matrix<CStokesVector>& mvis);

Remove scratch cols data from vb –> Not called: virtual void removeScratchCols();

Access the current casacore::ROMSColumns object via VisIter –> Access using VI: virtual const casacore::ROMSColumns & msColumns() const;

–> Access via VI: virtual casacore::Int numberAnt () const;

Get all selected spectral windows not just the one in the actual buffer –> Get from VI: virtual void allSelectedSpectralWindows(casacore::Vector<casacore::Int>& spws, casacore::Vector<casacore::Int>& nvischan);

–> Get from VI: virtual void getChannelSelection(casacore::Block< casacore::Vector<casacore::Int> >& blockNGroup, casacore::Block< casacore::Vector<casacore::Int> >& blockStart, casacore::Block< casacore::Vector<casacore::Int> >& blockWidth, casacore::Block< casacore::Vector<casacore::Int> >& blockIncr, casacore::Block< casacore::Vector<casacore::Int> >& blockSpw) const;; –> Get from VI: void allSelectedSpectralWindows(casacore::Vector<casacore::Int>& spws, casacore::Vector<casacore::Int>& nvischan) const;

virtual casacore::Bool casa::vi::VisBufferImpl::isNewFieldId ( ) const
virtual
virtual casacore::Bool casa::vi::VisBufferImpl::isNewMs ( ) const
virtual
virtual casacore::Bool casa::vi::VisBufferImpl::isNewSpectralWindow ( ) const
virtual
virtual casacore::Bool casa::vi::VisBufferImpl::isWritable ( ) const
virtual
virtual const casacore::Cube<casacore::Complex>& casa::vi::VisBufferImpl::modelVisCube ( ) const
virtual
virtual const casacore::Matrix<CStokesVector>& casa::vi::VisBufferImpl::modelVisibility ( ) const
virtual
virtual casacore::Int casa::vi::VisBufferImpl::msId ( ) const
virtual
virtual casacore::String casa::vi::VisBufferImpl::msName ( casacore::Bool  stripPath = false) const
virtual
virtual casacore::Int casa::vi::VisBufferImpl::nChannel ( ) const
virtual
virtual casacore::Int casa::vi::VisBufferImpl::nCorr ( ) const
virtual
virtual void casa::vi::VisBufferImpl::normalize ( const casacore::Bool phaseOnly = false)
virtual

Normalize the visCube by the modelVisCube (and optionally also divide visCube_p by its normalized amp)

virtual casacore::Int casa::vi::VisBufferImpl::nRow ( ) const
virtual
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferImpl::observationId ( ) const
virtual
virtual VisBufferImpl& casa::vi::VisBufferImpl::operator= ( const VisBufferImpl vb)
virtual

Assignment, loses synchronization with iterator: only use buffer for current iteration (or reattach)

virtual casacore::Vector<casacore::Float> casa::vi::VisBufferImpl::parang ( casacore::Double  time) const
virtual
virtual casacore::Float casa::vi::VisBufferImpl::parang0 ( casacore::Double  time) const
virtual

direction1() and direction2() return arrays of directions where the first and the second antenna/feed are pointed to.

One value for each row in the current buffer.

NOMINAL parallactic angle (feed p.a. offset NOT included)

virtual const casacore::MDirection& casa::vi::VisBufferImpl::phaseCenter ( ) const
virtual
virtual const casacore::MDirection casa::vi::VisBufferImpl::phaseCenter ( const casacore Int  fieldid,
const casacore::Double  time = -1.0 
) const
virtual
virtual casacore::Int casa::vi::VisBufferImpl::polFrame ( ) const
virtual
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferImpl::processorId ( ) const
virtual
void casa::vi::VisBufferImpl::registerCacheItem ( VbCacheItemBase )
protected
virtual void casa::vi::VisBufferImpl::resetWeightsUsingSigma ( )
virtual

Fill weightMat according to sigma column.

virtual const casacore::Vector<casacore::uInt>& casa::vi::VisBufferImpl::rowIds ( ) const
virtual
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferImpl::scan ( ) const
virtual
virtual void casa::vi::VisBufferImpl::setCorrectedVisCube ( const casacore::Cube< casacore::Complex > &  )
virtual
virtual void casa::vi::VisBufferImpl::setCorrectedVisibility ( const casacore::Matrix< CStokesVector > &  )
virtual
virtual void casa::vi::VisBufferImpl::setFlag ( const casacore::Matrix< casacore::Bool > &  )
virtual
virtual void casa::vi::VisBufferImpl::setFlagCategory ( const casacore::Array< casacore::Bool > &  )
virtual
virtual void casa::vi::VisBufferImpl::setFlagCube ( const casacore::Cube< casacore::Bool > &  )
virtual
virtual void casa::vi::VisBufferImpl::setFlagRow ( const casacore::Vector< casacore::Bool > &  )
virtual
virtual void casa::vi::VisBufferImpl::setFloatDataCube ( const casacore::Cube< casacore::Float > &  )
virtual
void casa::vi::VisBufferImpl::setIterationInfo ( casacore::Int  msId,
const casacore::String msName,
casacore::Bool  isNewMs,
casacore::Bool  isNewArrayId,
casacore::Bool  isNewFieldId,
casacore::Bool  isNewSpectralWindow 
)
protected
virtual void casa::vi::VisBufferImpl::setModelVisCube ( const casacore::Complex &  c)
virtual
virtual void casa::vi::VisBufferImpl::setModelVisCube ( const casacore::Cube< casacore::Complex > &  vis)
virtual
virtual void casa::vi::VisBufferImpl::setModelVisCube ( const casacore::Vector< casacore::Float > &  stokes)
virtual
virtual void casa::vi::VisBufferImpl::setModelVisibility ( casacore::Matrix< CStokesVector > &  )
virtual
casacore::Data accessors and casa::vi::VisBufferImpl::setters ( where  appropriate)
virtual void casa::vi::VisBufferImpl::setVisCube ( const casacore::Complex &  c)
virtual
virtual void casa::vi::VisBufferImpl::setVisCube ( const casacore::Cube< casacore::Complex > &  )
virtual
virtual void casa::vi::VisBufferImpl::setVisibility ( casacore::Matrix< CStokesVector > &  )
virtual
virtual void casa::vi::VisBufferImpl::setWeight ( const casacore::Vector< casacore::Float > &  )
virtual
virtual void casa::vi::VisBufferImpl::setWeightMat ( const casacore::Matrix< casacore::Float > &  )
virtual
virtual void casa::vi::VisBufferImpl::setWeightSpectrum ( const casacore::Cube< casacore::Float > &  )
virtual
virtual const casacore::Vector<casacore::Float>& casa::vi::VisBufferImpl::sigma ( ) const
virtual
virtual const casacore::Matrix<casacore::Float>& casa::vi::VisBufferImpl::sigmaMat ( ) const
virtual
virtual void casa::vi::VisBufferImpl::sortCorr ( )
virtual

Form casacore::Stokes parameters from correlations

(these are preliminary versions) –> Not called: virtual void formStokes(); –> Not called: virtual void formStokesWeightandFlag(); –> Not called: virtual void formStokes(casacore::Cube<casacore::Complex>& vis); –> Not called: virtual void formStokes(casacore::Cube<casacore::Float>& fcube); // Will throw up if asked to do all 4.

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

virtual void casa::vi::VisBufferImpl::sortCorrelationsAux ( casacore::Bool  makeSorted)
protectedvirtual
virtual casacore::Int casa::vi::VisBufferImpl::spectralWindow ( ) const
virtual
virtual void casa::vi::VisBufferImpl::stateCopy ( const VisBufferImpl other)
protectedvirtual
virtual const casacore::Vector<casacore::Int>& casa::vi::VisBufferImpl::stateId ( ) const
virtual
virtual const casacore::Vector<casacore::Double>& casa::vi::VisBufferImpl::time ( ) const
virtual
virtual const casacore::Vector<casacore::Double>& casa::vi::VisBufferImpl::timeCentroid ( ) const
virtual
virtual const casacore::Vector<casacore::Double>& casa::vi::VisBufferImpl::timeInterval ( ) const
virtual
virtual void casa::vi::VisBufferImpl::unSortCorr ( )
virtual
template<typename Coord >
void casa::vi::VisBufferImpl::updateCoord ( Coord &  item,
const Coord &  otherItem 
)
protected
virtual void casa::vi::VisBufferImpl::updateCoordInfo ( const VisBufferImpl vb = NULL,
const casacore::Bool  dirDependent = true 
)
virtual

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

–> Called by routine in FixVis but that routine is not called: virtual void phaseCenterShift(const casacore::Vector<casacore::Double>& phase); Rotate visibility phase for phase center offsets (arcsecs) –> Not called: virtual void phaseCenterShift(casacore::Double dx, casacore::Double dy);

Update coordinate info - useful for copied VisBufferImpls that need to retain some state for later reference. Presently this fills antenna, array, field and spectralWindow ids, time, frequency and number of rows. if dirDependent is set to false the expensive direction dependent calculation of parallactic or direction of antenna from pointing table is avoided Add more as needed.

virtual const casacore::Vector<casacore::RigidVector<casacore::Double, 3> >& casa::vi::VisBufferImpl::uvw ( ) const
virtual
virtual const casacore::Matrix<casacore::Double>& casa::vi::VisBufferImpl::uvwMat ( ) const
virtual
virtual void casa::vi::VisBufferImpl::validate ( )
privatevirtual
virtual const casacore::Cube<casacore::Complex>& casa::vi::VisBufferImpl::visCube ( ) const
virtual
virtual const casacore::Matrix<CStokesVector>& casa::vi::VisBufferImpl::visibility ( ) const
virtual
virtual const casacore::Vector<casacore::Float>& casa::vi::VisBufferImpl::weight ( ) const
virtual
virtual const casacore::Matrix<casacore::Float>& casa::vi::VisBufferImpl::weightMat ( ) const
virtual
virtual const casacore::Cube<casacore::Float>& casa::vi::VisBufferImpl::weightSpectrum ( ) const
virtual

Friends And Related Function Documentation

friend class casa::asyncio::VLAT
friend

Definition at line 170 of file VisBufferImpl.h.

friend class VbCacheItemBase
friend

Definition at line 171 of file VisBufferImpl.h.

friend class ViReadImpl
friend

Definition at line 176 of file VisBufferImpl.h.

friend class ViReadImplAsync
friend

Definition at line 177 of file VisBufferImpl.h.

friend class VisBufferCache
friend

Definition at line 172 of file VisBufferImpl.h.

friend class VisBufferImplAsync
friend

Definition at line 174 of file VisBufferImpl.h.

friend class VisBufferImplAsyncWrapper
friend

Definition at line 175 of file VisBufferImpl.h.

friend class VisBufferState
friend

Definition at line 173 of file VisBufferImpl.h.

Member Data Documentation

VisBufferCache* casa::vi::VisBufferImpl::cache_p
private

Definition at line 601 of file VisBufferImpl.h.

shouldn t be casa::vi::VisBufferImpl::settable

subtraction: return the difference of the visibilities, flags of this and other are or-ed.

An exception is thrown if the number of rows or channels differs, but no further checks are done. –>Not called: VisBufferImpl & operator-=(const VisBufferImpl & vb);

Invalidate the cache

Access functions

return nCatOK_p ? nCat_p : fillnCat(); virtual void setNCat (const casacore::Int &))) { } virtual casacore::Int nCat() const { return This->nCat(); }Because of it being publicly exposed ...using nRow, nChannel, nCorr etc to determine the size of the buffer can be totally WRONG They MAY NOT represent the shape of a buffer filled in this iteration. Decide what is the right value (depending on where the vb is coming from) for you for the size of the buffer. i.e (nCorr(), nChannel(), nRow()) or vb.visCube().shape() The latter comes from the VisIter state...the former be careful... For example VisBuffAccumulator changes these in an unconnected fashion; without updating fillnrow datacube shape etc etc. You are warned nrow_p etc are public variables effectively (despite being declared private) so it can be changed anywhere the code uses a vb, intentionally or accidentally.

Definition at line 240 of file VisBufferImpl.h.

VisBufferState* casa::vi::VisBufferImpl::state_p
private

Definition at line 602 of file VisBufferImpl.h.


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