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.


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.


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);


Definition at line 127 of file VisibilityIterator.h.

Member Function Documentation

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

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