Getting Started Documentation Glish Learn More Programming Contact Us
Version 1.9 Build 392
News FAQ
Search Home


next up previous
Next: High Level Utilities Up: High Level ``Containers'' Previous: Arrays

Tables

The AIPS++ table system is designed to be the main data system used in the AIPS++ software. It is based on the ideas of Allen Farris.

A table consists of a number of keywords and columns. A column can be a filled one (i.e. actually stored in a file) or it can be a virtual one (i.e. calculated on the fly). Filled columns are stored using a storage manager. A table can have more than one storage manager; in fact, each column can have its own storage manager. A table can therefore consist of multiple files. The table name is the name of the main file.

Virtual columns are handled by so-called virtual column engines. These engine classes have to be written by the application programmer, since each virtual column will be calculated in a dedicated way.

A column can contain scalar values of any data type, arrays of any shape and any data type, or tables. The latter allows for a hierarchy of tables.

Only standard data types can be used in filled columns. These are: Bool, uChar, Int, uInt, float, double, Complex, DComplex, and String. Arrays can be direct or indirect. Direct arrays have to have the same shape in all cells of a column and are stored in the main storage manager data file. Indirect arrays can have varying shapes in the column cells and are stored in a separate file. Direct columns are meant for small, fixed sized arrays.

The table keywords make use of the keyword module (i.e. class KeywordSet and related classes).


next up previous
Next: High Level Utilities Up: High Level ``Containers'' Previous: Arrays
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc., Washington, D.C.

Return to AIPS++ Home Page
2004-01-31