casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IlluminationConvFunc.h
Go to the documentation of this file.
1 //# IlluminationConvFunc.h: Definition for IlluminationConvFunc
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_ILLUMINATIONCONVFUNC_H
30 #define SYNTHESIS_ILLUMINATIONCONVFUNC_H
31 
32 #include <casa/Exceptions.h>
37 
38 namespace casa{
39 
41  {
42  public:
48 
50  {
51  return *this;
52  }
54  {
55  return *this;
56  }
60 
62 
65 
67  {
68  (void)coord;(void)offset;
69  throw(casacore::AipsError("This version of IlluminationConvFunc::getValue() is not useful."));
70  return 0;
71  };
72  virtual CF_TYPE getValue(casacore::Double *coord,
73  casacore::Double *raoff1, casacore::Double *raoff2,
74  casacore::Double *decoff1, casacore::Double *decoff2,
76  casacore::Int *doGrad,
77  casacore::Complex& weight,
78  casacore::Complex& dweight1,
79  casacore::Complex& dweight2,
80  casacore::Double& currentCFPA
81  // ,casacore::Double lsigma
82  );
84  {(void)vb;(void)skyCoord;return 0;};
85  void makeConvFunction(const casacore::ImageInterface<std::complex<float> >&,
89  const casacore::Vector<casacore::Double>& /*uvScale*/, const casacore::Vector<casacore::Double>& /*uvOffset*/,
90  const casacore::Matrix<casacore::Double>& /*freqSelection*/,
91  casa::CFStore2&, casa::CFStore2&, casacore::Bool /*fillCF=true*/ ) {};
92  void setPolMap(const casacore::Vector<int>&polMap) {(void)polMap;};
93  void setFeedStokes(const casacore::Vector<int>&feedStokes) {(void)feedStokes;};
94  void setParams(const casacore::Vector<int>& polMap, const casacore::Vector<int>& feedStokes)
95  {(void)polMap;(void)feedStokes;};
96 
98  {throw(casacore::AipsError("IlluminationConvFunc::findSupport() not implemented"));};
100  const VisBuffer& /*vb*/)
101  {throw(casacore::AipsError("IlluminationConvFunc::findPointingOffset() not implemented"));};
102  virtual void prepareConvFunction(const VisBuffer& /*vb*/, VBRow2CFBMapType& /*theMap*/)
103  {throw(casacore::AipsError("IlluminationConvFunc::prepareConvFunction() not implemented"));};
104 
109  {throw(casacore::AipsError("IlluminationConvFunc::makeAverageRes() called"));};
110 
115  {throw(casacore::AipsError("IlluminationConvFunc::makeAverageRes() called"));};
116 
117 
118  private:
123  };
124 
125 };
126 #endif
int Int
Definition: aipstype.h:50
virtual casacore::Bool makeAverageResponse(const VisBuffer &, const casacore::ImageInterface< casacore::Complex > &, casacore::ImageInterface< casacore::Complex > &, casacore::Bool)
void setSigma(casacore::Double s)
virtual void prepareConvFunction(const VisBuffer &, VBRow2CFBMapType &)
virtual void setParams(const casacore::Vector&lt;casacore::Int&gt;&amp; polMap, const casacore::Vector&lt;casacore...
void setFeedStokes(const casacore::Vector< int > &feedStokes)
void build(int n)
Definition: CExp.new3.h:50
IlluminationConvFunc(casacore::Int n)
int getVisParams(const casa::VisBuffer &vb, const casacore::CoordinateSystem &skyCoord=casacore::CoordinateSystem())
A support function which, for now, returns and integer ID corresponding to the on-sky frequency of th...
The base class to compute convolution functions for convolutional gridding.
void setPolMap(const casacore::Vector< int > &polMap)
void initExpTable(casacore::Int n, CF_TYPE step)
CF_TYPE getValue(casacore::Vector< CF_TYPE > &coord, casacore::Vector< CF_TYPE > &offset)
Given the pixel co-ordinates and an offset values, this returns the value of the convolution function...
void build(int n, T Step)
Definition: ExpCache.h:43
Referenced counted pointer for constant data.
Definition: VisModelData.h:42
A base class for astronomical images.
double Double
Definition: aipstype.h:55
casacore::Vector< casacore::Int > supportSize(casacore::Vector< casacore::Double > &uvScale)
virtual casacore::Bool makeAverageResponse(const VisBuffer &, const casacore::ImageInterface< casacore::Complex > &, casacore::ImageInterface< casacore::Float > &, casacore::Bool)
This method computes the average response function.
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
float Float
Definition: aipstype.h:54
void setParams(const casacore::Vector< int > &polMap, const casacore::Vector< int > &feedStokes)
Base class for all Casacore library errors.
Definition: Error.h:134
VisBuffers encapsulate one chunk of visibility data for processing.
Definition: VisBuffer.h:153
#define CF_TYPE
IlluminationConvFunc & operator=(const IlluminationConvFunc &)
void initCExpTable(casacore::Int n)
void makeConvFunction(const casacore::ImageInterface< std::complex< float > > &, const casa::VisBuffer &, casacore::Int, const casacore::CountedPtr< PolOuterProduct > &, casacore::Float, casacore::Float, const casacore::Vector< casacore::Double > &, const casacore::Vector< casacore::Double > &, const casacore::Matrix< casacore::Double > &, casa::CFStore2 &, casa::CFStore2 &, casacore::Bool)
Interconvert pixel and world coordinates.
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; ...
CF_TYPE area(casacore::Vector< casacore::Int > &convSupport, casacore::Vector< casacore::Double > &uvScale)
IlluminationConvFunc & operator=(const ConvolutionFunction &)
virtual casacore::Vector< casacore::Double > findPointingOffset(const casacore::ImageInterface< casacore::Complex > &, const VisBuffer &)