casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
casacore::TableInfo Class Reference

Table type, subtype and further info. More...

#include <TableInfo.h>

Public Types

enum  Type {
 enum for various standard Table types. More...

Public Member Functions

 TableInfo ()
 Create an empty object. More...
 TableInfo (const String &fileName)
 Create the object reading it from the given file name. More...
 TableInfo (Type which)
 Create a TableInfo object of one of the predefined types. More...
 TableInfo (const TableInfo &that)
 Copy constructor (copy semantics). More...
TableInfooperator= (const TableInfo &that)
 Assignment (copy semantics). More...
 ~TableInfo ()
const Stringtype () const
 Get the table (sub)type. More...
const StringsubType () const
const Stringreadme () const
 Get the readme. More...
void setType (const String &type)
 Set the table (sub)type. More...
void setSubType (const String &subType)
void readmeClear ()
 Clear the readme. More...
void readmeAddLine (const String &readmeLine)
 Add a line to the readme. More...
void flush (const String &fileName)
 Write the TableInfo object. More...

Static Public Member Functions

static String type (Type tableType)
 Convert the Type enumerator to a type and subType string. More...
static String subType (Type tableType)

Private Attributes

String type_p
String subType_p
String readme_p
Bool writeIt_p

Detailed Description

Table type, subtype and further info.

Intended use:


Review Status

Reviewed By:
Date Reviewed:
Test programs:


TableInfo holds information (like type) about a table.


TableInfo holds information about a table. It contains the following information:

the type of a table (e.g. IMAGE, LOG).
the subtype of a table (e.g. UVDATA, MAP or ANTENNAPATTERN for type IMAGE).
An arbitrary number of lines containing ancillary text describing the table (or maybe its history).

This information is stored in the file in the table directory. Regular tables as well as reference tables (results of sort/select) have their own file.
The initial table-info of a regular table is blank. It has to be set explicitly by the user.
The initial table-info of a reference table is a copy of the table-info of its parent table. The user can add lines to the readme information to describe the table in more detail. Of course, the type and/or subtype can be changed at will.

The type and subtype information are stored at the beginning of the first two lines of the file as:

Type = TypeString
SubType = SubTypeString

These lines in the file can be used by external programs (like the filebrowser) to determine the type of table being handled.

The third line in the file is blank. The line(s) thereafter contain the possible readme information (note that multiple readme lines are possible). They can be added using the function readmeAddLine.

Existing tables do not have a file yet. The table system will handle them correctly and use a blank type, subtype and readme string. A file will be created when the table is opened for update.

To be sure that different table types have unique names, it can be useful to use enum's and to define them in one common file. For Casacore tables this enum is defined in this file.


// Open a table for update.
Table table("name", Table::Update);
// Get its TableInfo object.
TableInfo& info = table.tableInfo();
// Set type and subtype.
info.setType ("IMAGE");
info.setSubType ("SubTypeString");
// Add a few readme lines. The second one adds 2 lines.
info.readmeAddLine ("the first readme string");
info.readmeAddLine ("the second readme string\nthe third readme string");
// Display the type, etc.\.
cout << info.type() << " " << info.subType() << endl;
cout << info.readme();


External programs need to be able to determine the type of a table.

Definition at line 130 of file TableInfo.h.

Member Enumeration Documentation

enum for various standard Table types.

Underscores in the enumerator indicate different sub-types


a PagedImage is a PagedArray with coordinates and Masking (opt.)


a PagedArray (.../Lattices/PagedArray.h)


MeasurementSet main Table.


MeasurementSet Antenna table.


MeasurementSet Array table.


MeasurementSet Feed characteristics table.


MeasurementSet Field table.


MeasurementSet Observation information table.


MeasurementSet Oserving Log table.


MeasurementSet Source table.


MeasurementSet Spectral Window table.


MeasurementSet System Calibration table.


MeasurementSet Weather table.


Measurement Equation Calibration table.


Casacore Log table.


A ComponentList table contains parameterised representations of the sky brightness.

Definition at line 135 of file TableInfo.h.

Constructor & Destructor Documentation

casacore::TableInfo::TableInfo ( )

Create an empty object.

casacore::TableInfo::TableInfo ( const String fileName)

Create the object reading it from the given file name.

If the file does not exist, type, subtype and readme are initialized to a blank string.

casacore::TableInfo::TableInfo ( Type  which)

Create a TableInfo object of one of the predefined types.

This is a centralised way of setting the Table type only.

casacore::TableInfo::TableInfo ( const TableInfo that)

Copy constructor (copy semantics).

casacore::TableInfo::~TableInfo ( )

Member Function Documentation

void casacore::TableInfo::flush ( const String fileName)

Write the TableInfo object.

TableInfo& casacore::TableInfo::operator= ( const TableInfo that)

Assignment (copy semantics).

const String & casacore::TableInfo::readme ( ) const

Get the readme.

Definition at line 237 of file TableInfo.h.

References readme_p.

void casacore::TableInfo::readmeAddLine ( const String readmeLine)

Add a line to the readme.

It will itself add a newline character ('
') to the end of the line.

void casacore::TableInfo::readmeClear ( )

Clear the readme.

void casacore::TableInfo::setSubType ( const String subType)
void casacore::TableInfo::setType ( const String type)

Set the table (sub)type.

const String & casacore::TableInfo::subType ( ) const

Definition at line 233 of file TableInfo.h.

References subType_p.

Referenced by casa::CalTable::type().

static String casacore::TableInfo::subType ( Type  tableType)
const String & casacore::TableInfo::type ( ) const

Get the table (sub)type.

Definition at line 229 of file TableInfo.h.

References type_p.

Referenced by casa::CacheFactory::getCache(), and casa::CacheFactory::needNewCache().

static String casacore::TableInfo::type ( Type  tableType)

Convert the Type enumerator to a type and subType string.

Member Data Documentation

String casacore::TableInfo::readme_p

Definition at line 223 of file TableInfo.h.

Referenced by readme().

String casacore::TableInfo::subType_p

Definition at line 222 of file TableInfo.h.

Referenced by subType().

String casacore::TableInfo::type_p

Definition at line 221 of file TableInfo.h.

Referenced by type().

Bool casacore::TableInfo::writeIt_p

Definition at line 224 of file TableInfo.h.

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