casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends
casa::VisBufferAsyncWrapper Class Reference

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

#include <VisBufferAsyncWrapper.h>

Inheritance diagram for casa::VisBufferAsyncWrapper:
casa::VisBufferAsync casa::VisBuffer

List of all members.

Public Member Functions

 VisBufferAsyncWrapper ()
 Create empty VisBuffer you can assign to or attach.
 VisBufferAsyncWrapper (ROVisibilityIterator &iter)
 
// Construct VisBuffer for a particular VisibilityIterator

The buffer will remain synchronized with the iterator.

 VisBufferAsyncWrapper (const VisBufferAsync &vb)
 Copy construct, looses synchronization with iterator: only use buffer for current iteration (or reattach).
virtual ~VisBufferAsyncWrapper ()
 Destructor (detaches from VisIter)
virtual VisBufferAsyncWrapperoperator= (const VisBufferAsyncWrapper &vb)
 Assignment, loses synchronization with iterator: only use buffer for current iteration (or reattach)
virtual VisBufferAsyncWrapperassign (const VisBuffer &vb, Bool copy=True)
 Assignment, optionally without copying the data across; with copy=True this is identical to normal assignment operator.
VisBufferAsyncWrapperoperator-= (const VisBuffer &vb)
 subtraction: return the difference of the visibilities, flags of this and other are or-ed.
virtual void attachToVisIter (ROVisibilityIterator &iter)
 Attach to a VisIter.
void attachToVisIterAsync (ROVisibilityIterator &iter)
virtual VisBufferclone ()
virtual void detachFromVisIter ()
 virtual Int dataDescriptionId() const;
virtual void invalidate ()
 Invalidate the cache.
virtual IntnCorr ()
 Access functions.
Int nCorr () const
IntnChannel ()
Int nChannel () const
Vector< Int > & channel ()
const Vector< Int > & channel () const
Bool newArrayId () const
Bool newFieldId () const
Bool newSpectralWindow () const
IntnRow ()
 virtual Int & nCat() { return nCatOK_p ? nCat_p : fillnCat(); } virtual Int nCat() const { return This->nCat(); }
Int nRow () const
Vector< Int > & antenna1 ()
const Vector< Int > & antenna1 () const
Vector< Int > & antenna2 ()
const Vector< Int > & antenna2 () const
Vector< Int > & feed1 ()
const Vector< Int > & feed1 () const
Vector< Int > & feed2 ()
const Vector< Int > & feed2 () const
Vector< Float > & feed1_pa ()
 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.
const Vector< Float > & feed1_pa () const
Vector< Float > & feed2_pa ()
const Vector< Float > & feed2_pa () const
Vector< SquareMatrix< Complex, 2 > > & CJones ()
const Vector< SquareMatrix
< Complex, 2 > > & 
CJones () const
virtual Vector< Floatfeed_pa (Double time) const
 Note that feed_pa is a function instead of a cached value.
Vector< MDirection > & direction1 ()
 direction1() and direction2() return arrays of directions where the first and the second antenna/feed are pointed to.
