casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CTDesc.h
Go to the documentation of this file.
1 //# CTDesc.h: Define the format of NewCalTable
2 //# Copyright (C) 2011
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 adressed 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 //#
27 //# $Id$
28 
29 #ifndef CALIBRATION_CTDESC_H
30 #define CALIBRATION_CTDESC_H
31 
32 #include <casa/aips.h>
33 #include <tables/Tables/Table.h>
35 
36 namespace casa { //# NAMESPACE CASA - BEGIN
37 
38 // <summary>
39 // CTDesc: Define the format of calibration tables
40 // </summary>
41 
42 // <use visibility=export>
43 
44 // <reviewed reviewer="" date="" tests="" demos="">
45 
46 // <prerequisite>
47 // <li> <linkto class="CalTable">CalTable</linkto> module
48 // </prerequisite>
49 //
50 // <etymology>
51 // From "Calibration table" and "descriptor".
52 // </etymology>
53 //
54 // <synopsis>
55 // CTDesc defines the format of NewCalTable in terms
56 // of table descriptors <linkto class="casacore::TableDesc">casacore::TableDesc</linkto>, as
57 // defined in the casacore::Table system. This is a base class and defines the
58 // overall calibration table structure. Specializations for both
59 // antenna-based (ViJones and SkyJones) and baseline-based (MJones)
60 // calibration tables are provided through inheritance. At present this
61 // set of classes returns the default calibration table descriptors for a
62 // given calibration table type.
63 // </etymology>
64 //
65 // <example>
66 // <srcblock>
67 // </srcblock>
68 // </example>
69 //
70 // <motivation>
71 // This inheritance tree defines the format of all calibration
72 // table types, both antenna- and baseline-based, to provide
73 // a unified and consistent interface to their representation
74 // as aips++ tables. An overall structure common to all calibration
75 // tables is maintained as far as possible, with common column
76 // names throughout. This class tree is primarily used by
77 // the <linkto class="CalTable"> CalTable</linkto> classes.
78 // </motivation>
79 //
80 // <todo asof="98/01/01">
81 // Generate the calibration table descriptors from a VisSet or VisBuffer object
82 // </todo>
83 
84 class CTDesc
85 {
86  public:
87  // Default null constructor, and destructor
88  CTDesc();
89  virtual ~CTDesc() {};
90 
91  // Alternative ctor that enables OBS_ID opt-out
92  CTDesc(casacore::Bool addObsId);
93 
94  // Construct from some external info
95  CTDesc (const casacore::String& partype,
96  const casacore::String& msname="none",
97  const casacore::String& viscal="unknown",
98  const casacore::String& polbasis="circ");
99 
100  // Return the table descriptors for the main calibration table
101  // and the cal_history and cal_desc sub-tables
103  //virtual casacore::TableDesc calMainDesc();
104  //virtual casacore::TableDesc calHistoryDesc();
105 
106  protected:
107  // a specified column name.
109  const casacore::String& insertAfter);
110 
111  private:
112  // Generate the default sub-table descriptors
114  const casacore::String& msname="none",
115  const casacore::String& viscal="unknown",
116  const casacore::String& polbasis="circ");
117  //casacore::TableDesc defaultCalHistory();
118 
119 
120  // Support (discouraged) ctor that can opt out of OBSERVATION_ID
122 
123  // casacore::Table descriptors
125  //casacore::TableDesc itsCalHistoryDesc;
128 
129 
130  };
131 
132 
133 } //# NAMESPACE CASA - END
134 
135 #endif
casacore::TableDesc insertDesc(const casacore::TableDesc &tableDesc, const casacore::TableDesc &insert, const casacore::String &insertAfter)
virtual casacore::TableDesc calMainDesc(); virtual casacore::TableDesc calHistoryDesc(); ...
casacore::TableDesc itsCalMainDesc
casacore::Table descriptors
Definition: CTDesc.h:124
virtual casacore::TableDesc calMainDesc()
Return the table descriptors for the main calibration table and the cal_history and cal_desc sub-tabl...
CTDesc()
Default null constructor, and destructor.
casacore::TableDesc defaultCalMain(const casacore::String &partype="", const casacore::String &msname="none", const casacore::String &viscal="unknown", const casacore::String &polbasis="circ")
Generate the default sub-table descriptors.
virtual ~CTDesc()
Definition: CTDesc.h:89
casacore::String PolBasis_p
Definition: CTDesc.h:127
CTDesc: Define the format of calibration tables.
Definition: CTDesc.h:84
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
casacore::String MSName_p
casacore::TableDesc itsCalHistoryDesc;
Definition: CTDesc.h:126
casacore::Bool addObsId_
casacore::TableDesc defaultCalHistory();
Definition: CTDesc.h:121
String: the storage and methods of handling collections of characters.
Definition: String.h:223
Define the structure of a Casacore table.
Definition: TableDesc.h:187