casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
WTerm.h
Go to the documentation of this file.
1 //# WTerm.h: Definition for WTerm
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_WTERM_H
30 #define SYNTHESIS_TRANSFORM2_WTERM_H
31 
32 
33 #include <casa/Arrays/Vector.h>
34 #include <msvis/MSVis/VisBuffer2.h>
39 
40 
41 namespace casa{
42  namespace refim{
43  // <summary> A class to apply the W-Term to the given image </summary>
44 
45  // <use visibility=export>
46  // <prerequisite>
47  // </prerequisite>
48  // <etymology>
49  // W-Term to account for non co-planar baselines
50  // </etymology>
51  //
52  // <synopsis>
53  //
54  //</synopsis>
55  class WTerm: public CFTerms
56  {
57  public:
58  WTerm () : CFTerms() {};
59  ~WTerm () {};
60 
61  virtual void applySky(casacore::Matrix<casacore::Complex>& screen,
62  const casacore::Int wPixel,
63  const casacore::Vector<casacore::Double>& sampling,
64  const casacore::Double wScale,
65  const casacore::Int inner);
66  virtual void applySky(casacore::Matrix<casacore::Complex>& screen,
67  const casacore::Vector<casacore::Double>& sampling,
68  const casacore::Double wValue,
69  const casacore::Int inner);
71  {(void)vb;(void)skyCoord;return 0;};
72  void setPolMap(const casacore::Vector<casacore::Int>& polMap) {(void)polMap;};
73  virtual casacore::Float getSupportThreshold() {return 1e-3;};
74 
75  // WTerm normalizes the image be unity
77  const casacore::Matrix<casacore::Float>& weights)
78  {(void)skyImage;(void)weights;};
79  virtual casacore::String name() {return casacore::String("W Term");};
80  //
81  // The following functions are not required for W-Term but need to
82  // be implemented here since they are pure virtuals in CFTerms
83  // base class.
85  const VisBuffer2&,// vb,
86  const casacore::Bool,/* doSquint=true,*/
87  const casacore::Int&,/* cfKey=0,*/
88  const casacore::Int&,/* muellerTerm=0,*/
89  const casacore::Double /*freqVal*=-1*/)
90  {};
92  const VisBuffer2&,// vb,
93  const casacore::Bool,/* doSquint=true,*/
94  const casacore::Int&,/* cfKey=0,*/
95  const casacore::Int&,/* muellerTerm=0,*/
96  const casacore::Double /*freqVal=-1*/)
97  {};
99  {(void)vb;(void)nUnique;return casacore::Vector<casacore::Int>();};
101  const casacore::Int& convSize,
102  const casacore::Int& convSampling,
103  const casacore::CoordinateSystem& skyCoord,
104  const casacore::Int& skyNx, const casacore::Int& skyNy,
105  casacore::CoordinateSystem& feedCoord)
106  {
107  (void)vb;(void)convSize;(void)convSampling;(void)skyCoord;(void)skyNx;(void)skyNy;(void)feedCoord;
108  return 0;
109  };
110 
112 
113 
114  casacore::Int getConvSize() {return 0;};
116  void setConvSize(const casacore::Int) {};
118  };
119  };
120 };
121 
122 #endif
virtual void applySky(casacore::Matrix< casacore::Complex > &screen, const casacore::Int wPixel, const casacore::Vector< casacore::Double > &sampling, const casacore::Double wScale, const casacore::Int inner)
virtual casacore::String name()
Definition: WTerm.h:79
int Int
Definition: aipstype.h:50
casacore::Bool rotationallySymmetric()
Definition: WTerm.h:111
void setConvSize(const casacore::Int)
Definition: WTerm.h:116
virtual casacore::Float getSupportThreshold()
Definition: WTerm.h:73
casacore::Int getConvSize()
Definition: WTerm.h:114
void setPolMap(const casacore::Vector< casacore::Int > &polMap)
The mapping from VisBuffer polarizations map to the Image plane polarization.
Definition: WTerm.h:72
virtual void normalizeImage(casacore::Lattice< casacore::Complex > &skyImage, const casacore::Matrix< casacore::Float > &weights)
WTerm normalizes the image be unity.
Definition: WTerm.h:76
casacore::Int makePBPolnCoords(const VisBuffer2 &vb, const casacore::Int &convSize, const casacore::Int &convSampling, const casacore::CoordinateSystem &skyCoord, const casacore::Int &skyNx, const casacore::Int &skyNy, casacore::CoordinateSystem &feedCoord)
Definition: WTerm.h:100
double Double
Definition: aipstype.h:55
casacore::Vector< casacore::Int > vbRow2CFKeyMap(const VisBuffer2 &vb, casacore::Int &nUnique)
Not sure if the following method is requried.
Definition: WTerm.h:98
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
float Float
Definition: aipstype.h:54
The base class to represent the Aperture-Term of the Measurement Equation.
Definition: CFTerms.h:57
void applySky(casacore::ImageInterface< casacore::Float > &, const VisBuffer2 &, const casacore::Bool, const casacore::Int &, const casacore::Int &, const casacore::Double)
The following functions are not required for W-Term but need to be implemented here since they are pu...
Definition: WTerm.h:84
void applySky(casacore::ImageInterface< casacore::Complex > &, const VisBuffer2 &, const casacore::Bool, const casacore::Int &, const casacore::Int &, const casacore::Double)
Definition: WTerm.h:91
casacore::Float getConvWeightSizeFactor()
Definition: WTerm.h:117
int getVisParams(const VisBuffer2 &vb, const casacore::CoordinateSystem &skyCoord=casacore::CoordinateSystem())
Definition: WTerm.h:70
A class to apply the W-Term to the given image.
Definition: WTerm.h:55
VisBuffer2s encapsulate one chunk of visibility data for processing.
Definition: VisBuffer2.h:141
const Double e
e and functions thereof:
String: the storage and methods of handling collections of characters.
Definition: String.h:223
casacore::Int getOversampling()
Definition: WTerm.h:115
Interconvert pixel and world coordinates.