const Vector< MDirection > & direction1 () const
Vector< MDirection > & direction2 ()
const Vector< MDirection > & direction2 () const
virtual Float parang0 (Double time) const
 NOMINAL parallactic angle (feed p.a.
virtual Vector< Floatparang (Double time) const
virtual MDirection azel0 (Double time) const
 Note that azel is a function instead of a cached value.
Vector< Double > & azel0Vec (Double time, Vector< Double > &azelVec) const
virtual Vector< MDirectionazel (Double time) const
Matrix< Double > & azelMat (Double time, Matrix< Double > &azelMat) const
virtual Double hourang (Double time) const
 Hour angle for specified time.
Int fieldId () const
Int arrayId () const
Int polarizationId () const
Matrix< Bool > & flag ()
 Return flag for each channel & row.
const Matrix< Bool > & flag () const
Cube< Bool > & flagCube ()
 Return flag for each polarization, channel and row.
const Cube< Bool > & flagCube () const
Vector< Bool > & flagRow ()
const Vector< Bool > & flagRow () const
Array< Bool > & flagCategory ()
 Return flags for each polarization, channel, category, and row.
const Array< Bool > & flagCategory () const
Vector< Int > & scan ()
const Vector< Int > & scan () const
Int scan0 ()
 scalar version for convenience, when scan known constant for entire iteration/buffer.
Vector< Int > & processorId ()
const Vector< Int > & processorId () const
Vector< Int > & observationId ()
const Vector< Int > & observationId () const
Vector< Int > & stateId ()
const Vector< Int > & stateId () const
Vector< Double > & frequency ()
 Gets SPECTRAL_WINDOW/CHAN_FREQ (in Hz, acc.
const Vector< Double > & frequency () const
virtual void lsrFrequency (const Int &spw, Vector< Double > &freq, Bool &convert) const
 Vector<Double>& lsrFrequency(); const Vector<Double>& lsrFrequency() const;.
virtual Int numberCoh () const
MDirectionphaseCenter ()
MDirection phaseCenter () const
Int polFrame () const
Vector< Int > & corrType ()
const Vector< Int > & corrType () const
Vector< Float > & sigma ()
const Vector< Float > & sigma () const
Matrix< Float > & sigmaMat ()
const Matrix< Float > & sigmaMat () const
IntspectralWindow ()
Int spectralWindow () const
virtual Int dataDescriptionId () const
Vector< Double > & time ()
const Vector< Double > & time () const
Vector< Double > & timeCentroid ()
const Vector< Double > & timeCentroid () const
Vector< Double > & timeInterval ()
const Vector< Double > & timeInterval () const
Vector< Double > & exposure ()
const Vector< Double > & exposure () const
Vector< RigidVector< Double, 3 > > & uvw ()
const Vector< RigidVector
< Double, 3 > > & 
uvw () const
Matrix< Double > & uvwMat ()
const Matrix< Double > & uvwMat () const
Matrix< CStokesVector > & visibility ()
const Matrix< CStokesVector > & visibility () const
Matrix< CStokesVector > & modelVisibility ()
const Matrix< CStokesVector > & modelVisibility () const
Matrix< CStokesVector > & correctedVisibility ()
const Matrix< CStokesVector > & correctedVisibility () const
Cube< Complex > & visCube ()
const Cube< Complex > & visCube () const
Cube< Complex > & modelVisCube ()
Cube< Complex > & modelVisCube (const Bool &matchVisCubeShape)
const Cube< Complex > & modelVisCube () const
Cube< Complex > & correctedVisCube ()
const Cube< Complex > & correctedVisCube () const
Cube< Complex > & dataCube (const MS::PredefinedColumns whichcol=MS::DATA)
 Return visCube(), modelVisCube(), or correctedVisCube(), according to whichcol.
const Cube< Complex > & dataCube (const MS::PredefinedColumns whichcol=MS::DATA) const
Cube< Float > & floatDataCube ()
const Cube< Float > & floatDataCube () const
Vector< Float > & weight ()
 Returns the weights for each row averaged over the parallel hand correlations.
const Vector< Float > & weight () const
Matrix< Float > & weightMat ()
 Returns the nPol_p x curNumRow_p weight matrix.
const Matrix< Float > & weightMat () const
Bool existsWeightSpectrum () const
 Is a valid WEIGHT_SPECTRUM available?
Cube< Float > & weightSpectrum ()
const Cube< Float > & weightSpectrum () const
const Matrix< Float > & imagingWeight () const
Matrix< Float > & imagingWeight ()
Cube< Float > & weightCube ()
 virtual Matrix<Float>& imagingWeight() { return imagingWeightOK_p ? imagingWeight_p : fillImagingWeight(); } virtual const Matrix<Float>& imagingWeight() const { return This->imagingWeight(); }
Vector< IntvecIntRange (const MSCalEnums::colDef &calEnum) const
 Utility functions to provide coordinate or column ranges of the data in the VisBuffer.
Vector< IntantIdRange () const
 Antenna id.
Bool timeRange (MEpoch &rTime, MVEpoch &rTimeEP, MVEpoch &rInterval) const
 Time range.
virtual Vector< uInt > & rowIds ()
 Return the row Ids from the original ms.
virtual const Vector< uInt > & rowIds () const
void freqAverage ()
 Frequency average the buffer (visibility() column only)
void freqAveCubes ()
 Frequency average the buffer (visCube and [if present] modelVisCube)
void channelAve (const Matrix< Int > &chanavebounds)
 Average channel axis according to chanavebounds, for whichever of DATA, MODEL_DATA, CORRECTED_DATA, FLOAT_DATA, FLAG, and WEIGHT_SPECTRUM are present.
template<class T >
void chanAveVisCube (Cube< T > &data, Int nChanOut)
 Average channel axis by factor.
template<class T >
void chanAccCube (Cube< T > &data, Int nChanOut)
 Accumulate channel axis by factor, without applying WEIGHT_SPECTRUM even if it is present.
void chanAveFlagCube (Cube< Bool > &flagcube, const Int nChanOut, const Bool restoreWeightSpectrum=True)
 This defaults to no conceptual side effects, but usually it is more efficient to let it leave weightSpectrum() in a channel averaged state.
void formStokes ()
 Form Stokes parameters from correlations (these are preliminary versions)
void formStokesWeightandFlag ()
void formStokes (Cube< Complex > &vis)
void formStokes (Cube< Float > &fcube)
void sortCorr ()
 Sort/unsort the correlations, if necessary (Rudimentary handling of non-canonically sorted correlations--use with care!)
void unSortCorr ()
void normalize (const Bool &phaseOnly=False)
 Normalize the visCube by the modelVisCube (and optionally also divide visCube_p by its normalized amp)
void resetWeightMat ()
 Fill weightMat according to sigma column.
void phaseCenterShift (Double dx, Double dy)
 Rotate visibility phase for phase center offsets.
virtual void updateCoordInfo (const VisBuffer *vb=NULL)
 Update coordinate info - useful for copied VisBuffers that need to retain some state for later reference.
virtual void setVisCube (Complex c)
 Set the visibility to a constant, note that this only changes the buffer, no values are written back to tables from here.
virtual void setModelVisCube (Complex c)
virtual void setCorrectedVisCube (Complex c)
void setVisCube (const Cube< Complex > &vis)
 Set the visibility, note that this only changes the buffer, no values are written back to tables from here.
void setModelVisCube (const Cube< Complex > &vis)
void setCorrectedVisCube (const Cube< Complex > &vis)
void setFloatDataCube (const Cube< Float > &fcube)
 Like the above, but for FLOAT_DATA, keeping it as real floats.
void setModelVisCube (const Vector< Float > &stokes)
 Set model according to a Stokes vector.
void refModelVis (const Matrix< CStokesVector > &mvis)
 Reference external model visibilities.
void removeScratchCols ()
 Remove scratch cols data from vb.
virtual const ROMSColumnsmsColumns () const
 Access the current ROMSColumns object via VisIter.
virtual Int numberAnt () const
virtual void allSelectedSpectralWindows (Vector< Int > &spws, Vector< Int > &nvischan)
 Get all selected spectral windows not just the one in the actual buffer.
void allSelectedSpectralWindows (Vector< Int > &spws, Vector< Int > &nvischan) const
virtual Int msId () const
 Return the actual msid, useful if using multiple ms to monitor which ms in the list is being dealt with.
virtual Bool newMS () const
 checked if the ms has changed since the last chunk processed
void wrap (VisBufferAsync *vba)

Protected Member Functions

virtual Bool checkMSId ()
 
     

virtual void checkVisIter (const char *func, const char *file, int line) const
void copyCache (const VisBuffer &other, Bool force)
const VisImagingWeightgetImagingWeightGenerator () const
Int getOldMsId () const
ROVisibilityIteratorgetVisibilityIterator () const
VisBufferAsyncreleaseVba ()
 CacheStatus (antenna1)
 Define the cache statuses.
 CacheStatus (antenna2)
 CacheStatus (arrayId)
 CacheStatus (channel)
 CacheStatus (cjones)
 CacheStatus (correctedVisCube)
 CacheStatus (correctedVisibility)
 CacheStatus (corrType)
 CacheStatus (dataDescriptionId)
 CacheStatus (direction1)
 CacheStatus (direction2)
 CacheStatus (exposure)
 CacheStatus (feed1_pa)
 CacheStatus (feed1)
 CacheStatus (feed2_pa)
 CacheStatus (feed2)
 CacheStatus (fieldId)
 CacheStatus (flagCategory)
 CacheStatus (flagCube)
 CacheStatus (flag)
 CacheStatus (flagRow)
 CacheStatus (floatDataCube)
 CacheStatus (frequency)
 CacheStatus (imagingWeight)
 CacheStatus (modelVisCube)
 CacheStatus (modelVisibility)
 CacheStatus (ms)
 CacheStatus (nChannel)
 CacheStatus (nCorr)
 CacheStatus (nRow)
 CacheStatus (observationId)
 CacheStatus (phaseCenter)
 CacheStatus (polFrame)
 CacheStatus (processorId)
 CacheStatus (rowIds)
 CacheStatus (scan)
 CacheStatus (sigmaMat)
 CacheStatus (sigma)
 CacheStatus (spectralWindow)
 CacheStatus (stateId)
 CacheStatus (timeCentroid)
 CacheStatus (timeInterval)
 CacheStatus (time)
 CacheStatus (uvwMat)
 CacheStatus (uvw)
 CacheStatus (visCube)
 CacheStatus (visibility)
 CacheStatus (weightMat)
 CacheStatus (weight)
 CacheStatus (weightSpectrum)

Private Member Functions

void validate ()
 validate the cache
void attachWrappedVb (ROVisibilityIterator *iter)
void setAllCacheStatuses (bool status)
Bool nonCanonCorr ()
Vector< Intunique (const Vector< Int > &indices) const
 Filter index arrays for unique elements.
Vector< Int > & fillAnt1 ()
 +-------------------------------------------------+ | Cache Declarations (fillers, statuses and data) | +-------------------------------------------------+
Vector< Int > & fillAnt2 ()
IntfillArrayId ()
Vector< Int > & fillChannel ()
 Matrix<Int>& fillChanAveBounds();.
Vector< SquareMatrix< Complex, 2 > > & fillCjones ()
Vector< Int > & fillCorrType ()
virtual Vector< MDirection > & fillDirection1 ()
virtual Vector< MDirection > & fillDirection2 ()
Vector< Double > & fillExposure ()
Vector< Int > & fillFeed1 ()
Vector< Float > & fillFeed1_pa ()
Vector< Int > & fillFeed2 ()
Vector< Float > & fillFeed2_pa ()
IntfillFieldId ()
Matrix< Bool > & fillFlag ()
Array< Bool > & fillFlagCategory ()
Cube< Bool > & fillFlagCube ()
Vector< Bool > & fillFlagRow ()
Cube< Float > & fillFloatDataCube ()
Vector< Double > & fillFreq ()
IntfillnChannel ()
 Matrix<Float>& fillImagingWeight(); Vector<Double>& fillLSRFreq();.
IntfillnCorr ()
IntfillnRow ()
 virtual Int & fillnCat();
Vector< Int > & fillObservationId ()
virtual MDirectionfillPhaseCenter ()
IntfillPolFrame ()
Vector< Int > & fillProcessorId ()
Vector< Int > & fillScan ()
Vector< Float > & fillSigma ()
Matrix< Float > & fillSigmaMat ()
IntfillSpW ()
Vector< Int > & fillStateId ()
Vector< Double > & fillTime ()
Vector< Double > & fillTimeCentroid ()
Vector< Double > & fillTimeInterval ()
Vector< RigidVector< Double, 3 > > & filluvw ()
Matrix< Double > & filluvwMat ()
Matrix< CStokesVector > & fillVis (VisibilityIterator::DataColumn whichOne)
Cube< Complex > & fillVisCube (VisibilityIterator::DataColumn whichOne)
Vector< Float > & fillWeight ()
Matrix< Float > & fillWeightMat ()
Cube< Float > & fillWeightSpectrum ()

Private Attributes

VisBufferAsyncwrappedVba_p
ROVisibilityIteratorwrappedVisIterAsync_p

Friends

class ViReadImplAsync

Detailed Description

VisBuffers encapulsate one chunk of visibility data for processing.

Intended use:

Public interface

Prerequisite

Etymology

VisBuffer is a buffer for visibility data

Synopsis

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

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

To Do

Definition at line 81 of file VisBufferAsyncWrapper.h.


Constructor & Destructor Documentation

Create empty VisBuffer you can assign to or attach.

// Construct VisBuffer for a particular VisibilityIterator

The buffer will remain synchronized with the iterator.

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

Destructor (detaches from VisIter)


Member Function Documentation

virtual void casa::VisBufferAsyncWrapper::allSelectedSpectralWindows ( Vector< Int > &  spws,
Vector< Int > &  nvischan 
) [virtual]

Get all selected spectral windows not just the one in the actual buffer.

Reimplemented from casa::VisBufferAsync.

void casa::VisBufferAsyncWrapper::allSelectedSpectralWindows ( Vector< Int > &  spws,
Vector< Int > &  nvischan 
) const

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

const Vector<Int>& casa::VisBufferAsyncWrapper::antenna1 ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

const Vector<Int>& casa::VisBufferAsyncWrapper::antenna2 ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Antenna id.

range (includes both ANTENNA1 and ANTENNA2 columns)

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

virtual VisBufferAsyncWrapper& casa::VisBufferAsyncWrapper::assign ( const VisBuffer vb,
Bool  copy = True 
) [virtual]

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

Reimplemented from casa::VisBufferAsync.

Attach to a VisIter.

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

Reimplemented from casa::VisBufferAsync.

virtual Vector<MDirection> casa::VisBufferAsyncWrapper::azel ( Double  time) const [virtual]

Reimplemented from casa::VisBufferAsync.

virtual MDirection casa::VisBufferAsyncWrapper::azel0 ( Double  time) const [virtual]

Note that azel is a function instead of a cached value.

Reimplemented from casa::VisBufferAsync.

Vector<Double>& casa::VisBufferAsyncWrapper::azel0Vec ( Double  time,
Vector< Double > &  azelVec 
) const [virtual]

Reimplemented from casa::VisBuffer.

Matrix<Double>& casa::VisBufferAsyncWrapper::azelMat ( Double  time,
Matrix< Double > &  azelMat 
) const [virtual]

Reimplemented from casa::VisBuffer.

Define the cache statuses.

For example, CacheStatus (antenna1) defines:

virtual Bool antenna1OK () const { return antenna1OK_p;}

and

Bool antenna1OK_p;

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

casa::VisBufferAsyncWrapper::CacheStatus ( cjones  ) [protected]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

template<class T >
void casa::VisBufferAsyncWrapper::chanAccCube ( Cube< T > &  data,
Int  nChanOut 
)

Accumulate channel axis by factor, without applying WEIGHT_SPECTRUM even if it is present.

It is primarily intended for averaging WEIGHT_SPECTRUM itself.

Reimplemented from casa::VisBuffer.

void casa::VisBufferAsyncWrapper::chanAveFlagCube ( Cube< Bool > &  flagcube,
const Int  nChanOut,
const Bool  restoreWeightSpectrum = True 
) [virtual]

This defaults to no conceptual side effects, but usually it is more efficient to let it leave weightSpectrum() in a channel averaged state.

restoreWeightSpectrum has no effect if !existsWeightSpectrum().

Reimplemented from casa::VisBuffer.

template<class T >
void casa::VisBufferAsyncWrapper::chanAveVisCube ( Cube< T > &  data,
Int  nChanOut 
)

Average channel axis by factor.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

const Vector<Int>& casa::VisBufferAsyncWrapper::channel ( ) const [virtual]

Reimplemented from casa::VisBuffer.

void casa::VisBufferAsyncWrapper::channelAve ( const Matrix< 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!

Reimplemented from casa::VisBuffer.

virtual Bool casa::VisBufferAsyncWrapper::checkMSId ( ) [protected, virtual]

     

Reimplemented from casa::VisBuffer.

virtual void casa::VisBufferAsyncWrapper::checkVisIter ( const char *  func,
const char *  file,
int  line 
) const [protected, virtual]

Reimplemented from casa::VisBuffer.

const Vector<SquareMatrix<Complex, 2> >& casa::VisBufferAsyncWrapper::CJones ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBufferAsync.

void casa::VisBufferAsyncWrapper::copyCache ( const VisBuffer other,
Bool  force 
) [protected, virtual]

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBuffer.

const Cube<Complex>& casa::VisBufferAsyncWrapper::correctedVisCube ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

const Vector<Int>& casa::VisBufferAsyncWrapper::corrType ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Return visCube(), modelVisCube(), or correctedVisCube(), according to whichcol.

They throw an exception if whichcol is unsupported, but note the encouraged default. TODO: Optionally return DATA if whichcol is unavailable.

Reimplemented from casa::VisBuffer.

const Cube<Complex>& casa::VisBufferAsyncWrapper::dataCube ( const MS::PredefinedColumns  whichcol = MS::DATA) const

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

virtual Int dataDescriptionId() const;

Reimplemented from casa::VisBufferAsync.

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.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Is a valid WEIGHT_SPECTRUM available?

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

const Vector<Int>& casa::VisBufferAsyncWrapper::feed1 ( ) const [virtual]

Reimplemented from casa::VisBuffer.

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 VisBuffer only to benefit from caching of the feed and antenna IDs.

Reimplemented from casa::VisBuffer.

const Vector<Float>& casa::VisBufferAsyncWrapper::feed1_pa ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

const Vector<Int>& casa::VisBufferAsyncWrapper::feed2 ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

const Vector<Float>& casa::VisBufferAsyncWrapper::feed2_pa ( ) const [virtual]

Reimplemented from casa::VisBuffer.

virtual Vector<Float> casa::VisBufferAsyncWrapper::feed_pa ( Double  time) const [virtual]

Note that feed_pa is a function instead of a cached value.

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBuffer.

+-------------------------------------------------+ | Cache Declarations (fillers, statuses and data) | +-------------------------------------------------+

Preferred naming convention:

T thing () --- returns the value of thing (public method) T fillThing () --- fills thing cache variable and sets thingOK_p to true (private) Bool thingOK_p --- true if the value of thing is currently cached (private) T thing_p --- holds cached value of thing (if thingOK_p is true) (private)

Example: Vector<Int>& feed1(); Vector<Int>& fillFeed1(); Bool feed1OK_P; Vector<Int> feed1_p;

Cache filling routines in alphabetical order

The first line in a fill routine should be the macro CheckVisIter. This will cause an AipsError to be throw when there is no visibilty iterator associated with the VisBuffer. This is especially important because the fillers may be called on a VisBufferAsync in two contexts: filling where there will be a VI attached and in normal use where there is no VI attached. The filler must also set the cache status variable to True during its execution.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Matrix<Int>& fillChanAveBounds();.

Reimplemented from casa::VisBuffer.

Vector<SquareMatrix<Complex, 2> >& casa::VisBufferAsyncWrapper::fillCjones ( ) [private, virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Matrix<Float>& fillImagingWeight(); Vector<Double>& fillLSRFreq();.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Int& casa::VisBufferAsyncWrapper::fillnRow ( ) [private, virtual]

virtual Int & fillnCat();

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Int& casa::VisBufferAsyncWrapper::fillSpW ( ) [private, virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Return flag for each channel & row.

Reimplemented from casa::VisBuffer.

const Matrix<Bool>& casa::VisBufferAsyncWrapper::flag ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Return flags for each polarization, channel, category, and row.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Return flag for each polarization, channel and row.

Reimplemented from casa::VisBuffer.

const Cube<Bool>& casa::VisBufferAsyncWrapper::flagCube ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

const Vector<Bool>& casa::VisBufferAsyncWrapper::flagRow ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Form Stokes parameters from correlations (these are preliminary versions)

Reimplemented from casa::VisBuffer.

void casa::VisBufferAsyncWrapper::formStokes ( Cube< Complex > &  vis) [virtual]

Reimplemented from casa::VisBuffer.

void casa::VisBufferAsyncWrapper::formStokes ( Cube< Float > &  fcube) [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

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

Reimplemented from casa::VisBuffer.

Frequency average the buffer (visibility() column only)

Reimplemented from casa::VisBuffer.

Gets SPECTRAL_WINDOW/CHAN_FREQ (in Hz, acc.

to the MS def'n v.2).

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Int casa::VisBufferAsyncWrapper::getOldMsId ( ) const [protected, virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

virtual Double casa::VisBufferAsyncWrapper::hourang ( Double  time) const [virtual]

Hour angle for specified time.

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

virtual void casa::VisBufferAsyncWrapper::invalidate ( ) [virtual]

Invalidate the cache.

Reimplemented from casa::VisBufferAsync.

virtual void casa::VisBufferAsyncWrapper::lsrFrequency ( const Int spw,
Vector< Double > &  freq,
Bool convert 
) const [virtual]

Vector<Double>& lsrFrequency(); const Vector<Double>& lsrFrequency() const;.

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

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBuffer.

Cube<Complex>& casa::VisBufferAsyncWrapper::modelVisCube ( const Bool matchVisCubeShape) [virtual]

Reimplemented from casa::VisBuffer.

const Cube<Complex>& casa::VisBufferAsyncWrapper::modelVisCube ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

virtual const ROMSColumns& casa::VisBufferAsyncWrapper::msColumns ( ) const [virtual]

Access the current ROMSColumns object via VisIter.

Reimplemented from casa::VisBufferAsync.

virtual Int casa::VisBufferAsyncWrapper::msId ( ) const [virtual]

Return the actual msid, useful if using multiple ms to monitor which ms in the list is being dealt with.

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

virtual Int& casa::VisBufferAsyncWrapper::nCorr ( ) [virtual]

Access functions.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBufferAsync.

virtual Bool casa::VisBufferAsyncWrapper::newMS ( ) const [virtual]

checked if the ms has changed since the last chunk processed

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBuffer.

void casa::VisBufferAsyncWrapper::normalize ( const Bool phaseOnly = False) [virtual]

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

Reimplemented from casa::VisBuffer.

virtual Int & nCat() { return nCatOK_p ? nCat_p : fillnCat(); } virtual 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.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

virtual Int casa::VisBufferAsyncWrapper::numberAnt ( ) const [virtual]

Reimplemented from casa::VisBufferAsync.

virtual Int casa::VisBufferAsyncWrapper::numberCoh ( ) const [virtual]

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

VisBufferAsyncWrapper& casa::VisBufferAsyncWrapper::operator-= ( const VisBuffer vb)

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.

Reimplemented from casa::VisBuffer.

virtual VisBufferAsyncWrapper& casa::VisBufferAsyncWrapper::operator= ( const VisBufferAsyncWrapper vb) [virtual]

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

virtual Vector<Float> casa::VisBufferAsyncWrapper::parang ( Double  time) const [virtual]

Reimplemented from casa::VisBufferAsync.

virtual Float casa::VisBufferAsyncWrapper::parang0 ( Double  time) const [virtual]

NOMINAL parallactic angle (feed p.a.

offset NOT included)

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Rotate visibility phase for phase center offsets.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

void casa::VisBufferAsyncWrapper::refModelVis ( const Matrix< CStokesVector > &  mvis) [virtual]

Reference external model visibilities.

Reimplemented from casa::VisBuffer.

Remove scratch cols data from vb.

Reimplemented from casa::VisBuffer.

Fill weightMat according to sigma column.

Reimplemented from casa::VisBuffer.

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.

Reimplemented from casa::VisBufferAsync.

virtual const Vector<uInt>& casa::VisBufferAsyncWrapper::rowIds ( ) const [virtual]

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBuffer.

const Vector<Int>& casa::VisBufferAsyncWrapper::scan ( ) const [virtual]

Reimplemented from casa::VisBuffer.

scalar version for convenience, when scan known constant for entire iteration/buffer.

Reimplemented from casa::VisBuffer.

void casa::VisBufferAsyncWrapper::setAllCacheStatuses ( bool  status) [private, virtual]

Reimplemented from casa::VisBuffer.

virtual void casa::VisBufferAsyncWrapper::setCorrectedVisCube ( Complex  c) [virtual]

Reimplemented from casa::VisBufferAsync.

void casa::VisBufferAsyncWrapper::setCorrectedVisCube ( const Cube< Complex > &  vis) [virtual]

Reimplemented from casa::VisBufferAsync.

void casa::VisBufferAsyncWrapper::setFloatDataCube ( const Cube< Float > &  fcube) [virtual]

Like the above, but for FLOAT_DATA, keeping it as real floats.

Reimplemented from casa::VisBuffer.

virtual void casa::VisBufferAsyncWrapper::setModelVisCube ( Complex  c) [virtual]

Reimplemented from casa::VisBufferAsync.

void casa::VisBufferAsyncWrapper::setModelVisCube ( const Cube< Complex > &  vis) [virtual]

Reimplemented from casa::VisBufferAsync.

void casa::VisBufferAsyncWrapper::setModelVisCube ( const Vector< Float > &  stokes) [virtual]

Set model according to a Stokes vector.

Reimplemented from casa::VisBufferAsync.

virtual void casa::VisBufferAsyncWrapper::setVisCube ( Complex  c) [virtual]

Set the visibility to a constant, note that this only changes the buffer, no values are written back to tables from here.

Reimplemented from casa::VisBufferAsync.

void casa::VisBufferAsyncWrapper::setVisCube ( const Cube< Complex > &  vis) [virtual]

Set the visibility, note that this only changes the buffer, no values are written back to tables from here.

Reimplemented from casa::VisBufferAsync.

Reimplemented from casa::VisBuffer.

const Vector<Float>& casa::VisBufferAsyncWrapper::sigma ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

const Matrix<Float>& casa::VisBufferAsyncWrapper::sigmaMat ( ) const [virtual]

Reimplemented from casa::VisBuffer.

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

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

const Vector<Int>& casa::VisBufferAsyncWrapper::stateId ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

const Vector<Double>& casa::VisBufferAsyncWrapper::time ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Bool casa::VisBufferAsyncWrapper::timeRange ( MEpoch rTime,
MVEpoch rTimeEP,
MVEpoch rInterval 
) const [virtual]

Time range.

Reimplemented from casa::VisBuffer.

Vector<Int> casa::VisBufferAsyncWrapper::unique ( const Vector< Int > &  indices) const [private, virtual]

Filter index arrays for unique elements.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

virtual void casa::VisBufferAsyncWrapper::updateCoordInfo ( const VisBuffer vb = NULL) [virtual]

Update coordinate info - useful for copied VisBuffers that need to retain some state for later reference.

Presently this fills antenna, array, field and spectralWindow ids, time, frequency and number of rows. Add more as needed.

Reimplemented from casa::VisBuffer.

const Vector<RigidVector<Double, 3> >& casa::VisBufferAsyncWrapper::uvw ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

const Matrix<Double>& casa::VisBufferAsyncWrapper::uvwMat ( ) const [virtual]

Reimplemented from casa::VisBuffer.

void casa::VisBufferAsyncWrapper::validate ( ) [private, virtual]

validate the cache

Reimplemented from casa::VisBuffer.

Utility functions to provide coordinate or column ranges of the data in the VisBuffer.

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.  

Reimplemented from casa::VisBuffer.

Cube<Complex>& casa::VisBufferAsyncWrapper::visCube ( ) [virtual]

Reimplemented from casa::VisBuffer.

const Cube<Complex>& casa::VisBufferAsyncWrapper::visCube ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Returns the weights for each row averaged over the parallel hand correlations.

Reimplemented from casa::VisBuffer.

const Vector<Float>& casa::VisBufferAsyncWrapper::weight ( ) const [virtual]

Reimplemented from casa::VisBuffer.

virtual Matrix<Float>& imagingWeight() { return imagingWeightOK_p ? imagingWeight_p : fillImagingWeight(); } virtual const Matrix<Float>& imagingWeight() const { return This->imagingWeight(); }

Reimplemented from casa::VisBuffer.

Returns the nPol_p x curNumRow_p weight matrix.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.

Reimplemented from casa::VisBuffer.


Friends And Related Function Documentation

friend class ViReadImplAsync [friend]

Reimplemented from casa::VisBufferAsync.

Definition at line 83 of file VisBufferAsyncWrapper.h.


Member Data Documentation

Definition at line 533 of file VisBufferAsyncWrapper.h.

Definition at line 534 of file VisBufferAsyncWrapper.h.


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