Go to the documentation of this file.
29 #ifndef MS_MSTABLEINDEX_H
30 #define MS_MSTABLEINDEX_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/casa/Arrays/Vector.h>
34 #include <casacore/casa/Containers/Block.h>
35 #include <casacore/casa/Containers/RecordField.h>
36 #include <casacore/tables/Tables/Table.h>
37 #include <casacore/tables/Tables/ScalarColumn.h>
38 #include <casacore/tables/Tables/ColumnsIndex.h>
virtual Table & table()
return the subtable being indexed
Block< RecordFieldPtr< Int > > indexKeys_p
virtual Vector< uInt > getRowNumbers()
get all of the rows in the subTable which have data during the indicated time and interval values.
MSTableIndex & operator=(const MSTableIndex &other)
assignment operator, refernce semantics
Block< RecordFieldPtr< Int > > intKeys_p
virtual Bool isNull()
is this attached to a null table
Double lastTime_p
last known time and interval
MSTableIndex(const MSTableIndex &other)
construct one from another
MSTableIndex(const Table &subTable, const Vector< String > &indexCols, ColumnsIndex::Compare *compareFunction=0)
construct one using the indicated subtable which is part of the parent MS using the indicated index c...
virtual Double & interval()
access the INTERVAL to use in the search (seconds), must be >= 0
const Double * intervalVals_p
virtual uInt getNearestRow(Bool &found)
get the row number which falls in the interval and has the time nearest to the center of the interval...
ScalarColumn< Double > intervalColumn_p
MSTableIndex()
no index attached, use the attach function or assignment operator to change that
Index to one or more columns in a table.
Int lastNearest_p
last nearest
Main interface class to a read/write table.
const Double * timeVals_p
uInt nrows_p
last known sub-table size
Vector< uInt > lastSearch_p
last search result - matching integer keys
Vector< Double > timeVec_p
this file contains all the compiler specific defines
virtual Record & accessKey()
access the record of index (integer) keys
virtual Double & time()
access the TIME to use in the search (seconds)
Bool isNull() const
Test if the object is null, i.e.
Vector< Double > intervalVec_p
bool Bool
Define the standard types used by Casacore.
Record * key_p
Internal keys - set by user.
A hierarchical collection of named fields of various types.
A 1-D Specialization of the Array class.
virtual void setChanged()
Call this when an index in an existing row has changed.
Int Compare(const Block< void * > &fieldPtrs, const Block< void * > &dataPtrs, const Block< Int > &dataTypes, Int index)
Define the signature of a comparison function.
ScalarColumn< Double > timeColumn_p
Vector< Int > lastKeys_p
last known integer key values
void attach(const Table &subTable, const Vector< String > &indexCols, ColumnsIndex::Compare *compareFunction=0)
attach this to a subtable using indexCols