26#ifndef MS_SDOBSERVATIONHANDLER_H 
   27#define MS_SDOBSERVATIONHANDLER_H 
   29#include <casacore/casa/aips.h> 
   30#include <casacore/casa/Containers/RecordField.h> 
   31#include <casacore/tables/Tables/ScalarColumn.h> 
   32#include <casacore/casa/Arrays/ArrayFwd.h> 
   40class MSObservationColumns;
 
Read-Only access to an individual field from a Record.
 
SDObservationHandler & operator=(const SDObservationHandler &other)
assignment operator, uses copy semantics
 
RORecordFieldPtr< Array< Double > > timeRange_p
 
RecordFieldPtr< String > projectKey_p
 
void clearRow()
cleanup things which depend on the row description being fixed
 
RecordFieldPtr< String > telescopeKey_p
 
ScalarColumn< String > nsObsIdCol_p
 
MSObservationColumns * msObsCols_p
 
SDObservationHandler(MeasurementSet &ms, Vector< Bool > &handledCols, const Record &row)
attach this to a MS, mark the appropriate columns as handled given the indicated row
 
Int observationId()
get the current observation ID
 
RORecordFieldPtr< String > observer_p
pointers to fields in record, only used if attached
 
RecordFieldPtr< String > observerKey_p
 
void makeIndex()
initialize the index
 
RORecordFieldPtr< String > projid_p
 
RecordFieldPtr< Bool > flagRowKey_p
 
RORecordFieldPtr< String > obsid_p
 
RORecordFieldPtr< Double > releaseDate_p
 
void clearAll()
cleanup everything
 
void resetRow(const Record &row)
reset internals given indicated row, use the same MS
 
void fill(const Record &row, const String &telescopeName, const Vector< Double > &timeRange)
fill - a new row is added only when necessary
 
SDObservationHandler()
default ctor is not attached to a MS and hence is useless until attached
 
SDObservationHandler(const SDObservationHandler &other)
copy ctor
 
RecordFieldPtr< String > ns_obsidKey_p
 
void initAll(MeasurementSet &ms, Vector< Bool > &handledCols, const Record &row)
initialize everything
 
RecordFieldPtr< Double > releaseDateKey_p
 
RORecordFieldPtr< Bool > flagRow_p
 
void initRow(Vector< Bool > &handledCols, const Record &row)
initialize the things which depend on the row
 
void updateTimeRange(const Vector< Double > &timeRange)
update the time range
 
void attach(MeasurementSet &ms, Vector< Bool > &handledCols, const Record &row)
attach to a MS, mark the appropriate columns as handled given the row
 
String: the storage and methods of handling collections of characters.
 
this file contains all the compiler specific defines