DerivedMC.h

Go to the documentation of this file.
00001 //# DerivedMC.h: Derived MS and CalTable columns
00002 //# Copyright (C) 2010
00003 //# Associated Universities, Inc. Washington DC, USA.
00004 //#
00005 //# This library is free software; you can redistribute it and/or modify it
00006 //# under the terms of the GNU Library General Public License as published by
00007 //# the Free Software Foundation; either version 2 of the License, or (at your
00008 //# option) any later version.
00009 //#
00010 //# This library is distributed in the hope that it will be useful, but WITHOUT
00011 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00012 //# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
00013 //# License for more details.
00014 //#
00015 //# You should have received a copy of the GNU Library General Public License
00016 //# along with this library; if not, write to the Free Software Foundation,
00017 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
00018 //#
00019 //# Correspondence concerning AIPS++ should be addressed as follows:
00020 //#        Internet email: aips2-request@nrao.edu.
00021 //#        Postal address: AIPS++ Project Office
00022 //#                        National Radio Astronomy Observatory
00023 //#                        520 Edgemont Road
00024 //#                        Charlottesville, VA 22903-2475 USA
00025 //#
00026 //# $Id$
00027 
00028 #ifndef DERIVEDMSCAL_DERIVEDMC_H
00029 #define DERIVEDMSCAL_DERIVEDMC_H
00030 
00031 #include <casacore/casa/aips.h>
00032 #include <casacore/derivedmscal/DerivedMC/DerivedMSCal.h>
00033 
00034 namespace casacore { //# NAMESPACE CASACORE - BEGIN
00035 
00036 // <module>
00037 //
00038 // <summary>
00039 // Derived MS and CalTable columns
00040 // </summary>
00041 
00042 // <prerequisite>
00043 //   <li> <linkto module="MeasurementSets:description">MeasurementSets</linkto> module
00044 // </prerequisite>
00045 //
00046 // <reviewed reviewer="" date="" demos="">
00047 // </reviewed>
00048 
00049 // <etymology>
00050 // Class to handle derived columns in an MS or CalTable.
00051 // </etymology>
00052 //
00053 // <synopsis>
00054 // A MeasurementSet or CalTable can be extended with virtual columns to
00055 // be able to use hourangle, azimuth/elevation, parallactic angle, and UVW
00056 // as if they were stored in the table using the DerivedMSCal virtual column
00057 // engine. Such columns have a fixed name, otherwise the engine cannot handle
00058 // them. The class description of the engine shows which columns can be handled
00059 // and gives an example how to add them.
00060 //
00061 // Class UDFMSCal contains TaQL user defined functions for these virtual
00062 // columns. In this way the columns do not need to be added to the table,
00063 // but can be used directly in a TaQL command. For example:
00064 // <srcblock>
00065 //     select from my.ms where derivedmscal.ha1() > 10deg
00066 // </srcblock>
00067 // to select the rows where the hourangle of ANTENNA1 fulfills the condition.
00068 // If HA1 was added as a virtual column (which is more intrusive), the
00069 // command could look like:
00070 // <srcblock>
00071 //     select from my.ms where HA1 > 10deg
00072 // </srcblock>
00073 //
00074 // UVW coordinates are already stored in an MS, but the virtual UVW_J2000
00075 // column makes it possible to calculate them on the fly.
00076 //
00077 // An MS or CalTable can be created with one or more of these columns or they
00078 // can be added later using 'DerivedMSCal' as their data manager.
00079 // A column can, of course, also be removed. If all these columns are removed,
00080 // the Table System will also remove the data manager from the table.
00081 //
00082 // The derivedmscal library can be used in two ways:
00083 // <ol>
00084 //  <li> It needs to be linked in if the DerivedMSCal class is used. This
00085 //       mode will probably be used rarely.
00086 //  <li> It will be loaded dynamically when a table is opened with columns
00087 //       using this data manager, when a column is added to a table using
00088 //       this data manager by name (thus without an object), or when
00089 //       such a TaQL user defined function is used.
00090 // </ol>
00091 // <note> For the second reason above it is important that the library
00092 // and the other casacore libraries are built shared.
00093 // </note>
00094 // </synopsis> 
00095 //
00096 // <motivation>
00097 // It is very handy to be able to use a column like PA in software that can
00098 // deal with various table columns (e.g. TaQL, TablePlot, pyrap).
00099 // </motivation>
00100 
00101 //# <todo asof="1997/02/01">
00102 //# </todo>
00103 
00104 // </module>
00105 
00106 
00107 } //# NAMESPACE CASACORE - END
00108 
00109 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1