casacore
Loading...
Searching...
No Matches
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: casa-feedback@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#ifndef DERIVEDMSCAL_DERIVEDMC_H
27#define DERIVEDMSCAL_DERIVEDMC_H
28
29#include <casacore/casa/aips.h>
30#include <casacore/derivedmscal/DerivedMC/DerivedMSCal.h>
31
32namespace casacore { // # NAMESPACE CASACORE - BEGIN
33
34// <module>
35//
36// <summary>
37// Derived MS and CalTable columns
38// </summary>
39
40// <prerequisite>
41// <li> <linkto module="MeasurementSets:description">MeasurementSets</linkto> module
42// </prerequisite>
43//
44// <reviewed reviewer="" date="" demos="">
45// </reviewed>
46
47// <etymology>
48// Class to handle derived columns in an MS or CalTable.
49// </etymology>
50//
51// <synopsis>
52// A MeasurementSet or CalTable can be extended with virtual columns to
53// be able to use hourangle, azimuth/elevation, parallactic angle, and UVW
54// as if they were stored in the table using the DerivedMSCal virtual column
55// engine. Such columns have a fixed name, otherwise the engine cannot handle
56// them. The class description of the engine shows which columns can be handled
57// and gives an example how to add them.
58//
59// Class UDFMSCal contains TaQL user defined functions for these virtual
60// columns. In this way the columns do not need to be added to the table,
61// but can be used directly in a TaQL command. For example:
62// <srcblock>
63// select from my.ms where derivedmscal.ha1() > 10deg
64// </srcblock>
65// to select the rows where the hourangle of ANTENNA1 fulfills the condition.
66// If HA1 was added as a virtual column (which is more intrusive), the
67// command could look like:
68// <srcblock>
69// select from my.ms where HA1 > 10deg
70// </srcblock>
71//
72// UVW coordinates are already stored in an MS, but the virtual UVW_J2000
73// column makes it possible to calculate them on the fly.
74//
75// An MS or CalTable can be created with one or more of these columns or they
76// can be added later using 'DerivedMSCal' as their data manager.
77// A column can, of course, also be removed. If all these columns are removed,
78// the Table System will also remove the data manager from the table.
79//
80// The derivedmscal library can be used in two ways:
81// <ol>
82// <li> It needs to be linked in if the DerivedMSCal class is used. This
83// mode will probably be used rarely.
84// <li> It will be loaded dynamically when a table is opened with columns
85// using this data manager, when a column is added to a table using
86// this data manager by name (thus without an object), or when
87// such a TaQL user defined function is used.
88// </ol>
89// <note> For the second reason above it is important that the library
90// and the other casacore libraries are built shared.
91// </note>
92// </synopsis>
93//
94// <motivation>
95// It is very handy to be able to use a column like PA in software that can
96// deal with various table columns (e.g. TaQL, TablePlot, pyrap).
97// </motivation>
98
99// # <todo asof="1997/02/01">
100// # </todo>
101
102// </module>
103
104} // namespace casacore
105
106#endif
For temporary backward namespace compatibility, use casa as alias for casacore.
Definition mainpage.dox:28