casacore
DerivedMC.h
Go to the documentation of this file.
1//# DerivedMC.h: Derived MS and CalTable columns
2//# Copyright (C) 2010
3//# Associated Universities, Inc. Washington DC, USA.
4//#
5//# This library is free software; you can redistribute it and/or modify it
6//# under the terms of the GNU Library General Public License as published by
7//# the Free Software Foundation; either version 2 of the License, or (at your
8//# option) any later version.
9//#
10//# This library is distributed in the hope that it will be useful, but WITHOUT
11//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13//# License for more details.
14//#
15//# You should have received a copy of the GNU Library General Public License
16//# along with this library; if not, write to the Free Software Foundation,
17//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18//#
19//# Correspondence concerning AIPS++ should be addressed as follows:
20//# Internet email: aips2-request@nrao.edu.
21//# Postal address: AIPS++ Project Office
22//# National Radio Astronomy Observatory
23//# 520 Edgemont Road
24//# Charlottesville, VA 22903-2475 USA
25//#
26//# $Id$
27
28#ifndef DERIVEDMSCAL_DERIVEDMC_H
29#define DERIVEDMSCAL_DERIVEDMC_H
30
31#include <casacore/casa/aips.h>
32#include <casacore/derivedmscal/DerivedMC/DerivedMSCal.h>
33
34namespace casacore { //# NAMESPACE CASACORE - BEGIN
35
36// <module>
37//
38// <summary>
39// Derived MS and CalTable columns
40// </summary>
41
42// <prerequisite>
43// <li> <linkto module="MeasurementSets:description">MeasurementSets</linkto> module
44// </prerequisite>
45//
46// <reviewed reviewer="" date="" demos="">
47// </reviewed>
48
49// <etymology>
50// Class to handle derived columns in an MS or CalTable.
51// </etymology>
52//
53// <synopsis>
54// A MeasurementSet or CalTable can be extended with virtual columns to
55// be able to use hourangle, azimuth/elevation, parallactic angle, and UVW
56// as if they were stored in the table using the DerivedMSCal virtual column
57// engine. Such columns have a fixed name, otherwise the engine cannot handle
58// them. The class description of the engine shows which columns can be handled
59// and gives an example how to add them.
60//
61// Class UDFMSCal contains TaQL user defined functions for these virtual
62// columns. In this way the columns do not need to be added to the table,
63// but can be used directly in a TaQL command. For example:
64// <srcblock>
65// select from my.ms where derivedmscal.ha1() > 10deg
66// </srcblock>
67// to select the rows where the hourangle of ANTENNA1 fulfills the condition.
68// If HA1 was added as a virtual column (which is more intrusive), the
69// command could look like:
70// <srcblock>
71// select from my.ms where HA1 > 10deg
72// </srcblock>
73//
74// UVW coordinates are already stored in an MS, but the virtual UVW_J2000
75// column makes it possible to calculate them on the fly.
76//
77// An MS or CalTable can be created with one or more of these columns or they
78// can be added later using 'DerivedMSCal' as their data manager.
79// A column can, of course, also be removed. If all these columns are removed,
80// the Table System will also remove the data manager from the table.
81//
82// The derivedmscal library can be used in two ways:
83// <ol>
84// <li> It needs to be linked in if the DerivedMSCal class is used. This
85// mode will probably be used rarely.
86// <li> It will be loaded dynamically when a table is opened with columns
87// using this data manager, when a column is added to a table using
88// this data manager by name (thus without an object), or when
89// such a TaQL user defined function is used.
90// </ol>
91// <note> For the second reason above it is important that the library
92// and the other casacore libraries are built shared.
93// </note>
94// </synopsis>
95//
96// <motivation>
97// It is very handy to be able to use a column like PA in software that can
98// deal with various table columns (e.g. TaQL, TablePlot, pyrap).
99// </motivation>
100
101//# <todo asof="1997/02/01">
102//# </todo>
103
104// </module>
105
106
107} //# NAMESPACE CASACORE - END
108
109#endif
this file contains all the compiler specific defines
Definition: mainpage.dox:28