casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
NoOpATerm.h
Go to the documentation of this file.
1 //# ATerm.h: Definition for ATerm
2 //# Copyright (C) 2007
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_TRANSFORM2_NOOPATERM_H
30 #define SYNTHESIS_TRANSFORM2_NOOPATERM_H
31 
32 
33 #include <casa/Arrays/Vector.h>
37 #include <msvis/MSVis/VisBuffer2.h>
38 #include <casa/Containers/Block.h>
42 
43 namespace casa{
44  // <summary>
45  // The base class to represent the Aperture-Term of the Measurement Equation.
46  // </summary>
47 
48  // <use visibility=export>
49  // <prerequisite>
50  // </prerequisite>
51  // <etymology>
52  // A NoOp A-Term which does nothing but keeps the framework unchanged. Used when no A-term corrections are required.
53  // </etymology>
54  //
55  // <synopsis>
56  //
57  //</synopsis>
58  namespace refim{
59  class NoOpATerm: public ATerm
60  {
61  public:
62  NoOpATerm (): ATerm() {};
63  virtual ~NoOpATerm () {};
64 
65  virtual casacore::String name() {return casacore::String("NoOpATerm");}
66 
68  const VisBuffer2&,// vb,
69  casacore::Bool,// doSquint,
70  casacore::Int&,// bandID,
71  casacore::Double// freqVal
72  )
73  {};
74 
75  virtual void applySky(casacore::ImageInterface<casacore::Float>& ,//outputImages,
76  const VisBuffer2& ,//vb,
77  const casacore::Bool ,//doSquint=true,
78  const casacore::Int& ,//cfKey=0,
79  const casacore::Int& ,//muellerTerm=0,
80  const casacore::Double // freqVal=-1
81  )
82  {};
84  const VisBuffer2& ,//vb,
85  const casacore::Bool ,//doSquint=true,
86  const casacore::Int& ,//cfKey=0,
87  const casacore::Int& ,//muellerTerm=0,
88  const casacore::Double // freqVal=-1
89  )
90  {};
91 
93  const casacore::Double&,// pa,
94  const casacore::Bool,// doSquint,
95  const casacore::Int&,// cfKey,
96  const casacore::Int&,// muellerTerm,
97  const casacore::Double// freqVal=-1.0
98  )
99  {};
100 
102  const casacore::String&, //telescopeName
103  const casacore::String& //bandName
104  )
105  {return 0;};
106 
107  void cacheVBInfo(const casacore::String& /*telescopeName*/, const casacore::Float& /*diameter*/) {};
108  void cacheVBInfo(const VisBuffer2& ) {};
109 
111  const casacore::Matrix<casacore::Float>& // weights
112  )
113  {};
114 
115  virtual int getVisParams(const VisBuffer2& ,// vb
116  const casacore::CoordinateSystem& // skyCoord=casacore::CoordinateSystem()
117  )
118  {return 0;};
119 
120  virtual void rotate(const VisBuffer2& ,//vb,
121  CFCell&, // cfs
122  const casacore::Double& // rotAngle
123  )
124  {};
125  virtual void rotate2(const VisBuffer2& ,//vb,
126  CFCell&, // basecfs
127  CFCell&, // cfs
128  const casacore::Double& // rotAngle
129  )
130  {};
131  //
132  // As the name indicates, this class should always return true
133  //
134  virtual casacore::Bool isNoOp() {return true;};
135 
136  //
137  // Method used in the framework for other CFTerms as well. These are now all in the base class.
138  //
139  // virtual casacore::Int getConvSize() {};
140  // virtual casacore::Vector<casacore::Int> vbRow2CFKeyMap(const VisBuffer2& vb, casacore::Int& nUnique)
141  // {casacore::Vector<casacore::Int> tmp; tmp.resize(vb.nRow()); tmp=0; nUnique=1; return tmp;}
142 
143  // virtual casacore::Int makePBPolnCoords(const VisBuffer2& vb,
144  // const casacore::Int& convSize,
145  // const casacore::Int& convSampling,
146  // const casacore::CoordinateSystem& skyCoord,
147  // const casacore::Int& skyNx, const casacore::Int& skyNy,
148  // casacore::CoordinateSystem& feedCoord) {throw(casacore::AipsError("NoOpATerm::makePBPolnCoords() called"));};
149 
150  // virtual casacore::Float getConvWeightSizeFactor() {return 1.0;};
151  // virtual casacore::Int getOversampling() {return 20;};
152  virtual casacore::Float getSupportThreshold() {return 1e-3;};
153  // virtual casacore::Int mapAntIDToAntType(const casacore::Int& /*ant*/) {return 0;};
154  // virtual void setPolMap(const casacore::Vector<casacore::Int>& polMap) {polMap_p_base.resize(0);polMap_p_base=polMap;}
155  // virtual void getPolMap(casacore::Vector<casacore::Int>& polMap) {polMap.resize(0); polMap = polMap_p_base;};
156  // virtual casacore::Vector<casacore::Int> getAntTypeList() {casacore::Vector<casacore::Int> tt(1); tt=0;return tt;};
157  virtual casacore::Bool rotationallySymmetric() {return false;};
158  };
159 
160 };
161 };
162 #endif
virtual void applySky(casacore::ImageInterface< casacore::Complex > &, const VisBuffer2 &, const casacore::Bool, const casacore::Int &, const casacore::Int &, const casacore::Double)
Definition: NoOpATerm.h:83
int Int
Definition: aipstype.h:50
virtual void rotate(const VisBuffer2 &, CFCell &, const casacore::Double &)
virtual void rotate(const VisBuffer2&amp; vb, CFStore2&amp; cfs)=0;
Definition: NoOpATerm.h:120
virtual casacore::Bool isNoOp()
As the name indicates, this class should always return true.
Definition: NoOpATerm.h:134
virtual void applySky(casacore::ImageInterface< casacore::Float > &, const VisBuffer2 &, const casacore::Bool, const casacore::Int &, const casacore::Int &, const casacore::Double)
Definition: NoOpATerm.h:75
void cacheVBInfo(const casacore::String &, const casacore::Float &)
Definition: NoOpATerm.h:107
virtual casacore::String name()
Definition: NoOpATerm.h:65
void cacheVBInfo(const VisBuffer2 &)
Definition: NoOpATerm.h:108
virtual casacore::Float getSupportThreshold()
Method used in the framework for other CFTerms as well.
Definition: NoOpATerm.h:152
virtual void normalizeImage(casacore::Lattice< casacore::Complex > &, const casacore::Matrix< casacore::Float > &)
virtual casacore::Vector&lt;casacore::Int&gt; vbRow2CFKeyMap(const VisBuffer2&amp; vb, casacore::Int&amp; nUnique) ...
Definition: NoOpATerm.h:110
virtual ~NoOpATerm()
Definition: NoOpATerm.h:63
virtual void makeFullJones(casacore::ImageInterface< casacore::Complex > &, const VisBuffer2 &, casacore::Bool, casacore::Int &, casacore::Double)
Definition: NoOpATerm.h:67
double Double
Definition: aipstype.h:55
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
virtual void applySky(casacore::ImageInterface< casacore::Complex > &, const casacore::Double &, const casacore::Bool, const casacore::Int &, const casacore::Int &, const casacore::Double)
Definition: NoOpATerm.h:92
float Float
Definition: aipstype.h:54
The base class to represent the Aperture-Term of the Measurement Equation.
Definition: ATerm.h:65
casacore::Int getBandID(const casacore::Double &, const casacore::String &, const casacore::String &)
Definition: NoOpATerm.h:101
VisBuffer2s encapsulate one chunk of visibility data for processing.
Definition: VisBuffer2.h:141
const Double e
e and functions thereof:
virtual void rotate2(const VisBuffer2 &, CFCell &, CFCell &, const casacore::Double &)
Definition: NoOpATerm.h:125
*virtual casacore::Bool rotationallySymmetric()
Definition: NoOpATerm.h:157
template &lt;class t&gt;=&quot;&quot;&gt;
Definition: CFCell.h:92
String: the storage and methods of handling collections of characters.
Definition: String.h:223
Interconvert pixel and world coordinates.
virtual int getVisParams(const VisBuffer2 &, const casacore::CoordinateSystem &)
Definition: NoOpATerm.h:115