casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions
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>

List of all members.

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,...)

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 <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.


Member Function Documentation

PrefetchColumns casa::asyncio::PrefetchColumns::operator+ ( const PrefetchColumns other)
static PrefetchColumns casa::asyncio::PrefetchColumns::prefetchColumns ( Int  firstColumn,
  ... 
) [static]

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