XMM-Newton Science Analysis System
deceit (deceit-1.18.2) [xmmsas_20050815_1803-6.5.0]
Meta Index / Home Page / Description / Detailed syntax
Column specifications may only appear in the body of a table
specification. There is no limit to the number of column
specifications which may appear in the table body. Within a table
column names must be unique.
The general form of a column specification is given by
column column-dimensions column-name data-type label units optional-expression
<
... column item specifications ...
>
where,
- column is the column specification keyword. This
keyword begins a new column specification.
- column-name is the name of the column. There must be
no other column with the same name in the table. It has type
string-expression (which may be a literal string).
- column-dimensions, denotes the dimensions of the
column's cells.. It takes the form of a comma-separated list of
integer-valued expressions, the list being delimited by parentheses.
The general form is ( integer-expression,
integer-expression, ... ). For instance, (10,20) indicates that
the columns cells are a two dimensional matrix with size 10 by 20.
See 3.1.4 for string
columns. Scalar, multi-dimensional and variable length columns are
supported. Scalar and multi-dimensional columns have fixed length.
Variable length columns are created by setting the dimensions to 0.
- data-type specifies the data type of the column. The
available types are int8, int16, int32, real32, real64,
bool, string.
- label is a short textual description for the column.
It has type string-expression (which may be a literal
string).
- units is string containing the column's units. Its type
is string-expression (which may be a literal string). When
data-type is bool or string the units must be the empty string. This
appears to be a limitation of CFITSIO.
- optional-expression is an optional expression which is
evaluated after the last item in the body has been evaluated.
The header part of the column specification (column
column-name optional-expression) must be placed onto a single line.
This is due to a limitation of the parser. The subsequent body, which
is delimited by
and
, is optional but, if present, must begin
on a new line.
The column specification body comprises zero or more of the following
specifications:
The final optional expression can be used to direct deceit
to
execut a function. The function is executed when the interpreter
reaches the end of the column specification block. The variable
col is a pointer to the column and may be referenced in the
expression. For example,
dataset "set"
<
table "table" 100
<
column "col" int32 "integer column" "m" fillColumn(col, "data.dat", 0)
>
>
where fillColumn is a user-defined function
(see 3.3) that takes a
pointer to a column, and fills it with data from column 0 of
somefile.
XMM-Newton SOC/SSC -- 2005-08-16