Line data Source code
1 : //# TJonesMCol.cc: Implementation of TJonesMCol.h
2 : //# Copyright (C) 1996,1997,1998,2001,2002,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 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 : //# $Id$
27 : //----------------------------------------------------------------------------
28 :
29 : #include <synthesis/CalTables/TJonesMCol.h>
30 :
31 : using namespace casacore;
32 : namespace casa { //# NAMESPACE CASA - BEGIN
33 :
34 : //----------------------------------------------------------------------------
35 :
36 0 : ROTJonesPolyMCol::ROTJonesPolyMCol (const TJonesPolyTable& gjpTable) :
37 0 : ROTJonesMCol (gjpTable)
38 : {
39 : // Construct from a calibration table
40 : // Input:
41 : // gjpTable const TJonesPolyTable& TJonesPoly cal. table
42 : // Output to private data:
43 : // ROTJonesMCol ROTJonesMCol Read-only TJones cal
44 : // main columns
45 : // polyType_p ROScalarCol<String> Polynomial type
46 : // polyMode_p ROScalarCol<String> Polynomial mode (e.g. A&P)
47 : // scaleFactor_p ROScalarCol<Complex> Polynomial scale factor
48 : // nPolyAmp_p ROScalarCol<Int> Polynomial degree (amp)
49 : // nPolyPhase_p ROScalarCol<Int> Polynomial degree (phase)
50 : // polyCoeffAmp_p ROArrayCol<Double> Polynomial coeff. (amp)
51 : // polyCoeffPhase_p ROArrayCol<Double> Polynomial coeff. (phase)
52 : // phaseUnits_p ROScalarCol<String> Phase units.
53 : //
54 : // Attach all column accessors for additional TJonesPoly columns
55 : // (some are optional, depending on polynomial mode)
56 0 : attach (gjpTable, polyType_p, MSC::POLY_TYPE);
57 0 : attach (gjpTable, polyMode_p, MSC::POLY_MODE);
58 0 : attach (gjpTable, scaleFactor_p, MSC::SCALE_FACTOR);
59 0 : attach (gjpTable, nPolyAmp_p, MSC::N_POLY_AMP, true);
60 0 : attach (gjpTable, nPolyPhase_p, MSC::N_POLY_PHASE, true);
61 0 : attach (gjpTable, polyCoeffAmp_p, MSC::POLY_COEFF_AMP, true);
62 0 : attach (gjpTable, polyCoeffPhase_p, MSC::POLY_COEFF_PHASE, true);
63 0 : attach (gjpTable, phaseUnits_p, MSC::PHASE_UNITS, true);
64 0 : };
65 :
66 : //----------------------------------------------------------------------------
67 :
68 0 : TJonesPolyMCol::TJonesPolyMCol (TJonesPolyTable& gjpTable) :
69 0 : TJonesMCol (gjpTable)
70 : {
71 : // Construct from a calibration table
72 : // Input:
73 : // gjpTable TJonesPolyTable& TJonesPoly cal. table
74 : // Output to private data:
75 : // TJonesMCol TJonesMCol Read-write TJones cal
76 : // main columns
77 : // polyType_p ScalarCol<String> Polynomial type
78 : // polyMode_p ScalarCol<String> Polynomial mode (e.g. A&P)
79 : // scaleFactor_p ScalarCol<Complex> Polynomial scale factor
80 : // nPolyAmp_p ScalarCol<Int> Polynomial degree (amp)
81 : // nPolyPhase_p ScalarCol<Int> Polynomial degree (phase)
82 : // polyCoeffAmp_p ArrayCol<Double> Polynomial coeff. (amp)
83 : // polyCoeffPhase_p ArrayCol<Double> Polynomial coeff. (phase)
84 : // phaseUnits_p ScalarCol<String> Phase units.
85 : //
86 : // Attach all column accessors for additional TJonesPoly columns
87 : // (some are optional, depending on polynomial mode)
88 0 : attach (gjpTable, polyType_p, MSC::POLY_TYPE);
89 0 : attach (gjpTable, polyMode_p, MSC::POLY_MODE);
90 0 : attach (gjpTable, scaleFactor_p, MSC::SCALE_FACTOR);
91 0 : attach (gjpTable, nPolyAmp_p, MSC::N_POLY_AMP, true);
92 0 : attach (gjpTable, nPolyPhase_p, MSC::N_POLY_PHASE, true);
93 0 : attach (gjpTable, polyCoeffAmp_p, MSC::POLY_COEFF_AMP, true);
94 0 : attach (gjpTable, polyCoeffPhase_p, MSC::POLY_COEFF_PHASE, true);
95 0 : attach (gjpTable, phaseUnits_p, MSC::PHASE_UNITS, true);
96 0 : };
97 :
98 : //----------------------------------------------------------------------------
99 :
100 0 : ROTJonesSplineMCol::ROTJonesSplineMCol (const TJonesSplineTable& gjsTable) :
101 0 : ROTJonesPolyMCol (gjsTable)
102 : {
103 : // Construct from a calibration table
104 : // Input:
105 : // gjsTable const TJonesSplineTable& TJonesSpline cal. table
106 : // Output to private data:
107 : // ROTJonesPolyMCol ROTJonesMCol Read-only TJonesPoly cal
108 : // main columns
109 : // nKnotsAmp_p ROScalarCol<Int> No. spline knots in amp.
110 : // nKnotsPhase_p ROScalarCol<Int> No. spline knots in phase
111 : // splineKnotsAmp_p ROScalarCol<Double> Spline knot positions (amp)
112 : // splineKnotsPhase_p ROScalarCol<Double> Spline knot posn. (phase)
113 : //
114 : // Attach all column accessors for additional TJonesSpline columns
115 : // (all are optional, dependent on polynomial mode)
116 0 : attach (gjsTable, nKnotsAmp_p, MSC::N_KNOTS_AMP, true);
117 0 : attach (gjsTable, nKnotsPhase_p, MSC::N_KNOTS_PHASE, true);
118 0 : attach (gjsTable, splineKnotsAmp_p, MSC::SPLINE_KNOTS_AMP, true);
119 0 : attach (gjsTable, splineKnotsPhase_p, MSC::SPLINE_KNOTS_PHASE, true);
120 0 : };
121 :
122 : //----------------------------------------------------------------------------
123 :
124 0 : TJonesSplineMCol::TJonesSplineMCol (TJonesSplineTable& gjsTable) :
125 0 : TJonesPolyMCol (gjsTable)
126 : {
127 : // Construct from a calibration table
128 : // Input:
129 : // gjsTable TJonesSplineTable& TJonesSpline cal. table
130 : // Output to private data:
131 : // TJonesMCol TJonesMCol Read-write TJonesPoly cal
132 : // main columns
133 : // nKnotsAmp_p ScalarCol<Int> No. spline knots in amp.
134 : // nKnotsPhase_p ScalarCol<Int> No. spline knots in phase
135 : // splineKnotsAmp_p ScalarCol<Double> Spline knot positions (amp)
136 : // splineKnotsPhase_p ScalarCol<Double> Spline knot posn. (phase)
137 : //
138 : // Attach all column accessors for additional TJonesSpline columns
139 : // (all are optional, dependent on polynomial mode)
140 0 : attach (gjsTable, nKnotsAmp_p, MSC::N_KNOTS_AMP, true);
141 0 : attach (gjsTable, nKnotsPhase_p, MSC::N_KNOTS_PHASE, true);
142 0 : attach (gjsTable, splineKnotsAmp_p, MSC::SPLINE_KNOTS_AMP, true);
143 0 : attach (gjsTable, splineKnotsPhase_p, MSC::SPLINE_KNOTS_PHASE, true);
144 0 : };
145 :
146 : //----------------------------------------------------------------------------
147 :
148 :
149 : } //# NAMESPACE CASA - END
150 :
|