casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SimACohCalc.h
Go to the documentation of this file.
1 //# SimACohCalc.h: Definition for Simulated additive errors, calculated from obs. parms
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_SIMACOHCALC_H
30 #define SYNTHESIS_SIMACOHCALC_H
31 
32 #include <casa/aips.h>
33 #include <casa/BasicMath/Random.h>
35 #include <casa/Quanta/Quantum.h>
36 
37 namespace casa { //# NAMESPACE CASA - BEGIN
38 
39 // <summary>
40 // SimACohCalc: Model additive noise 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 // <li> <linkto class="SimACoh">SimACoh</linkto> class
52 // </prerequisite>
53 //
54 // <etymology>
55 // SimACohCalc describes random additive errors to be used in
56 // the <linkto class="VisEquation">VisEquation</linkto>, calculated from parameters
57 // such as bandwidth, system temperature, integration time, dish diameter, and efficiencies.
58 // </etymology>
59 //
60 // <synopsis>
61 //
62 // See <linkto class="VisEquation">VisEquation</linkto> for definition of the
63 // Visibility Measurement Equation. See <linkto class="ACoh">ACoh</linkto>
64 // for how SimACohCalc is to be used.
65 // </synopsis>
66 //
67 // <motivation>
68 // The properties of an additive component must be described
69 // for the <linkto class="VisEquation">VisEquation</linkto>.
70 // </motivation>
71 //
72 // <todo asof="97/10/01">
73 // </todo>
74 
75 class SimACohCalc : public ACoh
76 {
77 public:
78  // Construct from VisSet, seed and rms of additive noise (normal dist.)
79  // NOTE: rms is for the tau = 0.0 case, and is augmented as
80  // appropriate given tau, tatmos, trx (ie, all NON-atmospheric noise
81  // contributions), and airmass= 1/sin(ELEVATION).
82  // If tau = 0.0, this defaults to the SimACoh case.
83  SimACohCalc(const casacore::Int seed=1,
84  const casacore::Float antefficiency=0.80,
85  const casacore::Float correfficiency=0.85,
86  const casacore::Float spillefficiency=0.85,
87  const casacore::Float tau=0.0,
88  const casacore::Quantity& trx=50,
89  const casacore::Quantity& tatmos=250,
90  const casacore::Quantity& tcmb=2.7);
91 
92  // virtual destructor
93  virtual ~SimACohCalc();
94 
95  // Apply additive error (Inverse is minus)
96  // <group>
97  virtual VisBuffer& apply(VisBuffer& vb);
98  virtual VisBuffer& applyInv(VisBuffer& vb);
99  // </group>
100 private:
101  casacore::Bool solve(VisEquation& /*ve*/) {return true;}
102  SimACohCalc();
103 
113 
114 
115 
116 };
117 
118 
119 } //# NAMESPACE CASA - END
120 
121 #endif
casacore::Float correfficiency_p
Definition: SimACohCalc.h:107
casacore::Quantity tcmb_p
Definition: SimACohCalc.h:112
int Int
Definition: aipstype.h:50
casacore::MLCG rndGen_p
Definition: SimACohCalc.h:104
virtual VisBuffer & apply(VisBuffer &vb)
Apply additive error (Inverse is minus)
casacore::Float spillefficiency_p
Definition: SimACohCalc.h:108
virtual ~SimACohCalc()
virtual destructor
casacore::Normal noiseDist_p
Definition: SimACohCalc.h:105
casacore::Float antefficiency_p
Definition: SimACohCalc.h:106
Normal or Gaussian distribution.
Definition: Random.h:997
SimACohCalc: Model additive noise errors for the VisEquation.
Definition: SimACohCalc.h:75
casacore::Quantity tatmos_p
Definition: SimACohCalc.h:111
casacore::Float tau_p
Definition: SimACohCalc.h:109
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
float Float
Definition: aipstype.h:54
casacore::Bool solve(VisEquation &)
Definition: SimACohCalc.h:101
Multiplicative linear congruential generator.
Definition: Random.h:305
VisBuffers encapsulate one chunk of visibility data for processing.
Definition: VisBuffer.h:153
virtual VisBuffer & applyInv(VisBuffer &vb)
casacore::Quantity trx_p
Definition: SimACohCalc.h:110