casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CalInterpolator.h
Go to the documentation of this file.
1 //# CalInterpolator.h: a class to interpolate calibration information
2 //# Copyright (C) 1996,1997,1998,2000,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 adressed as follows:
20 //# Internet email: aips2-request@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_CALINTERPOLATOR_H
30 #define CALIBRATION_CALINTERPOLATOR_H
31 
32 #include <casa/aips.h>
33 #include <casa/Arrays/Matrix.h>
34 #include <msvis/MSVis/VisBuffer.h>
36 
37 namespace casa { //# NAMESPACE CASA - BEGIN
38 
39 // <summary>
40 // CalInterpolator: a class to interpolate calibration information
41 // </summary>
42 
43 // <use visibility=export>
44 
45 // <reviewed reviewer="" date="" tests="" demos="">
46 
47 // <prerequisite>
48 // <li> <linkto class="CalTable">CalTable</linkto> module
49 // <li> <linkto class="CalInterpolation">CalInterpolation</linkto> module
50 // <li> <linkto class="VisBuffer">VisBuffer</linkto> module
51 // </prerequisite>
52 //
53 // <etymology>
54 // From "calibration" and "interpolation".
55 // </etymology>
56 //
57 // <synopsis>
58 // This base class defines the interface for calibration interpolation.
59 // Specializations for calibration table and calibration model interpolation
60 // are provided through inheritance. Calibration table solutions may be
61 // discretely sampled values for parametrized solutions and interpolation
62 // of both is supported through inherited sub-types. Calibration models
63 // may be analytic (e.g. parallactic angle PJones) or empirical based on
64 // global or other data not stored in calibration tables (e.g. empirical
65 // ionosphere models).
66 // </synopsis>
67 //
68 // <example>
69 // <srcblock>
70 // </srcblock>
71 // </example>
72 //
73 // <motivation>
74 // Define the base class interface for different calibration interpolation
75 // types.
76 // </motivation>
77 //
78 // <todo asof="02/07/01">
79 // (i) None known.
80 // </todo>
81 
83 {
84  public:
85  // Set the visibility buffer on which the calibration interpolator acts
86  virtual void setVisBuffer (VisBuffer& vb) {vb_p = &vb; return;};
87 
88  // Compute the interpolated calibration correction for a given
89  // visibility buffer row.
90  virtual casacore::Bool getVal (const casacore::Int& /*row*/, casacore::Matrix<casacore::Complex>& /*jonesMatrix*/){return false;};
91 
92  protected:
93  // Public construction is prohibited.
94  // Copy constructor and assignment operator are implicit.
95  // Construct from a set of calibration interpolation parameters.
96  CalInterpolator (const CalInterpolation& calInterp);
97 
98  // Desctructor
99  virtual ~CalInterpolator() {};
100 
101  // Reference to the calibration interpolation parameters
103 
104  // Pointer to the current visibility buffer
106 };
107 
108 
109 } //# NAMESPACE CASA - END
110 
111 #endif
112 
113 
114 
115 
116 
CalInterpolator: a class to interpolate calibration information.
int Int
Definition: aipstype.h:50
VisBuffer * vb_p
Pointer to the current visibility buffer.
virtual ~CalInterpolator()
Desctructor.
virtual casacore::Bool getVal(const casacore::Int &, casacore::Matrix< casacore::Complex > &)
Compute the interpolated calibration correction for a given visibility buffer row.
CalInterpolation: a class to hold calibration interpolation parameters.
CalInterpolator(const CalInterpolation &calInterp)
Public construction is prohibited.
virtual void setVisBuffer(VisBuffer &vb)
Set the visibility buffer on which the calibration interpolator acts.
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
VisBuffers encapsulate one chunk of visibility data for processing.
Definition: VisBuffer.h:153
const CalInterpolation & calInterp_p
Reference to the calibration interpolation parameters.