LCOV - code coverage report
Current view: top level - synthesis/TransformMachines2 - VBStore.h (source / functions) Hit Total Coverage
Test: ctest_coverage.info Lines: 2 2 100.0 %
Date: 2023-11-06 10:06:49 Functions: 2 2 100.0 %

          Line data    Source code
       1             : // -*- C++ -*-
       2             : //# VBStore.h: Definition of the VBStore 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: aips2-request@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             : #ifndef SYNTHESIS_TRANSFORM2_VBSTORE_H
      29             : #define SYNTHESIS_TRANSFORM2_VBSTORE_H
      30             : #include <synthesis/TransformMachines2/Utils.h>
      31             : #include <synthesis/TransformMachines2/CFBuffer.h>
      32             : 
      33             : namespace casa { //# NAMESPACE CASA - BEGIN
      34             :   namespace refim{
      35             :   class VBStore
      36             :   {
      37             :   public:
      38       26675 :     VBStore():dopsf_p(false) {};
      39       26675 :     ~VBStore() {};
      40             :     inline casacore::Int nRow()              {return nRow_p;};
      41             :     inline casacore::Int beginRow()          {return beginRow_p;}
      42             :     inline casacore::Int endRow()            {return endRow_p;}
      43             :     inline casacore::Int spwID()             {return spwID_p;}
      44             :     inline casacore::Bool dopsf()            {return dopsf_p;}
      45             :     inline casacore::Bool useCorrected()     {return useCorrected_p;};
      46             :     casacore::Matrix<casacore::Double>& uvw()          {return uvw_p;};
      47             :     casacore::Vector<casacore::Bool>& rowFlag()        {return rowFlag_p;};
      48             :     casacore::Cube<casacore::Bool>& flagCube()         {return flagCube_p;};
      49             :     casacore::Matrix<casacore::Float>& imagingWeight() {return imagingWeight_p;};
      50             :     casacore::Cube<casacore::Complex>& visCube()       {return visCube_p;};
      51             :     casacore::Vector<casacore::Double>& freq()         {return freq_p;};
      52             :     casacore::Cube<casacore::Complex>& modelCube()     {return modelCube_p;};
      53             :     casacore::Cube<casacore::Complex>& correctedCube() {return correctedCube_p;};
      54             :     casacore::Quantity pa()                  {return paQuant_p;}
      55             :     const VisBuffer2& vb()          {return *vb_p;}
      56             :     casacore::Double imRefFreq()             {return imRefFreq_p;}
      57             : 
      58             :     void reference(const VBStore& other)
      59             :     {
      60             :       nRow_p=other.nRow_p;  beginRow_p=other.beginRow_p; endRow_p=other.endRow_p;
      61             :       dopsf_p = other.dopsf_p;
      62             :       useCorrected_p = other.useCorrected_p;
      63             : 
      64             :       uvw_p.reference(other.uvw_p);
      65             :       rowFlag_p.reference(other.rowFlag_p);
      66             :       flagCube_p.reference(other.flagCube_p);
      67             :       imagingWeight_p.reference(other.imagingWeight_p);
      68             :       freq_p.reference(other.freq_p);
      69             :       // if (useCorrected_p) correctedCube_p.reference(other.correctedCube_p);
      70             :       // else visCube_p.reference(other.visCube_p);
      71             :       // if (useCorrected_p) 
      72             :       //        {
      73             :       //          correctedCube_p.reference(other.correctedCube_p);
      74             :       //          visCube_p.reference(other.correctedCube_p);
      75             :       //        }
      76             :       // else visCube_p.reference(other.visCube_p);
      77             :       correctedCube_p.reference(other.correctedCube_p);
      78             :       visCube_p.reference(other.visCube_p);
      79             :       modelCube_p.reference(other.modelCube_p);
      80             : 
      81             :       // uvw_p.assign(other.uvw_p);
      82             :       // rowFlag_p.assign(other.rowFlag_p);
      83             :       // flagCube_p.assign(other.flagCube_p);
      84             :       // imagingWeight_p.assign(other.imagingWeight_p);
      85             :       // freq_p.assign(other.freq_p);
      86             :       // visCube_p.assign(other.visCube_p);
      87             :       // modelCube_p.assign(other.modelCube_p);
      88             :       // correctedCube_p.assign(other.correctedCube_p);
      89             :     }
      90             : 
      91             :     casacore::Int nRow_p, beginRow_p, endRow_p, spwID_p, startChan_p, endChan_p,nDataChan_p, nDataPol_p;
      92             :     casacore::Int nWPlanes_p;
      93             :     casacore::Matrix<casacore::Double> uvw_p;
      94             :     casacore::Vector<casacore::Bool> rowFlag_p;
      95             :     casacore::Cube<casacore::Bool> flagCube_p;
      96             :     casacore::Matrix<casacore::Float> imagingWeight_p;
      97             :     casacore::Cube<casacore::Complex> visCube_p, modelCube_p, correctedCube_p;
      98             :     casacore::Vector<casacore::Double> freq_p;
      99             :     casacore::Bool dopsf_p,useCorrected_p, conjBeams_p;
     100             :     casacore::Vector<casacore::Int> corrType_p;
     101             :     casacore::Quantity paQuant_p;
     102             :     casacore::Vector<casacore::Int> antenna1_p, antenna2_p;
     103             :     const VisBuffer2 *vb_p;
     104             :     casacore::Double imRefFreq_p;
     105             :     CFBStruct cfBSt_p;
     106             :     casacore::Bool accumCFs_p, wbAWP_p;
     107             :     casacore::Matrix<casacore::uInt> BLCXi, BLCYi, TRCXi, TRCYi;
     108             :     int  ftmType_p;
     109             :   };
     110             :   }
     111             : } //# NAMESPACE CASA - END
     112             : #endif

Generated by: LCOV version 1.16