casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SolvableCalSetMCol.h
Go to the documentation of this file.
1 //# SolvableVJMCol.h: SolvableVisJones cal_main table column access
2 //# Copyright (C) 1996,1997,1998,2001,2003
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_SOLVABLECALSETMCOL_H
30 #define CALIBRATION_SOLVABLECALSETMCOL_H
31 
35 
36 namespace casa { //# NAMESPACE CASA - BEGIN
37 
38 // <summary>
39 // ROSolvableVisJonesMCol: Read-only SolvableVisJones cal_main column access
40 // </summary>
41 
42 // <use visibility=export>
43 
44 // <reviewed reviewer="" date="" tests="" demos="">
45 
46 // <prerequisite>
47 // <li> <linkto class="ROCalMainColumns">ROCalMainColumns</linkto> module
48 // </prerequisite>
49 //
50 // <etymology>
51 // From "read-only","solvable visibility Jones","cal main" and "columns".
52 // </etymology>
53 //
54 // <synopsis>
55 // The ROSolvableVisJonesMCol class allows read-only access to columns in the
56 // SolvableVisJones main calibration table. Specializations for individual
57 // solvable Jones matrix types (e.g. GJones) are provided through inheritance.
58 // </etymology>
59 //
60 // <example>
61 // <srcblock>
62 // </srcblock>
63 // </example>
64 //
65 // <motivation>
66 // Encapsulate read-only access to SVJ calibration table columns.
67 // </motivation>
68 //
69 // <todo asof="01/07/01">
70 // (i) Deal with non-standard columns.
71 // </todo>
72 
73 template <class T>
75 {
76  public:
77  // Construct from a calibration table
78  ROSolvableCalSetMCol (const CalTable2& svjTable);
79 
80  // Default destructor
81  virtual ~ROSolvableCalSetMCol() {};
82 
83  // Read-only column accessors
92 
93  protected:
94  // Prohibit public use of the null constructor, which
95  // does not produce a usable object.
97 
98  private:
99  // Prohibit copy constructor and assignment operator
102 
103  // Private column accessors
112 };
113 
114 // <summary>
115 // SolvableCalSetMCol: RW SolvableCalSet cal_main column access
116 // </summary>
117 
118 // <use visibility=export>
119 
120 // <reviewed reviewer="" date="" tests="" demos="">
121 
122 // <prerequisite>
123 // <li> <linkto class="CalMainColumns">CalMainColumns</linkto> module
124 // </prerequisite>
125 //
126 // <etymology>
127 // From "solvable visibility Jones","cal main table" and "columns".
128 // </etymology>
129 //
130 // <synopsis>
131 // The SolvableCalSetMCol class allows read-write access to columns in the
132 // SolvableCalSet main calibration table. Specializations for individual
133 // solvable Jones matrix types (e.g. GJones) are provided through inheritance.
134 // </etymology>
135 //
136 // <example>
137 // <srcblock>
138 // </srcblock>
139 // </example>
140 //
141 // <motivation>
142 // Encapsulate read-write access to SVJ calibration table columns.
143 // </motivation>
144 //
145 // <todo asof="01/07/01">
146 // (i) Deal with non-standard columns.
147 // </todo>
148 
149 template <class T>
151 {
152  public:
153  // Construct from a calibration table
154  SolvableCalSetMCol (CalTable2& svjTable);
155 
156  // Default destructor
157  virtual ~SolvableCalSetMCol() {};
158 
159  // Read-write column accessors
168 
169  protected:
170  // Prohibit public use of the null constructor, which
171  // does not produce a usable object.
173 
174  private:
175  // Prohibit copy constructor and assignment operator
178 
179  // Private column accessors
188 };
189 
190 
191 
192 } //# NAMESPACE CASA - END
193 
194 #ifndef AIPS_NO_TEMPLATE_SRC
195 #include <synthesis/CalTables/SolvableCalSetMCol.tcc>
196 #endif
197 
198 #endif
199 
200 
201 
202 
203 
const casacore::ScalarColumn< casacore::Float > & totalFitWgt() const
casacore::ArrayColumn< casacore::Bool > & solnOk()
ROSolvableCalSetMCol & operator=(const ROSolvableCalSetMCol &)
casacore::ScalarColumn< casacore::Float > totalFit_p
casacore::ScalarColumn< casacore::Float > totalFit_p
casacore::ArrayColumn< casacore::Float > fitWgt_p
SolvableCalSetMCol: RW SolvableCalSet cal_main column access.
const casacore::ArrayColumn< casacore::Float > & snr() const
casacore::ScalarColumn< casacore::Float > & totalFitWgt()
casacore::ScalarColumn< casacore::Bool > totalSolnOk_p
Private column accessors.
CalTable: Calibration table access and creation.
Definition: CalTable2.h:81
const casacore::ArrayColumn< casacore::Float > & fit() const
ROSolvableVisJonesMCol: Read-only SolvableVisJones cal_main column access.
const casacore::ScalarColumn< casacore::Bool > & totalSolnOk() const
Read-only column accessors.
casacore::ArrayColumn< casacore::Float > fit_p
casacore::ScalarColumn< casacore::Float > totalFitWgt_p
casacore::ArrayColumn< casacore::Float > snr_p
casacore::ArrayColumn< casacore::Float > snr_p
casacore::ScalarColumn< casacore::Bool > totalSolnOk_p
Private column accessors.
casacore::ArrayColumn< casacore::Float > fit_p
virtual ~SolvableCalSetMCol()
Default destructor.
casacore::ArrayColumn< casacore::Bool > solnOk_p
SolvableCalSetMCol()
Prohibit public use of the null constructor, which does not produce a usable object.
virtual ~ROSolvableCalSetMCol()
Default destructor.
casacore::ArrayColumn< casacore::Bool > flag_p
casacore::ArrayColumn< casacore::Float > fitWgt_p
const casacore::ArrayColumn< casacore::Float > & fitWgt() const
casacore::ScalarColumn< casacore::Float > totalFitWgt_p
const casacore::ScalarColumn< casacore::Float > & totalFit() const
casacore::ArrayColumn< casacore::Bool > & flag()
casacore::ArrayColumn< casacore::Bool > flag_p
const casacore::ArrayColumn< casacore::Bool > & solnOk() const
casacore::ArrayColumn< casacore::Bool > solnOk_p
ROSolvableCalSetMCol()
Prohibit public use of the null constructor, which does not produce a usable object.
casacore::ArrayColumn< casacore::Float > & fitWgt()
casacore::ArrayColumn< casacore::Float > & fit()
const casacore::ArrayColumn< casacore::Bool > & flag() const
SolvableCalSetMCol & operator=(const SolvableCalSetMCol &)
casacore::ScalarColumn< casacore::Float > & totalFit()
casacore::ArrayColumn< casacore::Float > & snr()
casacore::ScalarColumn< casacore::Bool > & totalSolnOk()
Read-write column accessors.