casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
SolvableVJDesc.h
Go to the documentation of this file.
00001 //# SolvableVJDesc.h: Define the format of SolvableVisJones cal tables
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_SOLVABLEVJDESC_H
00030 #define CALIBRATION_SOLVABLEVJDESC_H
00031 
00032 #include <synthesis/CalTables/TimeVarVJDesc.h>
00033 
00034 namespace casa { //# NAMESPACE CASA - BEGIN
00035 
00036 // <summary> 
00037 // SolvableVisJonesDesc: Define the format of SolvableVisJones cal tables
00038 // </summary>
00039 
00040 // <use visibility=export>
00041 
00042 // <reviewed reviewer="" date="" tests="" demos="">
00043 
00044 // <prerequisite>
00045 // <li> <linkto class="CalTableDesc">CalTableDesc</linkto> module
00046 // <li> <linkto class="VisJonesDesc">VisJonesDesc</linkto> module
00047 // <li> <linkto class="TimeVarVisJonesDesc">TimeVarVisJonesDesc</linkto> module
00048 //
00049 // </prerequisite>
00050 //
00051 // <etymology>
00052 // From "solvable VisJones" and "descriptor".
00053 // </etymology>
00054 //
00055 // <synopsis>
00056 // SolvableVisJonesDesc defines the format of SolvableVisJones calibration 
00057 // tables in terms of table descriptors <linkto class="TableDesc">TableDesc
00058 // </linkto>, as used in the Table system. The solvable VisJones calibration
00059 // table formats include fit statistics and weights. Specializations for 
00060 // GJones, DJones and BJones calibration tables are provided through 
00061 // inheritance. At present, this set of classes returns only the default 
00062 // table formats.
00063 // </etymology>
00064 //
00065 // <example>
00066 // <srcblock>
00067 // </srcblock>
00068 // </example>
00069 //
00070 // <motivation>
00071 // See CalTableDesc.
00072 // </motivation>
00073 //
00074 // <todo asof="98/01/01">
00075 // Generate calibration table descriptors from a VisSet or VisBuffer object
00076 // </todo>
00077 
00078 class SolvableVisJonesDesc : public TimeVarVisJonesDesc
00079 {
00080  public:
00081    // Default null constructor, and destructor
00082    SolvableVisJonesDesc();
00083    virtual ~SolvableVisJonesDesc() {};
00084 
00085    // Construct from the Jones table type
00086    SolvableVisJonesDesc (const String& type);
00087 
00088    // Return the cal_main table descriptor
00089    virtual TableDesc calMainDesc();
00090 
00091  private:
00092    // Table descriptor for fit statistics and weights
00093    TableDesc itsFitDesc;
00094 
00095 };
00096 
00097 // <summary> 
00098 // GJonesDesc: Define the format of GJones cal tables
00099 // </summary>
00100 
00101 // <use visibility=export>
00102 
00103 // <reviewed reviewer="" date="" tests="" demos="">
00104 
00105 // <prerequisite>
00106 //<li><linkto class="CalTableDesc">CalTableDesc</linkto> module
00107 //<li><linkto class="VisJonesDesc">VisJonesDesc</linkto> module
00108 //<li><linkto class="SolvableVisJonesDesc">SolvableVisJonesDesc</linkto> module
00109 // </prerequisite>
00110 //
00111 // <etymology>
00112 // From "GJones" and "descriptor".
00113 // </etymology>
00114 //
00115 // <synopsis>
00116 // GJonesDesc defines the format of GJones calibration tables in terms 
00117 // of table descriptors <linkto class="TableDesc">TableDesc</linkto>, 
00118 // as used in the Table system. GJones matrices define the electronic
00119 // gain corrections in the Measurement Equation formalism. At present, 
00120 // this class returns only the default table formats.
00121 // </etymology>
00122 //
00123 // <example>
00124 // <srcblock>
00125 // </srcblock>
00126 // </example>
00127 //
00128 // <motivation>
00129 // See CalTableDesc.
00130 // </motivation>
00131 //
00132 // <todo asof="98/01/01">
00133 // Generate calibration table descriptors from a VisSet or VisBuffer object
00134 // </todo>
00135 
00136 class GJonesDesc : public SolvableVisJonesDesc
00137 {
00138  public:
00139    // Default null constructor, and destructor
00140    GJonesDesc();
00141    virtual ~GJonesDesc() {};
00142 
00143 };
00144 
00145 // <summary> 
00146 // GJonesDelayRateSBDesc: Define the format of GJonesDelayRateSB cal tables
00147 // </summary>
00148 
00149 // <use visibility=export>
00150 
00151 // <reviewed reviewer="" date="" tests="" demos="">
00152 
00153 // <prerequisite>
00154 //<li><linkto class="CalTableDesc">CalTableDesc</linkto> module
00155 //<li><linkto class="VisJonesDesc">VisJonesDesc</linkto> module
00156 //<li><linkto class="SolvableVisJonesDesc">SolvableVisJonesDesc</linkto> module
00157 //<li><linkto class="GJonesDesc">GJonesDesc</linkto> module
00158 // </prerequisite>
00159 //
00160 // <etymology>
00161 // From "GJones" "delay", "rate", "single-band" and "descriptor".
00162 // </etymology>
00163 //
00164 // <synopsis>
00165 // GJonesDelayRateSBDesc defines the format of GJonesDelayRateSB 
00166 // calibration tables in terms of table descriptors
00167 // <linkto class="TableDesc">TableDesc</linkto>, 
00168 // as used in the Table system. This class augments the GJones
00169 // class, with several additional columns for parametrized 
00170 // fringe-fitting solutions. 
00171 // </synopsis>
00172 //
00173 // <example>
00174 // <srcblock>
00175 // </srcblock>
00176 // </example>
00177 //
00178 // <motivation>
00179 // See CalTableDesc.
00180 // </motivation>
00181 //
00182 // <todo asof="01/04/30">
00183 // Add multi-band and acceleration columns
00184 // </todo>
00185 
00186 class GJonesDelayRateSBDesc : public GJonesDesc
00187 {
00188  public:
00189    // Default null constructor, and destructor
00190    GJonesDelayRateSBDesc();
00191    virtual ~GJonesDelayRateSBDesc() {};
00192 
00193    // Return the table descriptors for the main calibration table:
00194    virtual TableDesc calMainDesc();
00195 };
00196 
00197 // <summary> 
00198 // DJonesDesc: Define the format of DJones cal tables
00199 // </summary>
00200 
00201 // <use visibility=export>
00202 
00203 // <reviewed reviewer="" date="" tests="" demos="">
00204 
00205 // <prerequisite>
00206 // <li> <linkto class="CalTableDesc">CalTableDesc</linkto> module
00207 // <li> <linkto class="VisJonesDesc">VisJonesDesc</linkto> module
00208 // <li> <linkto class="SolvableVisJonesDesc">SolvableVisJonesDesc</linkto> module
00209 // </prerequisite>
00210 //
00211 // <etymology>
00212 // From "DJones" and "descriptor".
00213 // </etymology>
00214 //
00215 // <synopsis>
00216 // DJonesDesc defines the format of DJones calibration tables in terms 
00217 // of table descriptors <linkto class="TableDesc">TableDesc</linkto>, 
00218 // as used in the Table system. DJones matrices define the instrumental
00219 // polarization corrections in the Measurement Equation formalism. At 
00220 // present, this class returns only the default table formats.
00221 // </etymology>
00222 //
00223 // <example>
00224 // <srcblock>
00225 // </srcblock>
00226 // </example>
00227 //
00228 // <motivation>
00229 // See CalTableDesc.
00230 // </motivation>
00231 //
00232 // <todo asof="98/01/01">
00233 // Generate calibration table descriptors from a VisSet or VisBuffer object
00234 // </todo>
00235 
00236 class DJonesDesc : public SolvableVisJonesDesc
00237 {
00238  public:
00239    // Default null constructor, and destructor
00240    DJonesDesc();
00241    virtual ~DJonesDesc() {};
00242 
00243 };
00244 
00245 // <summary> 
00246 // TJonesDesc: Define the format of TJones cal tables
00247 // </summary>
00248 
00249 // <use visibility=export>
00250 
00251 // <reviewed reviewer="" date="" tests="" demos="">
00252 
00253 // <prerequisite>
00254 //<li><linkto class="CalTableDesc">CalTableDesc</linkto> module
00255 //<li><linkto class="VisJonesDesc">VisJonesDesc</linkto> module
00256 //<li><linkto class="SolvableVisJonesDesc">SolvableVisJonesDesc</linkto> module
00257 // </prerequisite>
00258 //
00259 // <etymology>
00260 // From "TJones" and "descriptor".
00261 // </etymology>
00262 //
00263 // <synopsis>
00264 // TJonesDesc defines the format of TJones calibration tables in terms 
00265 // of table descriptors <linkto class="TableDesc">TableDesc</linkto>, 
00266 // as used in the Table system. TJones matrices define the atmospheric
00267 // gain corrections in the Measurement Equation formalism. At present, 
00268 // this class returns only the default table formats.
00269 // </etymology>
00270 //
00271 // <example>
00272 // <srcblock>
00273 // </srcblock>
00274 // </example>
00275 //
00276 // <motivation>
00277 // See CalTableDesc.
00278 // </motivation>
00279 //
00280 // <todo asof="98/01/01">
00281 // Generate calibration table descriptors from a VisSet or VisBuffer object
00282 // </todo>
00283 
00284 class TJonesDesc : public SolvableVisJonesDesc
00285 {
00286  public:
00287    // Default null constructor, and destructor
00288    TJonesDesc();
00289    virtual ~TJonesDesc() {};
00290 
00291 };
00292 
00293 
00294 
00295 } //# NAMESPACE CASA - END
00296 
00297 #endif
00298    
00299   
00300 
00301 
00302 
00303 
00304