Line data Source code
1 : // -*- C++ -*- 2 : //# AzElAperture.h: Definition of the AzElAperture class 3 : //# Copyright (C) 1997,1998,1999,2000,2001,2002,2003 4 : //# Associated Universities, Inc. Washington DC, USA. 5 : //# 6 : //# This library is free software; you can redistribute it and/or modify it 7 : //# under the terms of the GNU Library General Public License as published by 8 : //# the Free Software Foundation; either version 2 of the License, or (at your 9 : //# option) any later version. 10 : //# 11 : //# This library is distributed in the hope that it will be useful, but WITHOUT 12 : //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 : //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 14 : //# License for more details. 15 : //# 16 : //# You should have received a copy of the GNU Library General Public License 17 : //# along with this library; if not, write to the Free Software Foundation, 18 : //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA. 19 : //# 20 : //# Correspondence concerning AIPS++ should be addressed as follows: 21 : //# Internet email: casa-feedback@nrao.edu. 22 : //# Postal address: AIPS++ Project Office 23 : //# National Radio Astronomy Observatory 24 : //# 520 Edgemont Road 25 : //# Charlottesville, VA 22903-2475 USA 26 : //# 27 : //# $Id$ 28 : // 29 : #ifndef SYNTHESIS_AZELAPERTURE_H 30 : #define SYNTHESIS_AZELAPERTURE_H 31 : 32 : #include <casacore/images/Images/ImageInterface.h> 33 : #include <synthesis/TransformMachines/ATerm.h> 34 : #include <synthesis/TransformMachines/Utils.h> 35 : #include <casacore/coordinates/Coordinates/CoordinateSystem.h> 36 : #include <casacore/casa/Arrays/ArrayFwd.h> 37 : // 38 : //--------------------------------------------------------------------- 39 : //--------------------------------------------------------------------- 40 : // TEMPS The following #defines should REALLLLAY GO! 41 : //--------------------------------------------------------------------- 42 : //--------------------------------------------------------------------- 43 : // 44 : // #define CONVSIZE (1024*2) 45 : // #define CONVWTSIZEFACTOR sqrt(2.0) 46 : // #define OVERSAMPLING 10 47 : // #define THRESHOLD 1E-3 48 : 49 : 50 : namespace casacore{ 51 : 52 : template<class T> class ImageInterface; 53 : 54 : } 55 : 56 : namespace casa { //# NAMESPACE CASA - BEGIN 57 : class VisBuffer; 58 : class AzElAperture : public ATerm 59 : { 60 : public: 61 0 : AzElAperture(): ATerm(), cachedCFC_p(), cachedCFCPA_p(400.0){}; 62 0 : ~AzElAperture() {}; 63 : virtual void rotate(const VisBuffer& vb, CFCell& cfc, const casacore::Double& rotAngleIncrement=5.0); 64 : virtual void rotate2(const VisBuffer& vb, CFCell& baseCFC, CFCell& cfc, const casacore::Double& rotAngleIncrement=5.0); 65 : private: 66 : casacore::Array<TT> cachedCFC_p; 67 : casacore::Float cachedCFCPA_p; 68 : }; 69 : }; 70 : #endif