29 #ifndef MS_SDSPWINHANDLER_H
30 #define MS_SDSPWINHANDLER_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/casa/Arrays/Vector.h>
34 #include <casacore/casa/Containers/RecordField.h>
35 #include <casacore/tables/Tables/TableColumn.h>
42 class MSSpectralWindow;
43 class MSSpWindowColumns;
114 Double originalFreqDelt,
Int freqRefType);
RecordFieldPtr< Bool > flagRowKey_p
MSSpWindowColumns * msSpWinCols_p
Table * theCache_p
temporary table to hold the fields we are indexing on, can't index on array column
RecordFieldPtr< Int > netSidebandKey_p
void initAll(MeasurementSet &ms, Vector< Bool > &handledCols, const Record &row)
initialize everything
TableColumn netSidebandCol_p
RecordFieldPtr< Int > nchanKey_p
RecordFieldPtr< Int > ifConvChainKey_p
void clearAll()
cleanup everything
SDSpWindowHandler()
default ctor is not attached to a MS and hence is useless until attached
RORecordFieldPtr< Int > ifConvChainField_p
Vector< Double > f0Cache_p
SDSpWindowHandler(const SDSpWindowHandler &other)
copy ctor
TableColumn freqGroupCol_p
void initRow(Vector< Bool > &handledCols, const Record &row)
initialize the stuff dependent on the row
RORecordFieldPtr< Int > spWinIdField_p
fields from a previous life as a MS
void resetRow(const Record &)
reset internals given indicated row, use the same MS; just resets the id pointer
uInt nextCacheRow_p
the next row number to use in the cached
void attach(MeasurementSet &ms, Vector< Bool > &handledCols, const Record &row)
attach to a MS, the handledCols and row arguments are ignored here
MSSpectralWindow * msSpWin_p
void clearRow()
clean up items related to the row
RecordFieldPtr< Int > freqRefTypeKey_p
RecordFieldPtr< Int > freqGroupKey_p
TableColumn idCol_p
the columns in the cache table
TableColumn ifConvChainCol_p
Vector< Double > fNCache_p
RORecordFieldPtr< Int > netSidebandField_p
TableColumn freqRefTypeCol_p
ColumnsIndex * index_p
the cache table is the one that is indexed
RORecordFieldPtr< Bool > flagRowField_p
Int spWindowId()
get the current spWindow ID
void fill(const Record &row, const Vector< Double > &frequency, Double refFrequency, Double originalFreqDelt, Int freqRefType)
fill - a circular buffer of last 100 spectral windows is checked
RORecordFieldPtr< Int > freqGroupField_p
uInt cacheSize_p
the maximum number of rows in the cache - currently this is 1000
SDSpWindowHandler & operator=(const SDSpWindowHandler &other)
assignment operator, uses copy semantics
SDSpWindowHandler(MeasurementSet &ms, Vector< Bool > &handledCols, const Record &row)
attach this to a MS, marking fields in row which are explicitly handled here
Int rownr_p
the current row number in the SPECTRAL_WINDOW table, i.e.
Vector< Double > bwCache_p
Int bandwidField_p
fields possibly mined from the SDFITS row floating point fields that we can't be certain of their typ...
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.