LCOV - code coverage report
Current view: top level - synthesis/TransformMachines - WTerm.h (source / functions) Hit Total Coverage
Test: ctest_coverage.info Lines: 0 21 0.0 %
Date: 2023-11-06 10:06:49 Functions: 0 16 0.0 %

          Line data    Source code
       1             : //# WTerm.h: Definition for WTerm
       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_WTERM_H
      30             : #define SYNTHESIS_WTERM_H
      31             : 
      32             : 
      33             : #include <casacore/casa/Arrays/Vector.h>
      34             : #include <msvis/MSVis/VisBuffer.h>
      35             : #include <casacore/images/Images/ImageInterface.h>
      36             : #include <casacore/images/Images/PagedImage.h>
      37             : #include <casacore/images/Images/TempImage.h>
      38             : #include <synthesis/TransformMachines/CFTerms.h>
      39             : 
      40             : 
      41             : namespace casa{
      42             :   // <summary>  A class to apply the W-Term to the given image </summary>
      43             :   
      44             :   // <use visibility=export>
      45             :   // <prerequisite>
      46             :   // </prerequisite>
      47             :   // <etymology>
      48             :   // W-Term to account for non co-planar baselines
      49             :   // </etymology>
      50             :   //
      51             :   // <synopsis> 
      52             :   // 
      53             :   //</synopsis>
      54             :   class WTerm: public CFTerms
      55             :   {
      56             :   public:
      57           0 :     WTerm () : CFTerms() {};
      58           0 :     ~WTerm () {};
      59             : 
      60             :     virtual void applySky(casacore::Matrix<casacore::Complex>& screen, 
      61             :                           const casacore::Int wPixel, 
      62             :                           const casacore::Vector<casacore::Double>& sampling,
      63             :                           const casacore::Double wScale,
      64             :                           const casacore::Int inner);
      65             :     virtual void applySky(casacore::Matrix<casacore::Complex>& screen, 
      66             :                           const casacore::Vector<casacore::Double>& sampling,
      67             :                           const casacore::Double wValue,
      68             :                           const casacore::Int inner);
      69           0 :     int getVisParams(const VisBuffer& vb,const casacore::CoordinateSystem& skyCoord=casacore::CoordinateSystem()) 
      70           0 :     {(void)vb;(void)skyCoord;return 0;};
      71           0 :     void setPolMap(const casacore::Vector<casacore::Int>& polMap) {(void)polMap;};
      72           0 :     virtual casacore::Float getSupportThreshold() {return 1e-3;};
      73             : 
      74             :     // WTerm normalizes the image be unity
      75           0 :     virtual void normalizeImage(casacore::Lattice<casacore::Complex>& skyImage,
      76             :                                 const casacore::Matrix<casacore::Float>& weights) 
      77           0 :     {(void)skyImage;(void)weights;};
      78           0 :     virtual casacore::String name() {return casacore::String("W Term");};
      79             :     //
      80             :     // The following functions are not required for W-Term but need to
      81             :     // be implemented here since they are pure virtuals in CFTerms
      82             :     // base class.
      83           0 :     void applySky(casacore::ImageInterface<casacore::Float>&,// outputImages,
      84             :                   const VisBuffer&,// vb, 
      85             :                   const casacore::Bool,/* doSquint=true,*/
      86             :                   const casacore::Int&,/* cfKey=0,*/
      87             :                   const casacore::Int&,/* muellerTerm=0,*/
      88             :                   const casacore::Double /*freqVal*=-1*/) 
      89           0 :     {};
      90           0 :     void applySky(casacore::ImageInterface<casacore::Complex>&,// outputImages,
      91             :                   const VisBuffer&,// vb, 
      92             :                   const casacore::Bool,/* doSquint=true,*/
      93             :                   const casacore::Int&,/* cfKey=0,*/
      94             :                   const casacore::Int&,/* muellerTerm=0,*/
      95             :                   const casacore::Double /*freqVal=-1*/) 
      96           0 :     {};
      97           0 :     casacore::Vector<casacore::Int> vbRow2CFKeyMap(const VisBuffer& vb, casacore::Int& nUnique) 
      98           0 :     {(void)vb;(void)nUnique;return casacore::Vector<casacore::Int>();};
      99           0 :     casacore::Int makePBPolnCoords(const VisBuffer& vb,
     100             :                          const casacore::Int& convSize,
     101             :                          const casacore::Int& convSampling,
     102             :                          const casacore::CoordinateSystem& skyCoord,
     103             :                          const casacore::Int& skyNx, const casacore::Int& skyNy,
     104             :                          casacore::CoordinateSystem& feedCoord) 
     105             :     {
     106             :       (void)vb;(void)convSize;(void)convSampling;(void)skyCoord;(void)skyNx;(void)skyNy;(void)feedCoord;
     107           0 :       return 0;
     108             :     };
     109             : 
     110           0 :     casacore::Bool rotationallySymmetric() {return true;};
     111             : 
     112             : 
     113           0 :     casacore::Int getConvSize() {return 0;};
     114           0 :     casacore::Int getOversampling() {return 20;};
     115           0 :     casacore::Float getConvWeightSizeFactor() {return 1.0;};
     116             :   };
     117             : 
     118             : };
     119             : 
     120             : #endif

Generated by: LCOV version 1.16