casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VLACalcIlluminationConvFunc.h
Go to the documentation of this file.
1 //# VLAIlluminationConvFunc.h: Definition for VLAIlluminationConvFunc
2 //# Copyright (C) 1996,1997,1998,1999,2000,2002
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_VLACALCILLUMINATIONCONVFUNC_H
30 #define SYNTHESIS_VLACALCILLUMINATIONCONVFUNC_H
31 
33 //#include <synthesis/MeasurementComponents/BeamCalcConstants.h>
35 //#include <synthesis/MeasurementComponents/BeamCalcAntenna.h>
39 #include <casa/Exceptions.h>
40 #include <msvis/MSVis/VisBuffer.h>
41 #include <casa/sstream.h>
43 namespace casa{
44 
45  // casacore::Int getVLABandID(casacore::Double& freq,casacore::String&telescopeName);
47  {
48  public:
49 
53  convFunc_p(),resolution(),pbRead_p(false),freq_p(0),lastPA(0),ap()
54  {pbRead_p=false;};
56 
57  void setBandID(casacore::Int bandID) {ap.band=bandID;}
58  // void storeImg(casacore::String &fileName,casacore::ImageInterface<casacore::Complex>& img);
59  // void storeImg(casacore::String &fileName,casacore::ImageInterface<casacore::Float>& img);
60  // void store(casacore::String &fileName);
61  void loadFromImage(casacore::String &fileName);
63  //void ftAperture(casacore::TempImage<casacore::Complex>& uvgrid);
67  void storePB(casacore::String& fileName);
68 
70 
74  casacore::IPosition& skyShape,
76  //const VisBuffer& vb,
78  casacore::Bool doSquint=true,casacore::Int bandID=-1,casacore::Int muellerTerm=0 ,casacore::Double freqVal=-1.0);
80  casacore::IPosition& skyShape,
82  const VisBuffer &vb,
84  casacore::Bool doSquint, casacore::Int bandID);
86  const casacore::Int& inStokes);
88  const casacore::Float& Freq, const casacore::Float& pa,
89  const casacore::Int& bandID,
90  const casacore::Int& inStokes,
91  const casacore::IPosition& skyShape,
93 
94 
95  void applyPB(casacore::ImageInterface<casacore::Float>& pbImage, casacore::Double& pa,//const VisBuffer& vb,
96  const casacore::Vector<casacore::Float>& paList, casacore::Int bandID, casacore::Bool doSquint=false);
97  void applyPB(casacore::ImageInterface<casacore::Float>& pbImage, casacore::Double& pa,//const VisBuffer& vb,
98  casacore::Int bandID=-1, casacore::Bool doSquint=false, casacore::Double freqVal=-1.0);
99  void applyPB(casacore::ImageInterface<casacore::Complex>& pbImage, casacore::Double& pa,//const VisBuffer& vb,
100  casacore::Bool doSquint=true,casacore::Int bandID=-1, casacore::Int muellerTerm=0, casacore::Double freqVal=-1.0);
101  void applyPBSq(casacore::ImageInterface<casacore::Float>& pbImage, casacore::Double& pa,//const VisBuffer& vb,
102  const casacore::Vector<casacore::Float>& paList, casacore::Int bandID, casacore::Bool doSquint=false);
103  void applyPBSq(casacore::ImageInterface<casacore::Float>& pbImage, casacore::Double& pa,//const VisBuffer& vb,
104  casacore::Int bandID=-1, casacore::Bool doSquint=false);
105  void applyPBSq(casacore::ImageInterface<casacore::Complex>& pbImage, casacore::Double& pa,//const VisBuffer& vb,
106  casacore::Int bandID=-1, casacore::Bool doSquint=true);
108  casacore::Int bandID, casacore::Double freqVal=-1.0);
112 
114  {throw(casacore::AipsError("VLACalcIlluminationConvFunc::findSupport() not implemented"));};
117  // casacore::TempImage<casacore::Float>& theavgPB,
119  casacore::Bool /*reset*/=true)
120  {throw(casacore::AipsError("VLACalc::makeAverageRes() called"));};
121 
122 
123  private:
124 
127 
129  // casacore::TempImage<casacore::Float> reAperture_p, imAperture_p;
134  };
135 
136 };
137 #endif
A Vector of integers, for indexing into Array&lt;T&gt; objects.
Definition: IPosition.h:119
void setApertureParams(ApertureCalcParams &ap, const casacore::Float &Freq, const casacore::Float &pa, const casacore::Int &bandID, const casacore::Int &inStokes, const casacore::IPosition &skyShape, const casacore::Vector< casacore::Double > &uvIncr)
int Int
Definition: aipstype.h:50
casacore::Bool findSupport(casacore::Array< casacore::Complex > &, casacore::Float &, casacore::Int &, casacore::Int &)
virtual void setFeedStokes(const casacore::Vector&lt;casacore::Int&gt;&amp; feedStokes) = 0; ...
void regridApertureEngine(ApertureCalcParams &ap, const casacore::Int &inStokes)
void getIdealConvFunc(casacore::Array< casacore::Complex > &buf)
void makeFullJones(casacore::ImageInterface< casacore::Complex > &pbImage, const VisBuffer &vb, casacore::Bool doSquint, casacore::Int bandID, casacore::Double freqVal=-1.0)
casacore::CoordinateSystem makeUVCoords(casacore::CoordinateSystem &imageCoordSys, casacore::IPosition &shape, casacore::Double refFreq=-1.0)
virtual casacore::Bool makeAverageResponse(const VisBuffer &, const casacore::ImageInterface< casacore::Complex > &, casacore::ImageInterface< casacore::Float > &, casacore::Bool=true)
This method computes the average response function.
void skyMuller(casacore::ImageInterface< casacore::Complex > &skyJones)
void regridAperture(casacore::CoordinateSystem &skyCS, casacore::IPosition &skyShape, casacore::TempImage< casacore::Complex > &uvGrid, casacore::Double &pa, casacore::Bool doSquint=true, casacore::Int bandID=-1, casacore::Int muellerTerm=0, casacore::Double freqVal=-1.0)
LatticeExprNode pa(const LatticeExprNode &left, const LatticeExprNode &right)
This function finds 180/pi*atan2(left,right)/2.
void fillPB(casacore::ImageInterface< casacore::Complex > &inImg, casacore::ImageInterface< casacore::Float > &outImg, casacore::Bool Square=false)
double Double
Definition: aipstype.h:55
casacore::TempImage< casacore::Complex > convFunc_p
void applyPB(casacore::ImageInterface< casacore::Float > &pbImage, casacore::Double &pa, const casacore::Vector< casacore::Float > &paList, casacore::Int bandID, casacore::Bool doSquint=false)
casacore::Int band
Definition: BeamCalc.h:81
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
casacore::Int getVLABandID(casacore::Double&amp; freq,casacore::String&amp;telescopeName); ...
casacore::TempImage< casacore::Complex > * aperture
Definition: BeamCalc.h:71
float Float
Definition: aipstype.h:54
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape...
Definition: ExprNode.h:1944
casacore::Vector< casacore::Double > resolution
casacore::TempImage&lt;casacore::Float&gt; reAperture_p, imAperture_p;
Base class for all Casacore library errors.
Definition: Error.h:134
void applyPBSq(casacore::ImageInterface< casacore::Float > &pbImage, casacore::Double &pa, const casacore::Vector< casacore::Float > &paList, casacore::Int bandID, casacore::Bool doSquint=false)
String: the storage and methods of handling collections of characters.
Definition: String.h:223
VisBuffers encapsulate one chunk of visibility data for processing.
Definition: VisBuffer.h:153
Interconvert pixel and world coordinates.
void storePB(casacore::String &fileName)
void loadFromImage(casacore::String &fileName)
void storeImg(casacore::String &amp;fileName,casacore::ImageInterface&lt;casacore::Complex&gt;&amp; img); void stor...