Loading...
Searching...
No Matches
DerivedMC_module
derivedmscal package (libcasa_derivedmscal)

More...

## Topics

| DerivedMC_module_internal_classes
| Internal DerivedMC_module classes and functions.

## Classes

class | casacore::DerivedMSCal
| More...
class | casacore::MSCalEngine
| More...
class | casacore::UDFMSCal
| More...
class | casacore::UDFMSCalErrorHandler
| Error handler class for MSSel selection. More...

## Detailed Description

Derived MS and CalTable columns

See below for an overview of the classes in this module.

### Prerequisite

- MeasurementSets module

### Etymology

Class to handle derived columns in an MS or CalTable.

### Synopsis

A MeasurementSet or CalTable can be extended with virtual columns to be able to use hourangle, azimuth/elevation, parallactic angle, and UVW as if they were stored in the table using the DerivedMSCal virtual column engine. Such columns have a fixed name, otherwise the engine cannot handle them. The class description of the engine shows which columns can be handled and gives an example how to add them.

Class UDFMSCal contains TaQL user defined functions for these virtual columns. In this way the columns do not need to be added to the table, but can be used directly in a TaQL command. For example:

select from my.ms where derivedmscal.ha1() > 10deg

to select the rows where the hourangle of ANTENNA1 fulfills the condition. If HA1 was added as a virtual column (which is more intrusive), the command could look like:

select from my.ms where HA1 > 10deg

UVW coordinates are already stored in an MS, but the virtual UVW_J2000 column makes it possible to calculate them on the fly.

An MS or CalTable can be created with one or more of these columns or they can be added later using 'DerivedMSCal' as their data manager. A column can, of course, also be removed. If all these columns are removed, the Table System will also remove the data manager from the table.

The derivedmscal library can be used in two ways:

1. It needs to be linked in if the DerivedMSCal class is used. This mode will probably be used rarely.
2. It will be loaded dynamically when a table is opened with columns using this data manager, when a column is added to a table using this data manager by name (thus without an object), or when such a TaQL user defined function is used.

Note: For the second reason above it is important that the library and the other casacore libraries are built shared;

### Motivation

It is very handy to be able to use a column like PA in software that can deal with various table columns (e.g. TaQL, TablePlot, pyrap).