casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
TimeVarVJMBuf.h
Go to the documentation of this file.
00001 //# TimeVarVJMBuf.h: TimeVarVisJones calibration main table buffer
00002 //# Copyright (C) 1996,1997,1998,2001,2002,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_TIMEVARVJMBUF_H
00030 #define CALIBRATION_TIMEVARVJMBUF_H
00031 
00032 #include <synthesis/CalTables/VisJonesMBuf.h>
00033 
00034 namespace casa { //# NAMESPACE CASA - BEGIN
00035 
00036 // <summary> 
00037 // TimeVarVisJonesMBuf: TimeVarVisJones calibration main table buffer
00038 // </summary>
00039 
00040 // <use visibility=export>
00041 
00042 // <reviewed reviewer="" date="" tests="" demos="">
00043 
00044 // <prerequisite>
00045 //   <li> <linkto class="CalMainBuffer">CalMainBuffer</linkto> module
00046 //   <li> <linkto class="VisJonesMBuf">VisJonesMBuf</linkto> module
00047 // </prerequisite>
00048 //
00049 // <etymology>
00050 // From "time-variable visibility Jones matrix", "cal main table" and "buffer"
00051 // </etymology>
00052 //
00053 // <synopsis>
00054 // The TimeVarVisJonesMBuf class holds a buffer, optionally connected to a 
00055 // TimeVarVisJones calibration main table iterator (of base type CalIterBase). 
00056 // Specializations solvable VisJones calibration table formats are provided 
00057 // through inheritance.
00058 // </synopsis>
00059 //
00060 // <example>
00061 // <srcblock>
00062 // </srcblock>
00063 // </example>
00064 //
00065 // <motivation>
00066 // Encapsulate TimeVarVisJones calibration main table data buffers.
00067 // </motivation>
00068 //
00069 // <todo asof="01/08/01">
00070 // (i) Deal with non-standard columns.
00071 // </todo>
00072 
00073 class TimeVarVisJonesMBuf : public VisJonesMBuf
00074 {
00075  public:
00076   // Default constructor. No connection to an underlying
00077   // calibration table iterator in this case.
00078   TimeVarVisJonesMBuf();
00079 
00080   // Construct from a set of calibration buffer indices and
00081   // their specified values. Non-index columns will be set 
00082   // to default values, and there is no connection to an 
00083   // underlying calibration table iterator in this case.
00084   TimeVarVisJonesMBuf (const Vector<Int>& calIndices, 
00085                        const Block<Vector<Int> >& indexValues);
00086 
00087   // Construct from a calibration table iterator. The calibration
00088   // buffer will remain synchronized with the iterator.
00089   TimeVarVisJonesMBuf (CalIterBase& calIter);
00090 
00091  protected:
00092 
00093  private:
00094 };
00095 
00096 // <summary> 
00097 // PJonesMBuf: PJones calibration main table buffer
00098 // </summary>
00099 
00100 // <use visibility=export>
00101 
00102 // <reviewed reviewer="" date="" tests="" demos="">
00103 
00104 // <prerequisite>
00105 // <li> <linkto class="CalMainBuffer">CalMainBuffer</linkto> module
00106 // <li> <linkto class="TimeVarVisJonesMBuf">TimeVarVisJonesMBuf</linkto> module
00107 // </prerequisite>
00108 //
00109 // <etymology>
00110 // From "PJones matrix", "cal main table" and "buffer"
00111 // </etymology>
00112 //
00113 // <synopsis>
00114 // The PJonesMBuf class holds a buffer, optionally connected to a 
00115 // PJones calibration main table iterator (of base type CalIterBase). 
00116 // The PJones matrix contains parallactic angle correction terms.
00117 // </synopsis>
00118 //
00119 // <example>
00120 // <srcblock>
00121 // </srcblock>
00122 // </example>
00123 //
00124 // <motivation>
00125 // Encapsulate PJones calibration main table data buffers.
00126 // </motivation>
00127 //
00128 // <todo asof="01/08/01">
00129 // (i) Deal with non-standard columns.
00130 // </todo>
00131 
00132 class PJonesMBuf : public TimeVarVisJonesMBuf
00133 {
00134  public:
00135   // Default constructor. No connection to an underlying
00136   // calibration table iterator in this case.
00137   PJonesMBuf();
00138 
00139   // Construct from a set of calibration buffer indices and
00140   // their specified values. Non-index columns will be set 
00141   // to default values, and there is no connection to an 
00142   // underlying calibration table iterator in this case.
00143   PJonesMBuf (const Vector<Int>& calIndices, 
00144               const Block<Vector<Int> >& indexValues);
00145 
00146   // Construct from a calibration table iterator. The calibration
00147   // buffer will remain synchronized with the iterator.
00148   PJonesMBuf (CalIterBase& calIter);
00149 
00150  protected:
00151 
00152  private:
00153 };
00154 
00155 // <summary> 
00156 // CJonesMBuf: CJones calibration main table buffer
00157 // </summary>
00158 
00159 // <use visibility=export>
00160 
00161 // <reviewed reviewer="" date="" tests="" demos="">
00162 
00163 // <prerequisite>
00164 // <li> <linkto class="CalMainBuffer">CalMainBuffer</linkto> module
00165 // <li> <linkto class="TimeVarVisJonesMBuf">TimeVarVisJonesMBuf</linkto> module
00166 // </prerequisite>
00167 //
00168 // <etymology>
00169 // From "CJones matrix", "cal main table" and "buffer"
00170 // </etymology>
00171 //
00172 // <synopsis>
00173 // The CJonesMBuf class holds a buffer, optionally connected to a 
00174 // CJones calibration main table iterator (of base type CalIterBase). 
00175 // The CJones matrix contains polarization configuration information.
00176 // </synopsis>
00177 //
00178 // <example>
00179 // <srcblock>
00180 // </srcblock>
00181 // </example>
00182 //
00183 // <motivation>
00184 // Encapsulate CJones calibration main table data buffers.
00185 // </motivation>
00186 //
00187 // <todo asof="01/08/01">
00188 // (i) Deal with non-standard columns.
00189 // </todo>
00190 
00191 class CJonesMBuf : public TimeVarVisJonesMBuf
00192 {
00193  public:
00194   // Default constructor. No connection to an underlying
00195   // calibration table iterator in this case.
00196   CJonesMBuf();
00197 
00198   // Construct from a set of calibration buffer indices and
00199   // their specified values. Non-index columns will be set 
00200   // to default values, and there is no connection to an 
00201   // underlying calibration table iterator in this case.
00202   CJonesMBuf (const Vector<Int>& calIndices, 
00203               const Block<Vector<Int> >& indexValues);
00204 
00205   // Construct from a calibration table iterator. The calibration
00206   // buffer will remain synchronized with the iterator.
00207   CJonesMBuf (CalIterBase& calIter);
00208 
00209  protected:
00210 
00211  private:
00212 };
00213 
00214 
00215 } //# NAMESPACE CASA - END
00216 
00217 #endif