Line data Source code
1 : //# VisJonesMCol.h: VisJones 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: 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 : //# 27 : //# $Id$ 28 : 29 : #ifndef CALIBRATION_VISJONESMCOL_H 30 : #define CALIBRATION_VISJONESMCOL_H 31 : 32 : #include <synthesis/CalTables/CalMainColumns.h> 33 : 34 : namespace casa { //# NAMESPACE CASA - BEGIN 35 : 36 : // <summary> 37 : // ROVisJonesMCol: Read-only VisJones cal_main calibration table column access 38 : // </summary> 39 : 40 : // <use visibility=export> 41 : 42 : // <reviewed reviewer="" date="" tests="" demos=""> 43 : 44 : // <prerequisite> 45 : // <li> <linkto class="CalMainColumns">CalMainColumns</linkto> module 46 : // </prerequisite> 47 : // 48 : // <etymology> 49 : // From "read-only", "visibility Jones", "cal main table" and "columns". 50 : // </etymology> 51 : // 52 : // <synopsis> 53 : // The ROVisJonesMCol class allows read-only access to columns in the 54 : // VisJones main calibration table. Specializations for baseline-based, 55 : // time-variable and solvable VisJones calibration table record types 56 : // are provided through inheritance. 57 : // </etymology> 58 : // 59 : // <example> 60 : // <srcblock> 61 : // </srcblock> 62 : // </example> 63 : // 64 : // <motivation> 65 : // Encapsulate access to calibration table columns. 66 : // </motivation> 67 : // 68 : // <todo asof="01/07/01"> 69 : // (i) Deal with non-standard columns. 70 : // </todo> 71 : 72 : class ROVisJonesMCol : public ROCalMainColumns 73 : { 74 : public: 75 : // Construct from a calibration table 76 : ROVisJonesMCol (const CalTable& calTable); 77 : 78 : // Default destructor 79 0 : virtual ~ROVisJonesMCol() {}; 80 : 81 : protected: 82 : // Prohibit public use of the null constructor, which 83 : // does not produce a usable object. 84 : ROVisJonesMCol() {}; 85 : 86 : private: 87 : // Prohibit copy constructor and assignment operator 88 : ROVisJonesMCol (const ROVisJonesMCol&); 89 : ROVisJonesMCol& operator= (const ROVisJonesMCol&); 90 : }; 91 : 92 : // <summary> 93 : // VisJonesMCol: Read-write VisJones cal_main calibration table column access 94 : // </summary> 95 : 96 : // <use visibility=export> 97 : 98 : // <reviewed reviewer="" date="" tests="" demos=""> 99 : 100 : // <prerequisite> 101 : // <li> <linkto class="CalMainColumns">CalMainColumns</linkto> module 102 : // </prerequisite> 103 : // 104 : // <etymology> 105 : // From "visibility Jones", "calibration main table" and "columns". 106 : // </etymology> 107 : // 108 : // <synopsis> 109 : // The VisJonesMCol class allows read-write access to columns in the 110 : // VisJones main calibration table. Specializations for baseline-based, 111 : // time-variable and solvable VisJones calibration table record types 112 : // are provided through inheritance. 113 : // </etymology> 114 : // 115 : // <example> 116 : // <srcblock> 117 : // </srcblock> 118 : // </example> 119 : // 120 : // <motivation> 121 : // Encapsulate access to calibration table columns. 122 : // </motivation> 123 : // 124 : // <todo asof="01/07/01"> 125 : // (i) Deal with non-standard columns. 126 : // </todo> 127 : 128 : class VisJonesMCol : public CalMainColumns 129 : { 130 : public: 131 : // Construct from a calibration table 132 : VisJonesMCol (CalTable& calTable); 133 : 134 : // Default destructor 135 3 : virtual ~VisJonesMCol() {}; 136 : 137 : protected: 138 : // Prohibit public use of the null constructor, which 139 : // does not produce a usable object. 140 : VisJonesMCol() {}; 141 : 142 : private: 143 : // Prohibit copy constructor and assignment operator 144 : VisJonesMCol (const VisJonesMCol&); 145 : VisJonesMCol& operator= (const VisJonesMCol&); 146 : 147 : }; 148 : 149 : 150 : } //# NAMESPACE CASA - END 151 : 152 : #endif 153 : 154 : 155 : 156 : 157 :