//# SolvableVJDesc.cc: Implementation of SolvableVJDesc.h //# Copyright (C) 1996,1997,1998,2000,2001,2003 //# Associated Universities, Inc. Washington DC, USA. //# //# This library is free software; you can redistribute it and/or modify it //# under the terms of the GNU Library General Public License as published by //# the Free Software Foundation; either version 2 of the License, or (at your //# option) any later version. //# //# This library is distributed in the hope that it will be useful, but WITHOUT //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public //# License for more details. //# //# You should have received a copy of the GNU Library General Public License //# along with this library; if not, write to the Free Software Foundation, //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA. //# //# Correspondence concerning AIPS++ should be addressed as follows: //# Internet email: aips2-request@nrao.edu. //# Postal address: AIPS++ Project Office //# National Radio Astronomy Observatory //# 520 Edgemont Road //# Charlottesville, VA 22903-2475 USA //# //# $Id$ //---------------------------------------------------------------------------- #include <synthesis/CalTables/SolvableVJDesc.h> #include <msvis/MSVis/MSCalEnums.h> #include <casacore/tables/Tables/ArrColDesc.h> using namespace casacore; namespace casa { //# NAMESPACE CASA - BEGIN //---------------------------------------------------------------------------- SolvableVisJonesDesc::SolvableVisJonesDesc() : TimeVarVisJonesDesc(), itsFitDesc() { // Default null constructor for solvable VisJones calibration // table description (v2.0) // Output to private data: // itsFitDesc TableDesc Table descriptor for fit parameters // // Default fit statistics and weights itsFitDesc.add (defaultFitDesc()); }; //---------------------------------------------------------------------------- SolvableVisJonesDesc::SolvableVisJonesDesc (const String& type) : TimeVarVisJonesDesc (type), itsFitDesc() { // Constructor for time-variable VisJones calibration table description (v2.0) // Inputs: // type const String& Cal table type (eg. "P Jones") // Output to private data: // itsFitDesc TableDesc Table descriptor for fit parameters // // Default fit statistics and weights itsFitDesc.add (defaultFitDesc()); }; //---------------------------------------------------------------------------- TableDesc SolvableVisJonesDesc::calMainDesc() { // Return the cal_main table descriptor // Output: // calMainDesc TableDesc cal_main table descriptor // // TimeVarVisJones descriptor TableDesc td (TimeVarVisJonesDesc::calMainDesc()); // Add fit statistics and weights td.add (itsFitDesc); return td; }; //---------------------------------------------------------------------------- GJonesDesc::GJonesDesc() : SolvableVisJonesDesc("G Jones") { // Default null constructor for GJones calibration table description (v2.0) }; //---------------------------------------------------------------------------- DJonesDesc::DJonesDesc() : SolvableVisJonesDesc("D Jones") { // Default null constructor for DJones calibration table description (v2.0) }; //---------------------------------------------------------------------------- TJonesDesc::TJonesDesc() : SolvableVisJonesDesc("T Jones") { // Default null constructor for TJones calibration table description (v2.0) }; //---------------------------------------------------------------------------- GJonesDelayRateSBDesc::GJonesDelayRateSBDesc() : GJonesDesc() { }; //---------------------------------------------------------------------------- TableDesc GJonesDelayRateSBDesc::calMainDesc() { // Return the cal_main table descriptor // Output: // calMainDesc TableDesc cal_main table descriptor TableDesc td; // GJones descriptor td.add (GJonesDesc::calMainDesc()); // Add PHASE_OFFSET, SB_DELAY, DELAY_RATE columns: td.addColumn (ArrayColumnDesc <Float> (MSC::fieldName (MSC::PHASE_OFFSET))); td.addColumn (ArrayColumnDesc <Float> (MSC::fieldName (MSC::SB_DELAY))); td.addColumn (ArrayColumnDesc <Float> (MSC::fieldName (MSC::DELAY_RATE))); return td; }; } //# NAMESPACE CASA - END