casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | List of all members
casa::asyncio::PrefetchColumns Class Reference

The PrefetchColumns class is used to specify a set of columns that can be prefetched when the (RO)VisibilityIterator is using asynchronous I/O. More...

#include <VisibilityIterator.h>

Inheritance diagram for casa::asyncio::PrefetchColumns:

Public Member Functions

PrefetchColumns operator+ (const PrefetchColumns &other)
 

Static Public Member Functions

static casacore::String columnName (casacore::Int id)
 
static PrefetchColumns prefetchColumnsAll ()
 
static PrefetchColumns prefetchAllColumnsExcept (casacore::Int firstColumn,...)
 
static PrefetchColumns prefetchColumns (casacore::Int firstColumn,...)
 

Detailed Description

The PrefetchColumns class is used to specify a set of columns that can be prefetched when the (RO)VisibilityIterator is using asynchronous I/O.

Synopsis

When creating an ROVisibilityIterator or VisibilityIterator that can potentially operate using asynchronous I/O it is necessary to specify which columns of the main table are to be prefetched by the lookahead thread. This class provides the way to specify those columns. The class is an STL set object of enum values defined in VisBufferComponents.h. These roughly correspond to the different components that can be access via a VisBuffer.

Example

This is a simple example showing the construction of a PrefetchColumns and its use in a VisibilityIterator constructor. For more complex cases (e.g., where the columns to be prefetched depend on other factors) the class provides some additional utility methods.

Usually the file that creates the VI will include VisBuffer which will then include VisBufferComponents.h; if not then the user will also need to add "#include <msvis/MSVis/VisBufferComponents.h>" to their file.

asyncio::PrefetchColumns prefetchColumns = PrefetchColumns::prefetchColumns (VisBufferComponents::Ant1, VisBufferComponents::Ant2, VisBufferComponents::ArrayId, VisBufferComponents::Direction1, VisBufferComponents::Direction2, VisBufferComponents::Feed1, VisBufferComponents::Feed1_pa, VisBufferComponents::Feed2, VisBufferComponents::Feed2_pa, VisBufferComponents::FieldId, VisBufferComponents::FlagCube, VisBufferComponents::Flag, VisBufferComponents::FlagRow, VisBufferComponents::Freq, VisBufferComponents::NChannel, VisBufferComponents::NCorr, VisBufferComponents::NRow, VisBufferComponents::ObservedCube, VisBufferComponents::PhaseCenter, VisBufferComponents::PolFrame, VisBufferComponents::SpW, VisBufferComponents::Time, VisBufferComponents::Uvw, VisBufferComponents::UvwMat, VisBufferComponents::Weight, -1);

wvi_p = new VisibilityIterator (& prefetchColumns, * wvi_p);

</example

Definition at line 127 of file VisibilityIterator.h.

Member Function Documentation

static casacore::String casa::asyncio::PrefetchColumns::columnName ( casacore::Int  id)
static
PrefetchColumns casa::asyncio::PrefetchColumns::operator+ ( const PrefetchColumns other)
static PrefetchColumns casa::asyncio::PrefetchColumns::prefetchAllColumnsExcept ( casacore::Int  firstColumn,
  ... 
)
static
static PrefetchColumns casa::asyncio::PrefetchColumns::prefetchColumns ( casacore::Int  firstColumn,
  ... 
)
static
static PrefetchColumns casa::asyncio::PrefetchColumns::prefetchColumnsAll ( )
static

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