casa
$Rev:20696$
|
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>
Public Member Functions | |
PrefetchColumns | operator+ (const PrefetchColumns &other) |
Static Public Member Functions | |
static String | columnName (Int id) |
static PrefetchColumns | prefetchColumnsAll () |
static PrefetchColumns | prefetchAllColumnsExcept (Int firstColumn,...) |
static PrefetchColumns | prefetchColumns (Int firstColumn,...) |
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 <synthesis/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 128 of file VisibilityIterator.h.
static String casa::asyncio::PrefetchColumns::columnName | ( | Int | id | ) | [static] |
PrefetchColumns casa::asyncio::PrefetchColumns::operator+ | ( | const PrefetchColumns & | other | ) |
static PrefetchColumns casa::asyncio::PrefetchColumns::prefetchAllColumnsExcept | ( | Int | firstColumn, |
... | |||
) | [static] |
static PrefetchColumns casa::asyncio::PrefetchColumns::prefetchColumns | ( | Int | firstColumn, |
... | |||
) | [static] |
static PrefetchColumns casa::asyncio::PrefetchColumns::prefetchColumnsAll | ( | ) | [static] |