Loading...
Searching...
No Matches
MSFeed.h
Go to the documentation of this file.
//# MSFeed.h: The MeasurementSet FEED Table
//# Copyright (C) 1999,2000
//# 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: casa-feedback@nrao.edu.
//# Postal address: AIPS++ Project Office
//# National Radio Astronomy Observatory
//# 520 Edgemont Road
//# Charlottesville, VA 22903-2475 USA
#ifndef MS_MSFEED_H
#define MS_MSFEED_H
#include <casacore/casa/aips.h>
#include <casacore/ms/MeasurementSets/MSTable.h>
#include <casacore/ms/MeasurementSets/MSFeedEnums.h>
namespace casacore { //# NAMESPACE CASACORE - BEGIN
// <summary>
// A Table intended to hold a MeasurementSet FEED table.
// </summary>
// <use visibility=export>
// <reviewed reviewer="Bob Garwood" date="1997/02/01" tests="" demos="">
// <prerequisite>
// <li> <linkto class="MeasurementSet:description">MeasurementSet</linkto>
// <li> <linkto class="MSTable">MSTable</linkto>
// </prerequisite>
//
// <etymology>
// MSFeed stands for the MeasurementSet Feed table.
// </etymology>
//
// <synopsis>
// An MSFeed is a table intended to hold the FEED table for
// the MeasurementSet. It has an identical set of member functions as
// the main MeasurementSet class, except (currently) for the default
// calibration members. For further info and examples see the
// MeasurementSet class.
// </synopsis>
//
// <example>
// See the MeasurementSet for an example of how to access and use this class.
// </example>
//
// <motivation>
// It was found that subtables and the main table of the MeasurementSet have
// a lot in common, therefore they derive their interface from the same
// base class. Each subtable has its own class to keep the enum definitions
// and conversion functions in separate scopes.
// </motivation>
//
// <todo asof="1999/01/13">
// see MeasurementSet.
// </todo>
class MSFeed:public MSFeedEnums,
public MSTable<MSFeedEnums>
{
public:
// This constructs an empty MSFeed.
MSFeed ();
// These constructors mirror the Table ones with additional checking
// on validity (verifying that the MSFeed will have the required columns
// and keywords)
// An exception is thrown if the constructed Table is not a valid MSFeed
// <thrown>
// <li> AipsError
// </thrown>
// <group name=tableLikeConstructors>
MSFeed (const String &tableName, TableOption = Table::Old);
MSFeed (const String &tableName, const String &tableDescName,
TableOption = Table::Old);
MSFeed (SetupNewTable &newTab, rownr_t nrrow = 0,
Bool initialize = False);
MSFeed (const Table &table);
MSFeed (const MSFeed &other);
// </group>
// As with tables, the destructor writes the table if necessary.
// Additional checking is done here to verify that all required
// columns are still present.
// If it is NOT valid, it will write the table and then throw an exception.
// <thrown>
// <li> AipsError
// </thrown>
~MSFeed();
// Assignment operator, reference semantics
MSFeed& operator=(const MSFeed&);
// Make a special copy of this Table which references all columns from
// this Table except those mentioned; those are empty and writable.
// Each forwarded column has the same writable status as the underlying
// column. The mentioned columns all use the AipsIO storage manager.
// This function is inherited from MSTable and unlikely to be of use,
// except in the class MeasurementSet (see comment there)..
MSFeed referenceCopy(const String& newTableName,
const Block<String>& writableColumns) const;
// Initialize the statics appropriately. This does not need to be
// called by users, it is called by the implementation class
// MSTableImpl.
static MSTableMaps initMaps();
private:
// required by the need to throw an exception in the destructor
Bool hasBeenDestroyed_p;
};
} //# NAMESPACE CASACORE - END
#endif
casacore::Block
simple 1-D array
Definition Block.h:198
casacore::MSFeedEnums
Enums for the MeasurementSet FEED table.
Definition MSFeedEnums.h:57
casacore::MSFeed::hasBeenDestroyed_p
Bool hasBeenDestroyed_p
required by the need to throw an exception in the destructor
Definition MSFeed.h:129
casacore::MSFeed::MSFeed
MSFeed(const MSFeed &other)
casacore::MSFeed::MSFeed
MSFeed(const String &tableName, const String &tableDescName, TableOption=Table::Old)
casacore::MSFeed::MSFeed
MSFeed()
This constructs an empty MSFeed.
casacore::MSFeed::initMaps
static MSTableMaps initMaps()
Initialize the statics appropriately.
casacore::MSFeed::MSFeed
MSFeed(SetupNewTable &newTab, rownr_t nrrow=0, Bool initialize=False)
casacore::MSFeed::operator=
MSFeed & operator=(const MSFeed &)
Assignment operator, reference semantics.
casacore::MSFeed::referenceCopy
MSFeed referenceCopy(const String &newTableName, const Block< String > &writableColumns) const
Make a special copy of this Table which references all columns from this Table except those mentioned...
casacore::MSFeed::~MSFeed
~MSFeed()
As with tables, the destructor writes the table if necessary.
casacore::MSFeed::MSFeed
MSFeed(const Table &table)
casacore::MSFeed::MSFeed
MSFeed(const String &tableName, TableOption=Table::Old)
These constructors mirror the Table ones with additional checking on validity (verifying that the MSF...
casacore::MSTable< MSFeedEnums >::MSTable
MSTable()
casacore::SetupNewTable
Create a new table - define shapes, data managers, etc.
Definition SetupNewTab.h:337
casacore::String
String: the storage and methods of handling collections of characters.
Definition String.h:223
casacore::Table
Definition Table.h:157
casacore::Table::tableName
const String & tableName() const
Get the table name.
Definition Table.h:1203
casacore::Table::TableOption
TableOption
Define the possible options how a table can be opened.
Definition Table.h:171
casacore::Table::Old
@ Old
existing table
Definition Table.h:173
casacore
this file contains all the compiler specific defines
Definition mainpage.dox:28
casacore::False
const Bool False
Definition aipstype.h:42
casacore::Bool
bool Bool
Define the standard types used by Casacore.
Definition aipstype.h:40
casacore::rownr_t
uInt64 rownr_t
Define the type of a row number in a table.
Definition aipsxtype.h:44
casacore::MSTableMaps
Definition MSTable.h:48