GBTMSTypeFiller.h

Classes

GBTMSTypeFiller -- Used to fill the GBT_type table (e.g. GBT_HOLOGRAPHY or GBT_DCR) (full description)

class GBTMSTypeFiller

Interface

Public Members
GBTMSTypeFiller(const String &tableName)
GBTMSTypeFiller(Table &attachTable, const String &type)
~GBTMSTypeFiller()
void fill(const Record &other)
uInt nrow()
const String &type()
Int typeId()
void flush()
Private Members
void updateTableRow()
void updateIndex(const RecordDesc &other)
void updateIndex(const Vector<String> &colnames)
void checkRecord(Record &other)
GBTMSTypeFiller()
GBTMSTypeFiller(const GBTMSTypeFiller &other)
GBTMSTypeFiller &operator=(const GBTMSTypeFiller &other)

Description

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

The PROCESSOR

Synopsis

Example

Motivation

The GBT backend FITS files have keywords which are unhandled by the regular filling process. These are backend specific keywords which tend to be constant or re-used with time. These values are placed in a subtable name GBT_type where type is the type of backend such as HOLOGRAPHY, DCR, SPECTRALPROCESSOR or ACS. These are indexed directly from the PROCESSOR subtable of MS where TYPE_ID is the row into this table.

To Do

Member Description

GBTMSTypeFiller(const String &tableName)

open an already existing table - type is extracted from the tableName using everything after the last "_".

GBTMSTypeFiller(Table &attachTable, const String &type)

create a new, empty table attached to the given table using the indicate type.

~GBTMSTypeFiller()

void fill(const Record &other)

fill this record to this table. Each field in the record maps to a column in the the table. There must be no subrecords. The types of the fields must match that in the existing table. Fields not already in the table will result in new columns for that table. If there are only scalar columns, then new rows will only be added if this row does not already exist in the table. If there are any non-scalar columns, a new row is always added.

uInt nrow()

how many rows in this table

const String &type()

what is the type of this GBT_type table

Int typeId()

what is the most recent typeId filled

void flush()

flush this table

void updateTableRow()

void updateIndex(const RecordDesc &other)

void updateIndex(const Vector<String> &colnames)

void checkRecord(Record &other)

this checks the record and adds columns as required

GBTMSTypeFiller()

Undefined and unavailable

GBTMSTypeFiller(const GBTMSTypeFiller &other)

GBTMSTypeFiller &operator=(const GBTMSTypeFiller &other)