casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ACoh.h
Go to the documentation of this file.
1 //# ACoh.h: Definition for ACoh
2 //# Copyright (C) 1996,1997,1999,2000
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 SYNTHESIS_ACOH_H
30 #define SYNTHESIS_ACOH_H
31 
32 #include <casa/aips.h>
33 #include <casa/BasicSL/Complex.h>
35 #include <msvis/MSVis/VisSet.h>
36 
37 namespace casa { //# NAMESPACE CASA - BEGIN
38 
39 // <summary>
40 // ACoh: Model additive errors for the VisEquation.
41 // </summary>
42 
43 // <use visibility=export>
44 
45 // <reviewed reviewer="" date="" tests="" demos="">
46 
47 // <prerequisite>
48 // <li> <linkto module="MeasurementComponents">MeasurementComponents</linkto> module
49 // <li> <linkto class="VisSet">VisSet</linkto> class
50 // <li> <linkto class="VisEquation">VisEquation</linkto> class
51 // </prerequisite>
52 //
53 // <etymology>
54 // ACoh describes an interface for additive errors to be used in
55 // the <linkto class="VisEquation">VisEquation</linkto>. It is an Abstract Base Class: most methods
56 // must be defined in derived classes.
57 // </etymology>
58 //
59 // <synopsis>
60 //
61 // See <linkto class="VisEquation">VisEquation</linkto> for definition of the
62 // Visibility Measurement Equation.
63 //
64 // The following examples illustrate how an ACoh can be
65 // used:
66 // <ul>
67 // <li> Simulation: random additive noise of a certain scaling
68 // can be added: <linkto class="SimACoh">SimACoh</linkto>
69 // <li> Correlator offsets
70 // </ul>
71 // </synopsis>
72 //
73 // <example>
74 // <srcblock>
75 // // Read the VisSet from disk
76 // VisSet vs("3c84.MS");
77 //
78 // VisEquation ve(vs);
79 //
80 // // Make an ACoh
81 // CorrelatorOffsetACoh coac(vs);
82 //
83 // ve.setACoh(coac);
84 //
85 // // Correct the visset
86 // ve.correct();
87 // </srcblock>
88 // </example>
89 //
90 // <motivation>
91 // The properties of an additive component must be described
92 // for the <linkto class="VisEquation">VisEquation</linkto>.
93 // </motivation>
94 //
95 // <todo asof="97/10/01">
96 // </todo>
97 
98 class VisEquation;
99 
100 class ACoh {
101 public:
102  ACoh() {};
103  virtual ~ACoh() {};
104 
105  virtual casacore::Bool solve(VisEquation& ve) = 0;
106 
107  // Apply additive error (Inverse is minus)
108  // <group>
109  virtual VisBuffer& apply(VisBuffer& vb) = 0;
110  virtual VisBuffer& applyInv(VisBuffer& vb) = 0;
111  // </group>
112 private:
113 };
114 
115 
116 } //# NAMESPACE CASA - END
117 
118 #endif
ACoh()
Definition: ACoh.h:102
virtual casacore::Bool solve(VisEquation &ve)=0
virtual ~ACoh()
Definition: ACoh.h:103
virtual VisBuffer & applyInv(VisBuffer &vb)=0
virtual VisBuffer & apply(VisBuffer &vb)=0
Apply additive error (Inverse is minus)
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