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
105} //# NAMESPACE CASACORE - END
106
107#endif
this file contains all the compiler specific defines
Definition mainpage.dox:28