Line data Source code
1 : //# AWProjectWBFTNew.h: Definition for AWProjectWBFTNew
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_TRANSFORM2_AWPROJECTWBFTNEW_H
30 : #define SYNTHESIS_TRANSFORM2_AWPROJECTWBFTNEW_H
31 : #define DELTAPA 1.0
32 : #define MAGICPAVALUE -999.0
33 :
34 :
35 : #include <synthesis/TransformMachines2/AWProjectWBFT.h>
36 :
37 : namespace casa { //# NAMESPACE CASA - BEGIN
38 :
39 : namespace refim {
40 : class AWProjectWBFTNew : public AWProjectWBFT {
41 :
42 : public:
43 : AWProjectWBFTNew(casacore::Int nFacets, casacore::Long cachesize,
44 : casacore::CountedPtr<CFCache>& cfcache,
45 : casacore::CountedPtr<ConvolutionFunction>& cf,
46 : casacore::CountedPtr<VisibilityResamplerBase>& visResampler,
47 : casacore::Bool applyPointingOffset=true,
48 : vector<float> pointingOffsetSigDev = {10,10},
49 : casacore::Bool doPBCorr=true,
50 : casacore::Int tilesize=16,
51 : casacore::Float paSteps=5.0,
52 : casacore::Float pbLimit=5e-4,
53 : casacore::Bool usezero=false,
54 : casacore::Bool conjBeams_p=true,
55 : casacore::Bool doublePrecGrid=false):
56 : AWProjectWBFT(nFacets, cachesize, cfcache, cf, visResampler, applyPointingOffset, pointingOffsetSigDev,
57 : doPBCorr, tilesize, paSteps, pbLimit, usezero, conjBeams_p, doublePrecGrid){}
58 :
59 : // Construct from a casacore::Record containing the AWProjectWBFT state
60 : AWProjectWBFTNew(const casacore::RecordInterface& stateRec):AWProjectWBFT(stateRec){};
61 :
62 : // Copy constructor
63 : //AWProjectWBFTNew(const AWProjectWBFTNew &other):AWProjectWBFT() {operator=(other);};
64 :
65 0 : virtual casacore::String name() const {return "AWProjectWBFTNew";};
66 :
67 0 : ~AWProjectWBFTNew(){};
68 :
69 : FTMachine* cloneFTM();
70 :
71 0 : virtual casacore::Bool useWeightImage() {return true;};
72 0 : virtual void setDryRun(casacore::Bool val) {isDryRun=val;};
73 :
74 : protected:
75 : void ftWeightImage(casacore::Lattice<casacore::Complex>& wtImage,
76 : const casacore::Matrix<casacore::Float>& sumWt,
77 : const casacore::Bool& doFFTNorm);
78 :
79 : private:
80 :
81 : };
82 : } //# NAMESPACE CASA - END
83 : };
84 : #endif
|