LCOV - code coverage report
Current view: top level - synthesis/CalTables - SolvableCalSetMCol.h (source / functions) Hit Total Coverage
Test: ctest_coverage.info Lines: 0 18 0.0 %
Date: 2023-11-02 14:27:30 Functions: 0 40 0.0 %

          Line data    Source code
       1             : //# SolvableVJMCol.h: SolvableVisJones cal_main table column access
       2             : //# Copyright (C) 1996,1997,1998,2001,2003
       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 CALIBRATION_SOLVABLECALSETMCOL_H
      30             : #define CALIBRATION_SOLVABLECALSETMCOL_H
      31             : 
      32             : #include <synthesis/CalTables/CalMainColumns2.h>
      33             : #include <synthesis/CalTables/ROCalMainColumns2.h>
      34             : #include <synthesis/CalTables/CalTable2.h>
      35             : 
      36             : namespace casa { //# NAMESPACE CASA - BEGIN
      37             : 
      38             : // <summary> 
      39             : // ROSolvableVisJonesMCol: Read-only SolvableVisJones cal_main column access
      40             : // </summary>
      41             : 
      42             : // <use visibility=export>
      43             : 
      44             : // <reviewed reviewer="" date="" tests="" demos="">
      45             : 
      46             : // <prerequisite>
      47             : //   <li> <linkto class="ROCalMainColumns">ROCalMainColumns</linkto> module
      48             : // </prerequisite>
      49             : //
      50             : // <etymology>
      51             : // From "read-only","solvable visibility Jones","cal main" and "columns".
      52             : // </etymology>
      53             : //
      54             : // <synopsis>
      55             : // The ROSolvableVisJonesMCol class allows read-only access to columns in the
      56             : // SolvableVisJones main calibration table. Specializations for individual
      57             : // solvable Jones matrix types (e.g. GJones) are provided through inheritance.
      58             : // </etymology>
      59             : //
      60             : // <example>
      61             : // <srcblock>
      62             : // </srcblock>
      63             : // </example>
      64             : //
      65             : // <motivation>
      66             : // Encapsulate read-only access to SVJ calibration table columns.
      67             : // </motivation>
      68             : //
      69             : // <todo asof="01/07/01">
      70             : // (i) Deal with non-standard columns.
      71             : // </todo>
      72             : 
      73             : template <class T>
      74             : class ROSolvableCalSetMCol : public  ROCalMainColumns2<T>
      75             : {
      76             :  public:
      77             :   // Construct from a calibration table
      78             :   ROSolvableCalSetMCol (const CalTable2& svjTable);
      79             : 
      80             :   // Default destructor
      81           0 :   virtual ~ROSolvableCalSetMCol() {};
      82             : 
      83             :   // Read-only column accessors
      84           0 :   const casacore::ScalarColumn<casacore::Bool>& totalSolnOk() const {return totalSolnOk_p;};
      85           0 :   const casacore::ScalarColumn<casacore::Float>& totalFit() const {return totalFit_p;};
      86           0 :   const casacore::ScalarColumn<casacore::Float>& totalFitWgt() const {return totalFitWgt_p;};
      87           0 :   const casacore::ArrayColumn<casacore::Bool>& solnOk() const {return solnOk_p;};
      88           0 :   const casacore::ArrayColumn<casacore::Float>& fit() const {return fit_p;};
      89           0 :   const casacore::ArrayColumn<casacore::Float>& fitWgt() const {return fitWgt_p;};
      90           0 :   const casacore::ArrayColumn<casacore::Bool>& flag() const {return flag_p;};
      91           0 :   const casacore::ArrayColumn<casacore::Float>& snr() const {return snr_p;};
      92             : 
      93             :  protected:
      94             :   // Prohibit public use of the null constructor, which
      95             :   // does not produce a usable object.
      96             :   ROSolvableCalSetMCol() {};
      97             : 
      98             :  private:
      99             :   // Prohibit copy constructor and assignment operator 
     100             :   ROSolvableCalSetMCol (const ROSolvableCalSetMCol&);
     101             :   ROSolvableCalSetMCol& operator= (const ROSolvableCalSetMCol&);
     102             : 
     103             :   // Private column accessors
     104             :   casacore::ScalarColumn<casacore::Bool> totalSolnOk_p;
     105             :   casacore::ScalarColumn<casacore::Float> totalFit_p;
     106             :   casacore::ScalarColumn<casacore::Float> totalFitWgt_p;
     107             :   casacore::ArrayColumn<casacore::Bool> solnOk_p;
     108             :   casacore::ArrayColumn<casacore::Float> fit_p;
     109             :   casacore::ArrayColumn<casacore::Float> fitWgt_p;
     110             :   casacore::ArrayColumn<casacore::Bool> flag_p;
     111             :   casacore::ArrayColumn<casacore::Float> snr_p;
     112             : };
     113             : 
     114             : // <summary> 
     115             : // SolvableCalSetMCol: RW SolvableCalSet cal_main column access
     116             : // </summary>
     117             : 
     118             : // <use visibility=export>
     119             : 
     120             : // <reviewed reviewer="" date="" tests="" demos="">
     121             : 
     122             : // <prerequisite>
     123             : //   <li> <linkto class="CalMainColumns">CalMainColumns</linkto> module
     124             : // </prerequisite>
     125             : //
     126             : // <etymology>
     127             : // From "solvable visibility Jones","cal main table" and "columns".
     128             : // </etymology>
     129             : //
     130             : // <synopsis>
     131             : // The SolvableCalSetMCol class allows read-write access to columns in the
     132             : // SolvableCalSet main calibration table. Specializations for individual
     133             : // solvable Jones matrix types (e.g. GJones) are provided through inheritance.
     134             : // </etymology>
     135             : //
     136             : // <example>
     137             : // <srcblock>
     138             : // </srcblock>
     139             : // </example>
     140             : //
     141             : // <motivation>
     142             : // Encapsulate read-write access to SVJ calibration table columns.
     143             : // </motivation>
     144             : //
     145             : // <todo asof="01/07/01">
     146             : // (i) Deal with non-standard columns.
     147             : // </todo>
     148             : 
     149             : template <class T>
     150             : class SolvableCalSetMCol : public CalMainColumns2<T>
     151             : {
     152             :  public:
     153             :   // Construct from a calibration table
     154             :   SolvableCalSetMCol (CalTable2& svjTable);
     155             : 
     156             :   // Default destructor
     157           0 :   virtual ~SolvableCalSetMCol() {};
     158             : 
     159             :   // Read-write column accessors
     160           0 :   casacore::ScalarColumn<casacore::Bool>& totalSolnOk() {return totalSolnOk_p;};
     161           0 :   casacore::ScalarColumn<casacore::Float>& totalFit() {return totalFit_p;};
     162           0 :   casacore::ScalarColumn<casacore::Float>& totalFitWgt() {return totalFitWgt_p;};
     163           0 :   casacore::ArrayColumn<casacore::Bool>& solnOk() {return solnOk_p;};
     164           0 :   casacore::ArrayColumn<casacore::Float>& fit() {return fit_p;};
     165           0 :   casacore::ArrayColumn<casacore::Float>& fitWgt() {return fitWgt_p;};
     166           0 :   casacore::ArrayColumn<casacore::Bool>& flag() {return flag_p;};
     167           0 :   casacore::ArrayColumn<casacore::Float>& snr() {return snr_p;};
     168             : 
     169             :  protected:
     170             :   // Prohibit public use of the null constructor, which
     171             :   // does not produce a usable object.
     172             :   SolvableCalSetMCol() {};
     173             : 
     174             :  private:
     175             :   // Prohibit copy constructor and assignment operator 
     176             :   SolvableCalSetMCol (const SolvableCalSetMCol&);
     177             :   SolvableCalSetMCol& operator= (const SolvableCalSetMCol&);
     178             : 
     179             :   // Private column accessors
     180             :   casacore::ScalarColumn<casacore::Bool> totalSolnOk_p;
     181             :   casacore::ScalarColumn<casacore::Float> totalFit_p;
     182             :   casacore::ScalarColumn<casacore::Float> totalFitWgt_p;
     183             :   casacore::ArrayColumn<casacore::Bool> solnOk_p;
     184             :   casacore::ArrayColumn<casacore::Float> fit_p;
     185             :   casacore::ArrayColumn<casacore::Float> fitWgt_p;
     186             :   casacore::ArrayColumn<casacore::Bool> flag_p;
     187             :   casacore::ArrayColumn<casacore::Float> snr_p;
     188             : };
     189             : 
     190             : 
     191             : 
     192             : } //# NAMESPACE CASA - END
     193             : 
     194             : #ifndef AIPS_NO_TEMPLATE_SRC
     195             : #include <synthesis/CalTables/SolvableCalSetMCol.tcc>
     196             : #endif
     197             : 
     198             : #endif
     199             :    
     200             :   
     201             : 
     202             : 
     203             : 

Generated by: LCOV version 1.16