casa
$Rev:20696$
|
00001 //# EPointJonesMCol.h: SolvableVisJones cal_main table column access 00002 //# Copyright (C) 1996,1997,1998,2001,2003 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 adressed 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 //# 00027 //# $Id$ 00028 00029 #ifndef CALIBRATION_EPOINTMCOL_H 00030 #define CALIBRATION_EPOINTMCOL_H 00031 00032 #include <synthesis/CalTables/SolvableVJMCol.h> 00033 #include <synthesis/CalTables/SolvableVJTable.h> 00034 #include <synthesis/CalTables/EPointTable.h> 00035 00036 namespace casa { 00037 class ROEPointMCol : public ROSolvableVisJonesMCol 00038 { 00039 public: 00040 // Construct from a calibration table 00041 ROEPointMCol (const EPointTable& epTable); 00042 00043 // Default destructor 00044 virtual ~ROEPointMCol() {}; 00045 00046 // Read-only column accessors 00047 00048 const ROArrayColumn<Float>& pointingOffset() const {return pointingOffset_p;} 00049 00050 protected: 00051 // Prohibit public use of the null constructor, which 00052 // does not produce a usable object. 00053 ROEPointMCol() {}; 00054 00055 private: 00056 // Prohibit copy constructor and assignment operator 00057 ROEPointMCol (const ROEPointMCol&); 00058 ROEPointMCol& operator= (const ROEPointMCol&); 00059 00060 // Private column accessors 00061 ROArrayColumn<Float> pointingOffset_p; 00062 }; 00063 00064 // <summary> 00065 // EPointJonesMCol: RW SolvableVisJones cal_main column access 00066 // </summary> 00067 00068 // <use visibility=export> 00069 00070 // <reviewed reviewer="" date="" tests="" demos=""> 00071 00072 // <prerequisite> 00073 // <li> <linkto class="CalMainColumns">CalMainColumns</linkto> module 00074 // </prerequisite> 00075 // 00076 // <etymology> 00077 // From "solvable visibility Jones","cal main table" and "columns". 00078 // </etymology> 00079 // 00080 // <synopsis> 00081 // The EPointJonesMCol class allows read-write access to columns in the 00082 // SolvableVisJones main calibration table. Specializations for individual 00083 // solvable Jones matrix types (e.g. GJones) are provided through inheritance. 00084 // </etymology> 00085 // 00086 // <example> 00087 // <srcblock> 00088 // </srcblock> 00089 // </example> 00090 // 00091 // <motivation> 00092 // Encapsulate read-write access to SVJ calibration table columns. 00093 // </motivation> 00094 // 00095 // <todo asof="01/07/01"> 00096 // (i) Deal with non-standard columns. 00097 // </todo> 00098 00099 class EPointMCol : public SolvableVisJonesMCol 00100 { 00101 public: 00102 // Construct from a calibration table 00103 EPointMCol (EPointTable& epTable); 00104 00105 // Default destructor 00106 virtual ~EPointMCol() {}; 00107 00108 // Read-write column accessors 00109 ArrayColumn<Float>& pointingOffset() {return pointingOffset_p;}; 00110 00111 protected: 00112 // Prohibit public use of the null constructor, which 00113 // does not produce a usable object. 00114 EPointMCol() {}; 00115 00116 private: 00117 // Prohibit copy constructor and assignment operator 00118 EPointMCol (const EPointMCol&); 00119 EPointMCol& operator= (const EPointMCol&); 00120 00121 // Private column accessors 00122 ArrayColumn<Float> pointingOffset_p; 00123 }; 00124 } 00125 #endif