casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PSTerm.h
Go to the documentation of this file.
1 //# PSTerm.h: Definition for PSTerm
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_PSTERM_H
30 #define SYNTHESIS_TRANSFORM2_PSTERM_H
31 
33 
34 #include <casa/Arrays/Vector.h>
35 #include <msvis/MSVis/VisBuffer2.h>
42 
43 namespace casa{
44  namespace refim{
45  // <summary> A class to apply the W-Term to the given image </summary>
46 
47  // <use visibility=export>
48  // <prerequisite>
49  // </prerequisite>
50  // <etymology>
51  // W-Term to account for non co-planar baselines
52  // </etymology>
53  //
54  // <synopsis>
55  //
56  //</synopsis>
57  class PSTerm: public CFTerms
58  {
59  public:
60  PSTerm(): CFTerms() {};
63  const casacore::Vector<casacore::Double>& uvOffset,
64  const casacore::Double& psScale):psCtor_p()
65  {init(shape,uvScale,uvOffset,psScale);};
66 
67  virtual ~PSTerm () {};
68 
69  void init(const casacore::IPosition shape,
71  const casacore::Vector<casacore::Double>& uvOffset,
72  const casacore::Double& psScale);
73  void reinit(const casacore::IPosition shape,
75  const casacore::Vector<casacore::Double>& uvOffset,
76  const casacore::Double& psScale);
79 
80  void applySky(casacore::Matrix<casacore::Complex>& screen,casacore::Bool multiply=false);
82  const casacore::Vector<casacore::Double>& sampling,
83  const casacore::Int inner);
85  const casacore::Matrix<casacore::Float>& weights);
86  virtual casacore::String name() {return casacore::String("PS Term");};
87 
88  //----------------------------------------------------------
89  // Implementation of pure-virtual methods of CFTerms parent class.
90  // CFTerms (and its derived classes) ned clean-up so that this
91  // kind of code is not required everywhere).
93  {(void)vb;(void)skyCoord;return 0;};
94 
95  void setPolMap(const casacore::Vector<casacore::Int>& polMap) {(void)polMap;};
96 
97  virtual casacore::Float getSupportThreshold() {return 1e-3;};
98 
100  const VisBuffer2&,// vb,
101  const casacore::Bool,// doSquint=true,
102  const casacore::Int&,// cfKey=0,
103  const casacore::Int&,// muellerTerm=0,
104  const casacore::Double /*freqVal=-1*/)
105  {};
106 
108  const VisBuffer2&,// vb,
109  const casacore::Bool,// doSquint=true,
110  const casacore::Int&,// cfKey=0,
111  const casacore::Int&,// muellerTerm=0,
112  const casacore::Double /*freqVal= -1*/ )
113  {};
114 
116  {casacore::Vector<casacore::Int> tt;return tt;};
117 
119  const casacore::Int&,// convSize,
120  const casacore::Int&,// convSampling,
121  const casacore::CoordinateSystem&,// skyCoord,
122  const casacore::Int&,// skyNx,
123  const casacore::Int&,// skyNy,
124  casacore::CoordinateSystem&// feedCoord
125  )
126  {return 0;};
127 
128  casacore::Int getConvSize() {return 0;};
130  void setConvSize(const casacore::Int) {};
132 
134 
135  private:
136  // spheroidal function
144  };
145  };
146 };
147 
148 #endif
casacore::Vector< casacore::Double > support_p
Definition: PSTerm.h:138
A Vector of integers, for indexing into Array&lt;T&gt; objects.
Definition: IPosition.h:119
void reinit(const casacore::IPosition shape, const casacore::Vector< casacore::Double > &uvScale, const casacore::Vector< casacore::Double > &uvOffset, const casacore::Double &psScale)
casacore::Int getOversampling()
Definition: PSTerm.h:129
int Int
Definition: aipstype.h:50
casacore::Bool rotationallySymmetric()
Definition: PSTerm.h:133
void setPolMap(const casacore::Vector< casacore::Int > &polMap)
The mapping from VisBuffer polarizations map to the Image plane polarization.
Definition: PSTerm.h:95
void setConvSize(const casacore::Int)
Definition: PSTerm.h:130
A class to apply the W-Term to the given image.
Definition: PSTerm.h:57
void applySky(casacore::ImageInterface< casacore::Complex > &, const VisBuffer2 &, const casacore::Bool, const casacore::Int &, const casacore::Int &, const casacore::Double)
Definition: PSTerm.h:107
void init(const casacore::IPosition shape, const casacore::Vector< casacore::Double > &uvScale, const casacore::Vector< casacore::Double > &uvOffset, const casacore::Double &psScale)
casacore::Matrix< casacore::Complex > & operator*=(casacore::Matrix< casacore::Complex > &)
void applySky(casacore::Matrix< casacore::Complex > &screen, casacore::Bool multiply=false)
casacore::Matrix< casacore::Complex > & operator=(casacore::Matrix< casacore::Complex > &)
casacore::Int getConvSize()
Definition: PSTerm.h:128
virtual casacore::String name()
Definition: PSTerm.h:86
Referenced counted pointer for constant data.
Definition: VisModelData.h:42
casacore::Vector< casacore::Int > vbRow2CFKeyMap(const VisBuffer2 &, casacore::Int &)
Not sure if the following method is requried.
Definition: PSTerm.h:115
double Double
Definition: aipstype.h:55
casacore::Double psScale_p
Definition: PSTerm.h:140
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
float Float
Definition: aipstype.h:54
virtual casacore::Float getSupportThreshold()
Definition: PSTerm.h:97
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)
Definition: PSTerm.h:99
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape...
Definition: ExprNode.h:1944
int getVisParams(const VisBuffer2 &vb, const casacore::CoordinateSystem &skyCoord=casacore::CoordinateSystem())
Implementation of pure-virtual methods of CFTerms parent class.
Definition: PSTerm.h:92
casacore::Vector< casacore::Double > uvScale_p
Definition: PSTerm.h:142
casacore::Vector< casacore::Double > uvOffset_p
Definition: PSTerm.h:143
VisBuffer2s encapsulate one chunk of visibility data for processing.
Definition: VisBuffer2.h:141
const Double e
e and functions thereof:
casacore::Vector< casacore::Int > sampling_p
Definition: PSTerm.h:139
virtual ~PSTerm()
Definition: PSTerm.h:67
casacore::Float getConvWeightSizeFactor()
Definition: PSTerm.h:131
String: the storage and methods of handling collections of characters.
Definition: String.h:223
void normalizeImage(casacore::Lattice< casacore::Complex > &skyImage, const casacore::Matrix< casacore::Float > &weights)
PSTerm(const casacore::IPosition shape, const casacore::Vector< casacore::Double > &uvScale, const casacore::Vector< casacore::Double > &uvOffset, const casacore::Double &psScale)
Definition: PSTerm.h:61
casacore::CountedPtr< casacore::ConvolveGridder< casacore::Double, casacore::Complex > > psCtor_p
spheroidal function
Definition: PSTerm.h:133
casacore::IPosition shape_p
Definition: PSTerm.h:141
Interconvert pixel and world coordinates.
casacore::Int makePBPolnCoords(const VisBuffer2 &, const casacore::Int &, const casacore::Int &, const casacore::CoordinateSystem &, const casacore::Int &, const casacore::Int &, casacore::CoordinateSystem &)
Definition: PSTerm.h:118