29 #ifndef MS_MEASUREMENTSET_H
30 #define MS_MEASUREMENTSET_H
83 typedef std::set<MSMainEnums::PredefinedKeywords>
Eligible;
102 template <
class T>
class Block;
442 return "MemoryResidentSubtables";
461 template <
typename Subtable>
466 template <
typename Subtable>
String weatherTableName() const
A Measure: astronomical direction.
A Table intended to hold a MeasurementSet OBSERVATIONLOG table.
A Table intended to hold a MeasurementSet PROCESSOR table.
A Measure: position on Earth.
A Table intended to hold a MeasurementSet DOPPLER table.
String feedTableName() const
void initRefs(Bool clear=False)
Initialize the references to the subtables.
Create a new table - define shapes, data managers, etc.
Bool makeComplexData()
Create DATA column from existing FLOAT_DATA column.
void checkVersion()
check that the MS is the latest version (2.0)
String polarizationTableName() const
String observationTableName() const
A Table intended to hold a MeasurementSet OBSERVATION table.
String flagCmdTableName() const
TableExprNode time(const TableExprNode &node)
void copySubtables(const MeasurementSet &other)
Copies (assigns) all of the non-null subtables from the other MS into this one.
Main interface class to a read/write table.
MSSpectralWindow & spectralWindow()
String dopplerTableName() const
const MSSysCal & sysCal() const
new table, which gets marked for delete
const MSFlagCmd & flagCmd() const
String fieldTableName() const
String dataDescriptionTableName() const
A Table intended to hold a MeasurementSet POINTING table.
A Table intended to hold a MeasurementSet DATADESCRIPTION table.
MSMainEnums::PredefinedKeywords SubtableId
A Table intended to hold a MeasurementSet WEATHER table.
String stateTableName() const
const MSFreqOffset & freqOffset() const
MeasurementSet MS
MeasurementSet is too cumbersome for a number of common uses, so we give a typedef here...
bool doNotLockSubtables_p
virtual ~MeasurementSet()
As with tables, the destructor writes the table if necessary.
void openMrSubtable(Subtable &subtable, const String &subtableName)
Opens a single subtable as memory resident (if permitted).
void flush(Bool sync=False)
Flush all the tables and subtables associated with this MeasurementSet.
A Table intended to hold a MeasurementSet FEED table.
A Table intended to hold a MeasurementSet SYSCAL table.
A Measure: instant in time.
static MrsEligibility eligibleSubtables(SubtableId subtableId,...)
A Table intended to hold a MeasurementSet ANTENNA table.
static MrsEligibility allEligible()
Factory methods to create MrsEligibility sets.
const String & tableName() const
Get the table name.
MSObservation observation_p
const MSPointing & pointing() const
MSObservation & observation()
friend MrsEligibility operator+(const MrsEligibility &a, SubtableId subtableId)
A Measure: wave characteristics.
friend MrsEligibility operator-(const MrsEligibility &a, SubtableId subtableId)
Creates a new MrsEligibilitySet by adding or removing the specified subtable or the specified set of ...
A Table intended to hold a MeasurementSet SOURCE table.
std::set< MSMainEnums::PredefinedKeywords > Eligible
const MSPolarization & polarization() const
MeasurementSet referenceCopy(const String &newTableName, const Block< String > &writableColumns) const
Make a special copy of this MS which references all columns from this MS except those mentioned; thos...
Bool isEligible(SubtableId subtableId) const
Returns true if the specified subtable is in the set of subtables eligible for memory residency...
String historyTableName() const
A Table intended to hold a MeasurementSet STATE table.
Bool memoryResidentSubtables_p
Record msseltoindex(const String &spw="", const String &field="", const String &baseline="", const String &time="", const String &scan="", const String &uvrange="", const String &observation="", const String &poln="", const String &taql="")
Return a record of the indices that the msselection selection selected.
static MrsEligibility noneEligible()
MSProcessor & processor()
const MSDoppler & doppler() const
MSSpectralWindow spectralWindow_p
MeasurementSet & operator=(const MeasurementSet &)
Assignment operator, reference semantics.
String freqOffsetTableName() const
void copySubtable(const Table &otherSubtable, Table &subTable)
Assigns one subtable to another if the original subtable (otherSubtable) is not null and is also memo...
void openMrSubtables()
Opens all of the eligible subtables in memory resident form.
static Bool isSubtable(SubtableId subtableId)
void openSubtable(Subtable &subtable, const String &subtableName, Bool useLock)
Opens a single subtable if not present in MS object but defined in on-disk MS.
static MSTableMaps initMaps()
Initialize the statics appropriately.
A Table intended to hold a MeasurementSet POLARIZATION table.
const MSHistory & history() const
MSPolarization polarization_p
const TableLock & lockOptions() const
Get the locking options.
void addCat()
temporary function to add the CATEGORY keyword to the FLAG_CATEGORY column if it isn't there yet...
const MSState & state() const
String processorTableName() const
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
const MSObservation & observation() const
MSAntenna & antenna()
Access functions for the subtables, using the MS-like interface for each.
const MSSpectralWindow & spectralWindow() const
MSDataDescription & dataDescription()
static const MrsEligibility allSubtables_p
Class to hold table lock options.
A Table intended to hold a MeasurementSet FIELD table.
A Table intended to hold astronomical data (a set of Measurements).
static MrsEligibility defaultEligible()
const MSWeather & weather() const
String pointingTableName() const
MSFreqOffset & freqOffset()
const MSDataDescription & dataDescription() const
const MSFeed & feed() const
void createDefaultSubtables(Table::TableOption option=Table::Scratch)
Create default subtables: fills the required subtable keywords with tables of the correct type...
uInt64 rownr_t
Define the type of a row number in a table.
A struct holding the maps used in MSTable.
MSFreqOffset freqOffset_p
LatticeExprNode operator+(const LatticeExprNode &expr)
Global functions operating on a LatticeExprNode.
String antennaTableName() const
Return the name of each of the subtables.
A Table intended to hold astronomical data.
MSPolarization & polarization()
LatticeExprNode operator-(const LatticeExprNode &expr)
String: the storage and methods of handling collections of characters.
const MSField & field() const
A Table intended to hold a MeasurementSet FLAG_CMD table.
void createDefaultSubtables_impl(Table::TableOption option, T comm)
Creates subtables using an explicit MPI communicator (if MPI support is enabled)
Bool isEligibleForMemoryResidency(const String &subtableName) const
Returns true if the named subtable is eligible for memory residency.
const MSProcessor & processor() const
void clearSubtables()
Clears all of the subtable components of this object (i.e., set to value of subtable's default constr...
MrsEligibility mrsEligibility_p
void setMemoryResidentSubtables(const MrsEligibility &mrsEligibility)
Converts the MS to make the specified set of subtables memory resident.
const MSSource & source() const
PredefinedKeywords
Keywords with a predefined meaning.
MSAntenna antenna_p
keep references to the subtables
static String getMrsAipsRcBase()
The top level name for MRS related CASARC settings.
Enums for the MeasurementSet main table.
String spectralWindowTableName() const
const MSAntenna & antenna() const
String sourceTableName() const
A Table intended to hold a MeasurementSet FREQ_OFFSET table.
Bool validateMeasureRefs()
Validate Measure references - check that all Measure columns have their reference value set...
MrsEligibility getMrsEligibility() const
static MrsEligibility allButTheseSubtables(SubtableId ineligibleSubtableId,...)
TableOption
Define the possible options how a table can be opened.
String sysCalTableName() const
MeasurementSet()
This constructs an empty MeasurementSet, only useful to assign to (it is not a valid MS yet)...
MSDataDescription dataDesc_p
A Table intended to hold a MeasurementSet SPECTRAL_WINDOW table.