casacore
Classes | Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
casacore::MSMetaData Class Reference

Class to interrogate an MS for metadata. Interrogation happens on demand and resulting metadata are stored for use by subsequent queries if the cache has not exceeded the specified limit. More...

#include <MSMetaData.h>

Classes

struct  SourceProperties
 represents non-primary key data for a SOURCE table row More...
 
struct  SpwProperties
 
struct  SubScanProperties
 
struct  TimeStampProperties
 

Public Types

enum  CorrelationType {
  AUTO,
  CROSS,
  BOTH
}
 for retrieving stats More...
 
enum  SQLDSwitch {
  SQLD_INCLUDE,
  SQLD_EXCLUDE,
  SQLD_ONLY
}
 

Public Member Functions

 MSMetaData (const MeasurementSet *const &ms, const Float maxCacheSizeMB)
 construct an object which stores a pointer to the MS and queries the MS only as necessary. More...
 
virtual ~MSMetaData ()
 
QVD getAntennaDiameters () const
 get the antenna diameters More...
 
uInt getAntennaID (const String &antennaName) const
 get the antenna ID for the antenna with the specified name. More...
 
vector< uIntgetAntennaIDs (const vector< String > &antennaNames) const
 
vector< StringgetAntennaNames (std::map< String, uInt > &namesToIDsMap, const vector< uInt > &antennaIDs=vector< uInt >(0)) const
 get the name of the antenna for the specified antenna ID More...
 
vector< StringgetAntennaStations (const vector< uInt > &antennaIDs)
 get the antenna stations for the specified antenna IDs More...
 
vector< StringgetAntennaStations (const vector< String > &antennaNames)
 get the antenna stations for the specified antenna names More...
 
std::set< IntgetAntennasForScan (const ScanKey &scan) const
 get the set of antenna IDs for the specified scan. More...
 
vector< Array< Int > > getCorrProducts () const
 POLARIZATION.CORR_PRODUCT. More...
 
vector< vector< Int > > getCorrTypes () const
 POLARIZATION.CORR_TYPE. More...
 
vector< uIntgetDataDescIDToSpwMap () const
 
vector< uIntgetDataDescIDToPolIDMap () const
 
vector< IntgetFieldTableSourceIDs () const
 Get the FIELD.SOURCE_ID column. More...
 
std::map< String, std::set< Int > > getIntentToFieldsMap ()
 
std::map< String, std::set< ScanKey > > getIntentToScansMap ()
 
std::map< String, std::set< uInt > > getIntentToSpwsMap ()
 
std::set< StringgetIntentsForScan (const ScanKey &scan) const
 
std::set< StringgetIntentsForSubScan (const SubScanKey &subScan) const
 
SHARED_PTR< const std::map< SubScanKey, std::set< String > > > getSubScanToIntentsMap () const
 
std::set< StringgetIntents () const
 get all intents, in no particular (nor guaranteed) order. More...
 
std::set< StringgetIntentsForField (Int fieldID)
 get a set of intents corresponding to a specified field More...
 
std::set< StringgetIntentsForSpw (const uInt spw)
 get a set of intents corresponding to the specified spectral window More...
 
vector< IntgetNumCorrs () const
 number of correlations from the polarization table. More...
 
vector< std::pair< Quantity, Quantity > > getProperMotions () const
 SOURCE.PROPER_MOTION, first value in pair is longitudinal proper motion, second is latiduninal. More...
 
std::set< IntgetScanNumbers (Int obsID, Int arrayID) const
 get unique scan numbers More...
 
std::set< IntgetScansForState (Int stateID, Int obsID, Int arrayID) const
 get a set of scan numbers for the specified stateID, obsID, and arrayID. More...
 
vector< MDirectiongetSourceDirections () const
 SOURCE.DIRECTION. More...
 
vector< StringgetSourceNames () const
 SOURCE.NAME. More...
 
vector< IntgetSourceTableSourceIDs () const
 Get the SOURCE.SOURCE_ID column. More...
 
virtual std::set< uIntgetSpwsForIntent (const String &intent)
 get a set of spectral windows for which the specified intent applies. More...
 
uInt nRows () const
 get the number of visibilities More...
 
uInt nRows (CorrelationType cType)
 
SHARED_PTR< const map< SubScanKey, uInt > > getNRowMap (CorrelationType type) const
 
uInt nRows (CorrelationType cType, Int arrayID, Int observationID, Int scanNumber, Int fieldID) const
 
uInt nRows (CorrelationType cType, uInt fieldID) const
 
uInt nSpw (Bool includewvr) const
 get number of spectral windows More...
 
uInt nStates () const
 number of unique states (number of rows from the STATE table) More...
 
uInt nFields () const
 get the number of fields. More...
 
std::vector< std::set< uInt > > getSpwToDataDescriptionIDMap () const
 get a mapping of spectral window ID to data descrption IDs More...
 
std::set< uIntgetSpwsForField (const Int fieldID)
 get a set of spectral windows corresponding to the specified fieldID More...
 
std::set< uIntgetSpwsForField (const String &fieldName)
 get a set of spectral windows corresponding to the specified field name More...
 
std::set< IntgetFieldIDsForSpw (const uInt spw)
 get the set of field IDs corresponding to the specified spectral window. More...
 
std::set< StringgetFieldNamesForSpw (const uInt spw)
 get the set of field names corresponding to the specified spectral window. More...
 
map< SourceKey, SHARED_PTR< vector< MFrequency > > > getRestFrequencies () const
 get rest frequencies from the SOURCE table More...
 
std::set< uIntgetSpwsForScan (const ScanKey &scan) const
 get the set of spectral windows for the specified scan. More...
 
std::set< uIntgetSpwsForSubScan (const SubScanKey &subScan) const
 get the set of spectral windows for the specified subscan. More...
 
std::set< IntgetScansForSpw (uInt spw, Int obsID, Int arrayID) const
 get the set of scan numbers for the specified spectral window. More...
 
map< SourceKey, SHARED_PTR< vector< String > > > getTransitions () const
 get the transitions from the SOURCE table. More...
 
uInt nAntennas () const
 get the number of antennas in the ANTENNA table More...
 
std::set< uIntgetTDMSpw ()
 ALMA-specific. More...
 
std::set< uIntgetFDMSpw ()
 ALMA-specific. More...
 
std::set< uIntgetChannelAvgSpw ()
 ALMA-specific. More...
 
std::set< uIntgetWVRSpw () const
 ALMA-specific. More...
 
std::set< uIntgetSQLDSpw ()
 ALMA-specific. More...
 
std::set< IntgetScansForTimes (Double center, Double tol, Int obsID, Int arrayID) const
 Get the scan numbers which fail into the specified time range (center-tol to center+tol), inclusive. More...
 
std::set< DoublegetTimesForScans (std::set< ScanKey > scans) const
 Get the times for the specified scans. More...
 
std::set< DoublegetTimesForScan (const ScanKey &scan) const
 get the times for the specified scan. More...
 
std::map< uInt, std::set< Double > > getSpwToTimesForScan (const ScanKey &scan) const
 
std::pair< Double, DoublegetTimeRangeForScan (const ScanKey &scanKey) const
 get the time range for the specified scan. More...
 
SHARED_PTR< const std::map< ScanKey, std::pair< Double, Double > > > getScanToTimeRangeMap () const
 get the map of scans to time ranges. More...
 
std::set< IntgetStatesForScan (Int obsID, Int arrayID, Int scan) const
 get the times for the specified scan std::set<Double> getTimesForScan(const uInt scan) const; More...
 
QVD getAntennaOffset (uInt which)
 get the position of the specified antenna relative to the observatory position. More...
 
QVD getAntennaOffset (const String &name)
 
vector< QVDgetAntennaOffsets () const
 
vector< MPositiongetAntennaPositions (const vector< uInt > &which=std::vector< uInt >(0)) const
 get the positions of the specified antennas. More...
 
vector< MPositiongetAntennaPositions (const vector< String > &names)
 names cannot be empty. More...
 
std::map< uInt, DoublegetAverageIntervalsForScan (const ScanKey &scan) const
 the first key in the returned map is the spectral window ID, the second is the average interval for the specified scan for that spw. More...
 
std::map< uInt, QuantitygetAverageIntervalsForSubScan (const SubScanKey &subScan) const
 the first key in the returned map is the spectral window ID, the second is the average interval for the specified sub scan for that spw. More...
 
vector< uIntgetBBCNos () const
 
std::map< uInt, std::set< uInt > > getBBCNosToSpwMap (SQLDSwitch sqldSwitch)
 
vector< vector< Double > > getEdgeChans ()
 
MDirection phaseDirFromFieldIDAndTime (const uInt fieldID, const MEpoch &ep=MEpoch(Quantity(0.0, Unit("s")))) const
 Get the phase direction for a given field id and epoch interpolate polynomial if it is the field id is such or use ephemerides table if that is attached to that field id. More...
 
MDirection getReferenceDirection (const uInt fieldID, const MEpoch &ep=MEpoch(Quantity(0.0, Unit("s")))) const
 Get the reference direction for a given field ID and epoch interpolate polynomial if it is the field ID is such or use ephemerides table if that is attached to that field ID. More...
 
std::set< IntgetFieldIDsForField (const String &field) const
 get the field IDs for the specified field name. More...
 
vector< StringgetFieldNames () const
 get a list of the field names in the order in which they appear in the FIELD table. More...
 
std::set< IntgetFieldsForScan (const ScanKey &scan) const
 get field IDs associated with the specified scan number. More...
 
std::set< IntgetFieldsForScans (const std::set< Int > &scans, Int obsID, Int arrayID) const
 get the field IDs associated with the specified scans More...
 
std::set< IntgetFieldsForScans (const std::set< ScanKey > &scans) const
 get the field IDs associated with the specified scans More...
 
std::set< IntgetFieldsForIntent (const String &intent)
 get the field IDs associated with the specified intent. More...
 
std::set< IntgetFieldsForIntent (uInt sourceID) const
 get the field IDs associated with the specified source. More...
 
std::map< Int, std::set< Int > > getFieldsForSourceMap () const
 
std::map< Int, std::set< String > > getFieldNamesForSourceMap () const
 
vector< StringgetFieldNamesForFieldIDs (const vector< uInt > &fieldIDs)
 get the field names associated with the specified field IDs. More...
 
std::set< IntgetFieldsForTimes (Double center, Double tol)
 Get the fields which fail into the specified time range (center-tol to center+tol) More...
 
vector< StringgetObservatoryNames ()
 get telescope names in the order they are listed in the OBSERVATION table. More...
 
MPosition getObservatoryPosition (uInt which) const
 get the position of the specified telescope (observatory). More...
 
vector< MDirectiongetPhaseDirs () const
 get the phase directions from the FIELD subtable More...
 
std::set< ScanKeygetScanKeys () const
 get all ScanKeys in the dataset More...
 
std::set< ScanKeygetScanKeys (const ArrayKey &arrayKey) const
 get all ScanKeys in the dataset that have the specified arrayKey. More...
 
std::set< IntgetScansForIntent (const String &intent, Int obsID, Int arrayID) const
 get the scans associated with the specified intent More...
 
std::set< IntgetScansForFieldID (Int fieldID, Int obsID, Int arrayID) const
 get the scan numbers associated with the specified field ID. More...
 
std::set< IntgetScansForField (const String &field, Int obsID, Int arrayID) const
 get the scan numbers associated with the specified field. More...
 
std::map< std::pair< uInt, uInt >, uIntgetSpwIDPolIDToDataDescIDMap () const
 The first value of the pair is spw, the second is polarization ID. More...
 
vector< StringgetSpwNames () const
 get a map of the spwIDs to spw names from the spw table More...
 
std::set< uIntgetSpwIDs () const
 get all the spws associated with the data description IDs listed in the main table. More...
 
std::set< SubScanKeygetSubScanKeys (const ArrayKey &arrayKey) const
 get all sub scan keys for the specified array key. More...
 
SubScanProperties getSubScanProperties (const SubScanKey &subScan, Bool showProgress=False) const
 get the sub scan properties for the specified sub scan. More...
 
SHARED_PTR< const std::map< SubScanKey, SubScanProperties > > getSubScanProperties (Bool showProgress=False) const
 
void setForceSubScanPropsToCache (Bool b)
 If True, force the subscan properties structure to be cached regardless of the stipulations on the maximum cache. More...
 
Record getSummary () const
 get a data structure, consumable by users, representing a summary of the dataset More...
 
std::set< DoublegetTimesForField (Int fieldID)
 get the times for which the specified field was observed More...
 
std::set< DoublegetTimesForIntent (const String &intent) const
 get the time stamps associated with the specified intent More...
 
Bool hasBBCNo () const
 
Matrix< BoolgetUniqueBaselines ()
 std::map<Double, Double> getExposuresForTimes() const; More...
 
virtual uInt nBaselines (Bool includeAutoCorrelation=False)
 get the number of unique baselines represented in the main MS table which in theory can be less than n*(n-1)/2. More...
 
Quantity getEffectiveTotalExposureTime ()
 get the effective total exposure time. More...
 
uInt nScans ()
 get the number of scans in the dataset More...
 
uInt nObservations () const
 get the number of observations (from the OBSERVATIONS table) in the dataset More...
 
vector< StringgetObservers () const
 get the contents of the OBSERVER column from the OBSERVATIONS table More...
 
vector< StringgetProjects () const
 get the contents of the PROJECT column from the OBSERVATIONS table More...
 
vector< vector< String > > getSchedules () const
 get the contents of the SCHEDULE column from the OBSERVATIONS table Note that the embedded vectors may have different lengths More...
 
vector< std::pair< MEpoch, MEpoch > > getTimeRangesOfObservations () const
 get the time ranges from the OBSERVATION table More...
 
uInt nArrays ()
 get the number of arrays (from the ARRAY table) in the dataset More...
 
uInt nDataDescriptions () const
 get the number of data description IDs (from the DATA_DESCRIPTION table) More...
 
Double nUnflaggedRows () const
 get the number of unflagged rows More...
 
Double nUnflaggedRows (CorrelationType cType) const
 
Double nUnflaggedRows (CorrelationType cType, Int arrayID, uInt observationID, Int scanNumber, uInt fieldID) const
 
Double nUnflaggedRows (CorrelationType cType, Int fieldID) const
 
Float getCache () const
 
vector< DoublegetBandWidths () const
 
vector< QuantitygetCenterFreqs () const
 
vector< QVDgetChanEffectiveBWs (Bool asVelWidths) const
 get the effective bandwidth for each channel. More...
 
vector< QVDgetChanFreqs () const
 
vector< QVDgetChanResolutions (Bool asVelWidths) const
 get the resolution for each channel. More...
 
vector< QVDgetChanWidths () const
 
vector< QuantitygetMeanFreqs () const
 
vector< IntgetNetSidebands () const
 
vector< MFrequencygetRefFreqs () const
 
vector< uIntnChans () const
 
uInt nPol ()
 
vector< std::map< Int, Quantity > > getFirstExposureTimeMap ()
 get a map of data desc ID, scan number pair to exposure time for the first time for that data desc ID, scan number pair More...
 
std::set< uIntgetPolarizationIDs (uInt obsID, Int arrayID, Int scan, uInt spwid) const
 get polarization IDs for the specified scan and spwid More...
 
std::set< IntgetUniqueFiedIDs () const
 get unique field IDs that exist in the main table. More...
 
std::pair< MDirection, MDirectiongetPointingDirection (Int &ant1, Int &ant2, Double &time, uInt row, Bool interpolate=false, Int initialguess=0) const
 get the pointing directions associated with antenna1 and antenna2 for the specified row of the main MS table More...
 
std::pair< Double, DoublegetTimeRange () const
 get the time range for the entire dataset. More...
 
uInt nUniqueSourceIDsFromSourceTable () const
 Number of unique values from SOURCE.SOURCE_ID. More...
 

Private Member Functions

 MSMetaData (const MSMetaData &)
 disallow copy constructor and = operator More...
 
MSMetaData operator= (const MSMetaData &)
 
void _setSpwInfo (const MeasurementSet &ms)
 This comment from thunter in the original ValueMapping python class

Determine the number of polarizations for the first OBSERVE_TARGET intent.

More...
 
void _setObservation (const MeasurementSet &ms)
 set metadata from OBSERVATION table More...
 
Bool _cacheUpdated (const Float incrementInBytes) const
 
void _checkField (uInt fieldID) const
 
void _checkScan (const ScanKey &key) const
 
void _checkScans (const std::set< ScanKey > &scanKeys) const
 
void _checkSubScan (const SubScanKey &key) const
 
void _createScanRecords (Record &parent, const ArrayKey &arrayKey, const std::map< SubScanKey, SubScanProperties > &subScanProps) const
 
void _createSubScanRecords (Record &parent, uInt &scanNRows, std::set< Int > &antennasForScan, const ScanKey &scanKey, const std::map< SubScanKey, SubScanProperties > &subScanProps) const
 
vector< String_getAntennaNames (std::map< String, uInt > &namesToIDsMap) const
 
vector< MPosition_getAntennaPositions () const
 
void _getAntennas (SHARED_PTR< Vector< Int > > &ant1, SHARED_PTR< Vector< Int > > &ant2) const
 
SHARED_PTR< Vector< Int > > _getArrayIDs () const
 
std::map< ArrayKey, std::set< SubScanKey > > _getArrayKeysToSubScanKeys () const
 
SHARED_PTR< Vector< Int > > _getDataDescIDs () const
 
SHARED_PTR< QVD_getExposureTimes () const
 
void _getFieldsAndIntentsMaps (vector< std::set< String > > &fieldToIntentsMap, std::map< String, std::set< Int > > &intentToFieldsMap)
 If there are no intents, then fieldToIntentsMap will be of length nFields() and all of its entries will be the empty set, and intentToFieldsMap will be empty. More...
 
void _getFieldsAndScansMaps (vector< std::set< ScanKey > > &fieldToScansMap, std::map< ScanKey, std::set< Int > > &scanToFieldsMap) const
 
void _getFieldsAndSpwMaps (std::map< Int, std::set< uInt > > &fieldToSpwMap, vector< std::set< Int > > &spwToFieldMap)
 
void _getFieldsAndStatesMaps (std::map< Int, std::set< Int > > &fieldToStatesMap, std::map< Int, std::set< Int > > &stateToFieldsMap)
 
void _getFieldsAndTimesMaps (SHARED_PTR< std::map< Int, std::set< Double > > > &fieldToTimesMap, SHARED_PTR< std::map< Double, std::set< Int > > > &timesToFieldMap)
 
SHARED_PTR< Vector< Int > > _getFieldIDs () const
 
SHARED_PTR< ArrayColumn< Bool > > _getFlags () const
 
std::map< String, std::set< Double > > _getIntentsToTimesMap () const
 
SHARED_PTR< QVD_getIntervals () const
 
SHARED_PTR< Vector< Int > > _getObservationIDs () const
 
SHARED_PTR< Vector< Int > > _getScans () const
 
vector< std::set< String > > _getSpwToIntentsMap ()
 
SHARED_PTR< Vector< Int > > _getStateIDs () const
 
SHARED_PTR< Vector< Double > > _getTimes () const
 
Bool _hasIntent (const String &intent) const
 SHARED_PTR<std::map<Double, TimeStampProperties> > _getTimeStampProperties() const;. More...
 
Bool _hasFieldID (Int fieldID) const
 
Bool _hasStateID (Int stateID) const
 
void _hasAntennaID (Int antennaID)
 
std::map< Double, Double_getTimeToTotalBWMap (const Vector< Double > &times, const Vector< Int > &ddIDs)
 
MDirection _getInterpolatedDirection (const ROMSPointingColumns &pCols, const Int &index, const Double &time) const
 
vector< std::set< Int > > _getObservationIDToArrayIDsMap () const
 map<SubScanKey, Quantity> _getMeanExposureTimes() const; More...
 
vector< MPosition_getObservatoryPositions ()
 
void _getRowStats (uInt &nACRows, uInt &nXCRows, std::map< SubScanKey, uInt > *&subScanToNACRowsMap, std::map< SubScanKey, uInt > *&subScanToNXCRowsMap, vector< uInt > *&fieldToNACRowsMap, vector< uInt > *&fieldToNXCRowsMap) const
 
void _getRowStats (uInt &nACRows, uInt &nXCRows, SHARED_PTR< std::map< SubScanKey, uInt > > &scanToNACRowsMap, SHARED_PTR< std::map< SubScanKey, uInt > > &scanToNXCRowsMap, SHARED_PTR< vector< uInt > > &fieldToNACRowsMap, SHARED_PTR< vector< uInt > > &fieldToNXCRowsMap) const
 
std::set< ScanKey_getScanKeys (const std::set< ScanKey > &scanKeys, const ArrayKey &arrayKey) const
 get the scan keys in the specified set that have the associated arrayKey More...
 
std::set< Int_getScanNumbers (const ArrayKey &arrayKey) const
 get all valid scan numbers associated with the specified arrayKey More...
 
void _getScansAndDDIDMaps (std::map< ScanKey, std::set< uInt > > &scanToDDIDMap, vector< std::set< ScanKey > > &ddIDToScanMap) const
 
void _getScansAndIntentsMaps (std::map< ScanKey, std::set< String > > &scanToIntentsMap, std::map< String, std::set< ScanKey > > &intentToScansMap) const
 
void _getScansAndSpwMaps (std::map< ScanKey, std::set< uInt > > &scanToSpwMap, vector< std::set< ScanKey > > &spwToScanMap) const
 
std::map< ScanKey, std::set< Int > > _getScanToAntennasMap () const
 
std::map< ScanKey, std::set< Int > > _getScanToStatesMap () const
 
std::map< ScanKey, std::set< SubScanKey > > _getScanToSubScansMap () const
 
SHARED_PTR< std::map< ScanKey, std::set< Double > > > _getScanToTimesMap () const
 
map< SourceKey, SourceProperties_getSourceInfo () const
 
vector< SpwProperties_getSpwInfo (std::set< uInt > &avgSpw, std::set< uInt > &tdmSpw, std::set< uInt > &fdmSpw, std::set< uInt > &wvrSpw, std::set< uInt > &sqldSpw) const
 
void _getSpwsAndIntentsMaps (vector< std::set< String > > &spwToIntentsMap, std::map< String, std::set< uInt > > &intentToSpwsMap)
 
vector< SpwProperties_getSpwInfo2 (std::set< uInt > &avgSpw, std::set< uInt > &tdmSpw, std::set< uInt > &fdmSpw, std::set< uInt > &wvrSpw, std::set< uInt > &sqldSpw) const
 
void _getStateToIntentsMap (vector< std::set< String > > &statesToIntentsMap, std::set< String > &uniqueIntents) const
 
vector< String_getStationNames ()
 
void _getSubScansAndIntentsMaps (SHARED_PTR< const std::map< SubScanKey, std::set< String > > > &subScanToIntentsMap, std::map< String, std::set< SubScanKey > > &intentToSubScansMap) const
 
std::set< SubScanKey_getSubScanKeys () const
 
std::set< SubScanKey_getSubScanKeys (const ScanKey &scanKey) const
 get subscans related to the given scan More...
 
void _getTimesAndInvervals (SHARED_PTR< const std::map< ScanKey, std::pair< Double, Double > > > &scanToTimeRangeMap, std::map< std::pair< ScanKey, uInt >, Double > &scanSpwToIntervalMap, std::map< std::pair< ScanKey, uInt >, std::set< Double > > &scanSpwToTimesMap) const
 In scanSpwToIntervalMap, the key is a scan, spw pair. More...
 
void _getUnflaggedRowStats (Double &nACRows, Double &nXCRows, SHARED_PTR< std::map< SubScanKey, Double > > &subScanToNACRowsMap, SHARED_PTR< std::map< SubScanKey, Double > > &subScanToNXCRowsMap, SHARED_PTR< vector< Double > > &fieldToNACRowsMap, SHARED_PTR< vector< Double > > &fieldToNXCRowsMap) const
 
void _getUnflaggedRowStats (Double &nACRows, Double &nXCRows, vector< Double > *&fieldNACRows, vector< Double > *&fieldNXCRows, std::map< SubScanKey, Double > *&scanNACRows, std::map< SubScanKey, Double > *&scanNXCRows) const
 

Static Private Member Functions

static void _checkTolerance (const Double tol)
 
static void _createTimeStampRecords (Record &parent, const SubScanProperties &subScanProps)
 
static QVD _freqWidthToVelWidth (const QVD &v, const Quantity &refFreq)
 convert a QVD in frequency units to velocity units using the give reference frequency. More...
 
static uInt _sizeof (const std::map< Double, MSMetaData::TimeStampProperties > &m)
 
template<class T >
static uInt _sizeof (const std::map< T, std::set< String > > &m)
 
template<class T , class U >
static uInt _sizeof (const std::map< T, std::set< U > > &m)
 
template<class T , class U >
static uInt _sizeof (const std::map< T, U > &m)
 
static uInt _sizeof (const vector< std::set< String > > &m)
 
static uInt _sizeof (const vector< String > &m)
 
static uInt _sizeof (const vector< vector< String > > &m)
 
template<class T >
static uInt _sizeof (const vector< T > &v)
 
static uInt _sizeof (const QVD &m)
 
template<class T >
static uInt _sizeof (const vector< std::set< T > > &v)
 
template<class T >
static uInt _sizeof (const std::map< String, std::set< T > > &map)
 
static uInt _sizeof (const vector< std::map< Int, Quantity > > &map)
 
static uInt _sizeof (const std::map< std::pair< Int, uInt >, std::set< uInt > > &map)
 
static std::map< Int, uInt_toUIntMap (const Vector< Int > &v)
 

Private Attributes

const MeasurementSet_ms
 The general pattern is that a mutable gets set only once, on demand, when its setter is called for the first time. More...
 
Float _cacheMB
 
const Float _maxCacheMB
 
uInt _nStates
 
uInt _nACRows
 
uInt _nXCRows
 
uInt _nSpw
 
uInt _nFields
 
uInt _nAntennas
 
uInt _nObservations
 
uInt _nScans
 
uInt _nArrays
 
uInt _nrows
 
uInt _nPol
 
uInt _nDataDescIDs
 
std::map< ScanKey, std::set< uInt > > _scanToSpwsMap
 
std::map< ScanKey, std::set< uInt > > _scanToDDIDsMap
 
vector< uInt_dataDescIDToSpwMap
 
vector< uInt_dataDescIDToPolIDMap
 
std::map< Int, std::set< uInt > > _fieldToSpwMap
 
std::map< ScanKey, std::set< Int > > _scanToStatesMap
 
std::map< ScanKey, std::set< Int > > _scanToFieldsMap
 
std::map< ScanKey, std::set< Int > > _scanToAntennasMap
 
std::map< Int, std::set< Int > > _fieldToStatesMap
 
std::map< Int, std::set< Int > > _stateToFieldsMap
 
std::map< Int, std::set< Int > > _sourceToFieldsMap
 
std::map< std::pair< uInt, uInt >, uInt_spwPolIDToDataDescIDMap
 
std::map< String, uInt_antennaNameToIDMap
 
SHARED_PTR< std::map< SubScanKey, SubScanProperties > > _subScanProperties
 
std::map< String, std::set< Int > > _intentToFieldIDMap
 
std::map< String, std::set< ScanKey > > _intentToScansMap
 
std::map< String, std::set< SubScanKey > > _intentToSubScansMap
 
SHARED_PTR< const std::map< ScanKey, std::pair< Double, Double > > > _scanToTimeRangeMap
 
std::map< std::pair< ScanKey, uInt >, Double_scanSpwToIntervalMap
 
std::map< std::pair< ScanKey, uInt >, std::set< Double > > _scanSpwToTimesMap
 
std::map< std::pair< ScanKey, uInt >, std::set< uInt > > _scanSpwToPolIDMap
 
std::set< String_uniqueIntents
 
std::set< Int_uniqueFieldIDs
 
std::set< Int_uniqueStateIDs
 
std::set< uInt_avgSpw
 
std::set< uInt_tdmSpw
 
std::set< uInt_fdmSpw
 
std::set< uInt_wvrSpw
 
std::set< uInt_sqldSpw
 
SHARED_PTR< Vector< Int > > _antenna1
 
SHARED_PTR< Vector< Int > > _antenna2
 
SHARED_PTR< Vector< Int > > _scans
 
SHARED_PTR< Vector< Int > > _fieldIDs
 
SHARED_PTR< Vector< Int > > _stateIDs
 
SHARED_PTR< Vector< Int > > _dataDescIDs
 
SHARED_PTR< Vector< Int > > _observationIDs
 
SHARED_PTR< Vector< Int > > _arrayIDs
 
SHARED_PTR< std::map< SubScanKey, uInt > > _subScanToNACRowsMap
 
SHARED_PTR< std::map< SubScanKey, uInt > > _subScanToNXCRowsMap
 
SHARED_PTR< QVD_intervals
 
SHARED_PTR< vector< uInt > > _fieldToNACRowsMap
 
SHARED_PTR< vector< uInt > > _fieldToNXCRowsMap
 
std::map< ScanKey, std::set< String > > _scanToIntentsMap
 
SHARED_PTR< const std::map< SubScanKey, std::set< String > > > _subScanToIntentsMap
 
vector< std::set< String > > _stateToIntentsMap
 
vector< std::set< String > > _spwToIntentsMap
 
vector< std::set< String > > _fieldToIntentsMap
 
vector< SpwProperties_spwInfo
 
vector< std::set< Int > > _spwToFieldIDsMap
 
vector< std::set< Int > > _obsToArraysMap
 
vector< std::set< ScanKey > > _spwToScansMap
 
vector< std::set< ScanKey > > _ddidToScansMap
 
vector< std::set< ScanKey > > _fieldToScansMap
 
vector< String_fieldNames
 
vector< String_antennaNames
 
vector< String_observatoryNames
 
vector< String_stationNames
 
vector< String_observers
 
vector< String_projects
 
vector< String_sourceNames
 
vector< vector< String > > _schedules
 
vector< vector< Int > > _corrTypes
 
vector< Array< Int > > _corrProds
 
SHARED_PTR< Vector< Double > > _times
 
SHARED_PTR< QVD_exposures
 
SHARED_PTR< std::map< ScanKey, std::set< Double > > > _scanToTimesMap
 
std::map< String, std::set< uInt > > _intentToSpwsMap
 
std::map< String, std::set< Double > > _intentToTimesMap
 
SHARED_PTR< std::map< Int, std::set< Double > > > _fieldToTimesMap
 
SHARED_PTR< std::map< Double, std::set< Int > > > _timeToFieldsMap
 
vector< MPosition_observatoryPositions
 
vector< MPosition_antennaPositions
 
vector< QVD_antennaOffsets
 
QVD _antennaDiameters
 
Matrix< Bool_uniqueBaselines
 
Quantity _exposureTime
 
Double _nUnflaggedACRows
 
Double _nUnflaggedXCRows
 
SHARED_PTR< vector< Double > > _unflaggedFieldNACRows
 
SHARED_PTR< vector< Double > > _unflaggedFieldNXCRows
 
SHARED_PTR< std::map< SubScanKey, Double > > _unflaggedSubScanNACRows
 
SHARED_PTR< std::map< SubScanKey, Double > > _unflaggedSubScanNXCRows
 
const String _taqlTableName
 
const vector< const Table * > _taqlTempTable
 
SHARED_PTR< ArrayColumn< Bool > > _flagsColumn
 
Bool _spwInfoStored
 
Bool _forceSubScanPropsToCache
 
vector< std::map< Int, Quantity > > _firstExposureTimeMap
 
vector< Int_numCorrs
 
vector< Int_source_sourceIDs
 
vector< Int_field_sourceIDs
 
std::set< ArrayKey_arrayKeys
 
std::set< ScanKey_scanKeys
 
std::set< SubScanKey_subscans
 
std::map< ScanKey, std::set< SubScanKey > > _scanToSubScans
 
std::map< ArrayKey, std::set< SubScanKey > > _arrayToSubScans
 
vector< std::pair< MEpoch, MEpoch > > _timeRangesForObs
 
vector< MDirection_phaseDirs
 
vector< MDirection_sourceDirs
 
vector< std::pair< Quantity, Quantity > > _properMotions
 
map< SourceKey, SourceProperties_sourceInfo
 

Detailed Description

Class to interrogate an MS for metadata. Interrogation happens on demand and resulting metadata are stored for use by subsequent queries if the cache has not exceeded the specified limit.

Definition at line 54 of file MSMetaData.h.

Member Enumeration Documentation

for retrieving stats

Enumerator
AUTO 
CROSS 
BOTH 

Definition at line 59 of file MSMetaData.h.

Enumerator
SQLD_INCLUDE 
SQLD_EXCLUDE 
SQLD_ONLY 

Definition at line 65 of file MSMetaData.h.

Constructor & Destructor Documentation

casacore::MSMetaData::MSMetaData ( const MeasurementSet *const &  ms,
const Float  maxCacheSizeMB 
)

construct an object which stores a pointer to the MS and queries the MS only as necessary.

The MeasurementSet pointer passed in should not go out of scope in the calling code until the caller has finished with this object, or else subsequent method calls on this object will result in a segmentation fault; the pointer is not copied. maxCacheSizeMB is the maximum cache size in megabytes. <=0 means do not use a cache, in which case, each method call will have to (re)query the MS. It is highly recommended to use a cache of reasonable size for the specified MS if multiple methods are going to be called.

virtual casacore::MSMetaData::~MSMetaData ( )
virtual
casacore::MSMetaData::MSMetaData ( const MSMetaData )
private

disallow copy constructor and = operator

Member Function Documentation

Bool casacore::MSMetaData::_cacheUpdated ( const Float  incrementInBytes) const
private
void casacore::MSMetaData::_checkField ( uInt  fieldID) const
private
void casacore::MSMetaData::_checkScan ( const ScanKey key) const
private
void casacore::MSMetaData::_checkScans ( const std::set< ScanKey > &  scanKeys) const
private
void casacore::MSMetaData::_checkSubScan ( const SubScanKey key) const
private
static void casacore::MSMetaData::_checkTolerance ( const Double  tol)
staticprivate
void casacore::MSMetaData::_createScanRecords ( Record parent,
const ArrayKey arrayKey,
const std::map< SubScanKey, SubScanProperties > &  subScanProps 
) const
private
void casacore::MSMetaData::_createSubScanRecords ( Record parent,
uInt scanNRows,
std::set< Int > &  antennasForScan,
const ScanKey scanKey,
const std::map< SubScanKey, SubScanProperties > &  subScanProps 
) const
private
static void casacore::MSMetaData::_createTimeStampRecords ( Record parent,
const SubScanProperties subScanProps 
)
staticprivate
static QVD casacore::MSMetaData::_freqWidthToVelWidth ( const QVD v,
const Quantity refFreq 
)
staticprivate

convert a QVD in frequency units to velocity units using the give reference frequency.

No explicit checking is done for unit correctness of the inputs.

vector<String> casacore::MSMetaData::_getAntennaNames ( std::map< String, uInt > &  namesToIDsMap) const
private
vector<MPosition> casacore::MSMetaData::_getAntennaPositions ( ) const
private
void casacore::MSMetaData::_getAntennas ( SHARED_PTR< Vector< Int > > &  ant1,
SHARED_PTR< Vector< Int > > &  ant2 
) const
private
SHARED_PTR<Vector<Int> > casacore::MSMetaData::_getArrayIDs ( ) const
private
std::map<ArrayKey, std::set<SubScanKey> > casacore::MSMetaData::_getArrayKeysToSubScanKeys ( ) const
private
SHARED_PTR<Vector<Int> > casacore::MSMetaData::_getDataDescIDs ( ) const
private
SHARED_PTR<QVD > casacore::MSMetaData::_getExposureTimes ( ) const
private
SHARED_PTR<Vector<Int> > casacore::MSMetaData::_getFieldIDs ( ) const
private
void casacore::MSMetaData::_getFieldsAndIntentsMaps ( vector< std::set< String > > &  fieldToIntentsMap,
std::map< String, std::set< Int > > &  intentToFieldsMap 
)
private

If there are no intents, then fieldToIntentsMap will be of length nFields() and all of its entries will be the empty set, and intentToFieldsMap will be empty.

void casacore::MSMetaData::_getFieldsAndScansMaps ( vector< std::set< ScanKey > > &  fieldToScansMap,
std::map< ScanKey, std::set< Int > > &  scanToFieldsMap 
) const
private
void casacore::MSMetaData::_getFieldsAndSpwMaps ( std::map< Int, std::set< uInt > > &  fieldToSpwMap,
vector< std::set< Int > > &  spwToFieldMap 
)
private
void casacore::MSMetaData::_getFieldsAndStatesMaps ( std::map< Int, std::set< Int > > &  fieldToStatesMap,
std::map< Int, std::set< Int > > &  stateToFieldsMap 
)
private
void casacore::MSMetaData::_getFieldsAndTimesMaps ( SHARED_PTR< std::map< Int, std::set< Double > > > &  fieldToTimesMap,
SHARED_PTR< std::map< Double, std::set< Int > > > &  timesToFieldMap 
)
private
SHARED_PTR<ArrayColumn<Bool> > casacore::MSMetaData::_getFlags ( ) const
private
std::map<String, std::set<Double> > casacore::MSMetaData::_getIntentsToTimesMap ( ) const
private
MDirection casacore::MSMetaData::_getInterpolatedDirection ( const ROMSPointingColumns pCols,
const Int index,
const Double time 
) const
private
SHARED_PTR<QVD> casacore::MSMetaData::_getIntervals ( ) const
private
SHARED_PTR<Vector<Int> > casacore::MSMetaData::_getObservationIDs ( ) const
private
vector<std::set<Int> > casacore::MSMetaData::_getObservationIDToArrayIDsMap ( ) const
private

map<SubScanKey, Quantity> _getMeanExposureTimes() const;

vector<MPosition> casacore::MSMetaData::_getObservatoryPositions ( )
private
void casacore::MSMetaData::_getRowStats ( uInt nACRows,
uInt nXCRows,
std::map< SubScanKey, uInt > *&  subScanToNACRowsMap,
std::map< SubScanKey, uInt > *&  subScanToNXCRowsMap,
vector< uInt > *&  fieldToNACRowsMap,
vector< uInt > *&  fieldToNXCRowsMap 
) const
private
void casacore::MSMetaData::_getRowStats ( uInt nACRows,
uInt nXCRows,
SHARED_PTR< std::map< SubScanKey, uInt > > &  scanToNACRowsMap,
SHARED_PTR< std::map< SubScanKey, uInt > > &  scanToNXCRowsMap,
SHARED_PTR< vector< uInt > > &  fieldToNACRowsMap,
SHARED_PTR< vector< uInt > > &  fieldToNXCRowsMap 
) const
private
std::set<ScanKey> casacore::MSMetaData::_getScanKeys ( const std::set< ScanKey > &  scanKeys,
const ArrayKey arrayKey 
) const
private

get the scan keys in the specified set that have the associated arrayKey

std::set<Int> casacore::MSMetaData::_getScanNumbers ( const ArrayKey arrayKey) const
private

get all valid scan numbers associated with the specified arrayKey

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_getScans ( ) const
private
void casacore::MSMetaData::_getScansAndDDIDMaps ( std::map< ScanKey, std::set< uInt > > &  scanToDDIDMap,
vector< std::set< ScanKey > > &  ddIDToScanMap 
) const
private
void casacore::MSMetaData::_getScansAndIntentsMaps ( std::map< ScanKey, std::set< String > > &  scanToIntentsMap,
std::map< String, std::set< ScanKey > > &  intentToScansMap 
) const
private
void casacore::MSMetaData::_getScansAndSpwMaps ( std::map< ScanKey, std::set< uInt > > &  scanToSpwMap,
vector< std::set< ScanKey > > &  spwToScanMap 
) const
private
std::map<ScanKey, std::set<Int> > casacore::MSMetaData::_getScanToAntennasMap ( ) const
private
std::map<ScanKey, std::set<Int> > casacore::MSMetaData::_getScanToStatesMap ( ) const
private
std::map<ScanKey, std::set<SubScanKey> > casacore::MSMetaData::_getScanToSubScansMap ( ) const
private
SHARED_PTR<std::map<ScanKey, std::set<Double> > > casacore::MSMetaData::_getScanToTimesMap ( ) const
private
map<SourceKey, SourceProperties> casacore::MSMetaData::_getSourceInfo ( ) const
private
vector<SpwProperties> casacore::MSMetaData::_getSpwInfo ( std::set< uInt > &  avgSpw,
std::set< uInt > &  tdmSpw,
std::set< uInt > &  fdmSpw,
std::set< uInt > &  wvrSpw,
std::set< uInt > &  sqldSpw 
) const
private
vector<SpwProperties> casacore::MSMetaData::_getSpwInfo2 ( std::set< uInt > &  avgSpw,
std::set< uInt > &  tdmSpw,
std::set< uInt > &  fdmSpw,
std::set< uInt > &  wvrSpw,
std::set< uInt > &  sqldSpw 
) const
private
void casacore::MSMetaData::_getSpwsAndIntentsMaps ( vector< std::set< String > > &  spwToIntentsMap,
std::map< String, std::set< uInt > > &  intentToSpwsMap 
)
private
vector<std::set<String> > casacore::MSMetaData::_getSpwToIntentsMap ( )
private
SHARED_PTR<Vector<Int> > casacore::MSMetaData::_getStateIDs ( ) const
private
void casacore::MSMetaData::_getStateToIntentsMap ( vector< std::set< String > > &  statesToIntentsMap,
std::set< String > &  uniqueIntents 
) const
private
vector<String> casacore::MSMetaData::_getStationNames ( )
private
std::set<SubScanKey> casacore::MSMetaData::_getSubScanKeys ( ) const
private
std::set<SubScanKey> casacore::MSMetaData::_getSubScanKeys ( const ScanKey scanKey) const
private

get subscans related to the given scan

void casacore::MSMetaData::_getSubScansAndIntentsMaps ( SHARED_PTR< const std::map< SubScanKey, std::set< String > > > &  subScanToIntentsMap,
std::map< String, std::set< SubScanKey > > &  intentToSubScansMap 
) const
private
SHARED_PTR<Vector<Double> > casacore::MSMetaData::_getTimes ( ) const
private
void casacore::MSMetaData::_getTimesAndInvervals ( SHARED_PTR< const std::map< ScanKey, std::pair< Double, Double > > > &  scanToTimeRangeMap,
std::map< std::pair< ScanKey, uInt >, Double > &  scanSpwToIntervalMap,
std::map< std::pair< ScanKey, uInt >, std::set< Double > > &  scanSpwToTimesMap 
) const
private

In scanSpwToIntervalMap, the key is a scan, spw pair.

std::map<Double, Double> casacore::MSMetaData::_getTimeToTotalBWMap ( const Vector< Double > &  times,
const Vector< Int > &  ddIDs 
)
private
void casacore::MSMetaData::_getUnflaggedRowStats ( Double nACRows,
Double nXCRows,
SHARED_PTR< std::map< SubScanKey, Double > > &  subScanToNACRowsMap,
SHARED_PTR< std::map< SubScanKey, Double > > &  subScanToNXCRowsMap,
SHARED_PTR< vector< Double > > &  fieldToNACRowsMap,
SHARED_PTR< vector< Double > > &  fieldToNXCRowsMap 
) const
private
void casacore::MSMetaData::_getUnflaggedRowStats ( Double nACRows,
Double nXCRows,
vector< Double > *&  fieldNACRows,
vector< Double > *&  fieldNXCRows,
std::map< SubScanKey, Double > *&  scanNACRows,
std::map< SubScanKey, Double > *&  scanNXCRows 
) const
private
void casacore::MSMetaData::_hasAntennaID ( Int  antennaID)
private
Bool casacore::MSMetaData::_hasFieldID ( Int  fieldID) const
private
Bool casacore::MSMetaData::_hasIntent ( const String intent) const
private

SHARED_PTR<std::map<Double, TimeStampProperties> > _getTimeStampProperties() const;.

Bool casacore::MSMetaData::_hasStateID ( Int  stateID) const
private
void casacore::MSMetaData::_setObservation ( const MeasurementSet ms)
private

set metadata from OBSERVATION table

void casacore::MSMetaData::_setSpwInfo ( const MeasurementSet ms)
private

This comment from thunter in the original ValueMapping python class

Determine the number of polarizations for the first OBSERVE_TARGET intent.

Used by plotbandpass for BPOLY plots since the number of pols cannot be inferred

correctly from the caltable alone. You cannot not simply use the first row, because

it may be a pointing scan which may have different number of polarizations than what

the TARGET and BANDPASS calibrator will have.

– T. Hunter

uInt _getNumberOfPolarizations();

static uInt casacore::MSMetaData::_sizeof ( const std::map< Double, MSMetaData::TimeStampProperties > &  m)
staticprivate
template<class T >
static uInt casacore::MSMetaData::_sizeof ( const std::map< T, std::set< String > > &  m)
staticprivate
template<class T , class U >
static uInt casacore::MSMetaData::_sizeof ( const std::map< T, std::set< U > > &  m)
staticprivate
template<class T , class U >
static uInt casacore::MSMetaData::_sizeof ( const std::map< T, U > &  m)
staticprivate
static uInt casacore::MSMetaData::_sizeof ( const vector< std::set< String > > &  m)
staticprivate
static uInt casacore::MSMetaData::_sizeof ( const vector< String > &  m)
staticprivate
static uInt casacore::MSMetaData::_sizeof ( const vector< vector< String > > &  m)
staticprivate
template<class T >
static uInt casacore::MSMetaData::_sizeof ( const vector< T > &  v)
staticprivate
static uInt casacore::MSMetaData::_sizeof ( const QVD m)
staticprivate
template<class T >
static uInt casacore::MSMetaData::_sizeof ( const vector< std::set< T > > &  v)
staticprivate
template<class T >
static uInt casacore::MSMetaData::_sizeof ( const std::map< String, std::set< T > > &  map)
staticprivate
static uInt casacore::MSMetaData::_sizeof ( const vector< std::map< Int, Quantity > > &  map)
staticprivate
static uInt casacore::MSMetaData::_sizeof ( const std::map< std::pair< Int, uInt >, std::set< uInt > > &  map)
staticprivate
static std::map<Int, uInt> casacore::MSMetaData::_toUIntMap ( const Vector< Int > &  v)
staticprivate
QVD casacore::MSMetaData::getAntennaDiameters ( ) const

get the antenna diameters

uInt casacore::MSMetaData::getAntennaID ( const String antennaName) const

get the antenna ID for the antenna with the specified name.

vector<uInt> casacore::MSMetaData::getAntennaIDs ( const vector< String > &  antennaNames) const
vector<String> casacore::MSMetaData::getAntennaNames ( std::map< String, uInt > &  namesToIDsMap,
const vector< uInt > &  antennaIDs = vector< uInt >(0) 
) const

get the name of the antenna for the specified antenna ID

QVD casacore::MSMetaData::getAntennaOffset ( uInt  which)

get the position of the specified antenna relative to the observatory position.

the three vector returned represents the longitudinal, latitudinal, and elevation offsets (elements 0, 1, and 2 respectively). The longitude and latitude offsets are measured along the surface of a sphere centered at the earth's center and whose surface intersects the position of the observatory.

QVD casacore::MSMetaData::getAntennaOffset ( const String name)
vector<QVD > casacore::MSMetaData::getAntennaOffsets ( ) const
vector<MPosition> casacore::MSMetaData::getAntennaPositions ( const vector< uInt > &  which = std::vector< uInt >(0)) const

get the positions of the specified antennas.

If which is empty, return all antenna positions.

vector<MPosition> casacore::MSMetaData::getAntennaPositions ( const vector< String > &  names)

names cannot be empty.

std::set<Int> casacore::MSMetaData::getAntennasForScan ( const ScanKey scan) const

get the set of antenna IDs for the specified scan.

vector<String> casacore::MSMetaData::getAntennaStations ( const vector< uInt > &  antennaIDs)

get the antenna stations for the specified antenna IDs

vector<String> casacore::MSMetaData::getAntennaStations ( const vector< String > &  antennaNames)

get the antenna stations for the specified antenna names

std::map<uInt, Double> casacore::MSMetaData::getAverageIntervalsForScan ( const ScanKey scan) const

the first key in the returned map is the spectral window ID, the second is the average interval for the specified scan for that spw.

std::map<uInt, Quantity> casacore::MSMetaData::getAverageIntervalsForSubScan ( const SubScanKey subScan) const

the first key in the returned map is the spectral window ID, the second is the average interval for the specified sub scan for that spw.

vector<Double> casacore::MSMetaData::getBandWidths ( ) const

Referenced by getCache().

vector<uInt> casacore::MSMetaData::getBBCNos ( ) const
std::map<uInt, std::set<uInt> > casacore::MSMetaData::getBBCNosToSpwMap ( SQLDSwitch  sqldSwitch)
Float casacore::MSMetaData::getCache ( ) const
inline
vector<Quantity> casacore::MSMetaData::getCenterFreqs ( ) const

Referenced by getCache().

vector<QVD> casacore::MSMetaData::getChanEffectiveBWs ( Bool  asVelWidths) const

get the effective bandwidth for each channel.

Each element in the returned vector represents a separate spectral window, with ID given by its location in the vector. If asVelWidths is True, convert the values to velocity widths.

Referenced by getCache().

vector<QVD > casacore::MSMetaData::getChanFreqs ( ) const

Referenced by getCache().

std::set<uInt> casacore::MSMetaData::getChannelAvgSpw ( )

ALMA-specific.

get spectral windows that have been averaged. These are windows with 1 channel.

vector<QVD> casacore::MSMetaData::getChanResolutions ( Bool  asVelWidths) const

get the resolution for each channel.

Each element in the returned vector represents a separate spectral window, with ID given by its location in the vector. If asVelWidths is True, convert the values to velocity widths.

Referenced by getCache().

vector<QVD > casacore::MSMetaData::getChanWidths ( ) const

Referenced by getCache().

vector<Array<Int> > casacore::MSMetaData::getCorrProducts ( ) const

POLARIZATION.CORR_PRODUCT.

vector<vector<Int> > casacore::MSMetaData::getCorrTypes ( ) const

POLARIZATION.CORR_TYPE.

vector<uInt> casacore::MSMetaData::getDataDescIDToPolIDMap ( ) const
vector<uInt> casacore::MSMetaData::getDataDescIDToSpwMap ( ) const
vector<vector<Double> > casacore::MSMetaData::getEdgeChans ( )
Quantity casacore::MSMetaData::getEffectiveTotalExposureTime ( )

get the effective total exposure time.

This is the effective time spent collecting unflagged data.

Referenced by setForceSubScanPropsToCache().

std::set<uInt> casacore::MSMetaData::getFDMSpw ( )

ALMA-specific.

get set of spectral windows used for FDM. These are windows that do not have 1, 4, 64, 128, or 256 channels.

std::set<Int> casacore::MSMetaData::getFieldIDsForField ( const String field) const

get the field IDs for the specified field name.

Case insensitive.

std::set<Int> casacore::MSMetaData::getFieldIDsForSpw ( const uInt  spw)

get the set of field IDs corresponding to the specified spectral window.

vector<String> casacore::MSMetaData::getFieldNames ( ) const

get a list of the field names in the order in which they appear in the FIELD table.

vector<String> casacore::MSMetaData::getFieldNamesForFieldIDs ( const vector< uInt > &  fieldIDs)

get the field names associated with the specified field IDs.

If fieldIDs is empty, a vector of all the field names is returned.

std::map<Int, std::set<String> > casacore::MSMetaData::getFieldNamesForSourceMap ( ) const
std::set<String> casacore::MSMetaData::getFieldNamesForSpw ( const uInt  spw)

get the set of field names corresponding to the specified spectral window.

std::set<Int> casacore::MSMetaData::getFieldsForIntent ( const String intent)

get the field IDs associated with the specified intent.

std::set<Int> casacore::MSMetaData::getFieldsForIntent ( uInt  sourceID) const

get the field IDs associated with the specified source.

std::set<Int> casacore::MSMetaData::getFieldsForScan ( const ScanKey scan) const

get field IDs associated with the specified scan number.

std::set<Int> casacore::MSMetaData::getFieldsForScans ( const std::set< Int > &  scans,
Int  obsID,
Int  arrayID 
) const

get the field IDs associated with the specified scans

std::set<Int> casacore::MSMetaData::getFieldsForScans ( const std::set< ScanKey > &  scans) const

get the field IDs associated with the specified scans

std::map<Int, std::set<Int> > casacore::MSMetaData::getFieldsForSourceMap ( ) const
std::set<Int> casacore::MSMetaData::getFieldsForTimes ( Double  center,
Double  tol 
)

Get the fields which fail into the specified time range (center-tol to center+tol)

vector<Int> casacore::MSMetaData::getFieldTableSourceIDs ( ) const

Get the FIELD.SOURCE_ID column.

vector<std::map<Int, Quantity> > casacore::MSMetaData::getFirstExposureTimeMap ( )

get a map of data desc ID, scan number pair to exposure time for the first time for that data desc ID, scan number pair

Referenced by getCache().

std::set<String> casacore::MSMetaData::getIntents ( ) const

get all intents, in no particular (nor guaranteed) order.

std::set<String> casacore::MSMetaData::getIntentsForField ( Int  fieldID)

get a set of intents corresponding to a specified field

std::set<String> casacore::MSMetaData::getIntentsForScan ( const ScanKey scan) const
std::set<String> casacore::MSMetaData::getIntentsForSpw ( const uInt  spw)

get a set of intents corresponding to the specified spectral window

std::set<String> casacore::MSMetaData::getIntentsForSubScan ( const SubScanKey subScan) const
std::map<String, std::set<Int> > casacore::MSMetaData::getIntentToFieldsMap ( )
std::map<String, std::set<ScanKey> > casacore::MSMetaData::getIntentToScansMap ( )
std::map<String, std::set<uInt> > casacore::MSMetaData::getIntentToSpwsMap ( )
vector<Quantity> casacore::MSMetaData::getMeanFreqs ( ) const

Referenced by getCache().

vector<Int> casacore::MSMetaData::getNetSidebands ( ) const

Referenced by getCache().

SHARED_PTR<const map<SubScanKey, uInt> > casacore::MSMetaData::getNRowMap ( CorrelationType  type) const
vector<Int> casacore::MSMetaData::getNumCorrs ( ) const

number of correlations from the polarization table.

vector<String> casacore::MSMetaData::getObservatoryNames ( )

get telescope names in the order they are listed in the OBSERVATION table.

These are the telescopes (observatories), not the antenna names.

MPosition casacore::MSMetaData::getObservatoryPosition ( uInt  which) const

get the position of the specified telescope (observatory).

vector<String> casacore::MSMetaData::getObservers ( ) const

get the contents of the OBSERVER column from the OBSERVATIONS table

Referenced by setForceSubScanPropsToCache().

vector<MDirection> casacore::MSMetaData::getPhaseDirs ( ) const

get the phase directions from the FIELD subtable

std::pair<MDirection, MDirection> casacore::MSMetaData::getPointingDirection ( Int ant1,
Int ant2,
Double time,
uInt  row,
Bool  interpolate = false,
Int  initialguess = 0 
) const

get the pointing directions associated with antenna1 and antenna2 for the specified row of the main MS table

Referenced by getCache().

std::set<uInt> casacore::MSMetaData::getPolarizationIDs ( uInt  obsID,
Int  arrayID,
Int  scan,
uInt  spwid 
) const

get polarization IDs for the specified scan and spwid

Referenced by getCache().

vector<String> casacore::MSMetaData::getProjects ( ) const

get the contents of the PROJECT column from the OBSERVATIONS table

Referenced by setForceSubScanPropsToCache().

vector<std::pair<Quantity, Quantity> > casacore::MSMetaData::getProperMotions ( ) const

SOURCE.PROPER_MOTION, first value in pair is longitudinal proper motion, second is latiduninal.

MDirection casacore::MSMetaData::getReferenceDirection ( const uInt  fieldID,
const MEpoch ep = MEpoch(Quantity(0.0, Unit("s"))) 
) const

Get the reference direction for a given field ID and epoch interpolate polynomial if it is the field ID is such or use ephemerides table if that is attached to that field ID.

vector<MFrequency> casacore::MSMetaData::getRefFreqs ( ) const

Referenced by getCache().

map<SourceKey, SHARED_PTR<vector<MFrequency> > > casacore::MSMetaData::getRestFrequencies ( ) const

get rest frequencies from the SOURCE table

std::set<ScanKey> casacore::MSMetaData::getScanKeys ( ) const

get all ScanKeys in the dataset

std::set<ScanKey> casacore::MSMetaData::getScanKeys ( const ArrayKey arrayKey) const

get all ScanKeys in the dataset that have the specified arrayKey.

If negative values for either the obsID and/or arrayID portions of the ArrayKey indicate that all obsIDs and/or arrayIDs should be used.

std::set<Int> casacore::MSMetaData::getScanNumbers ( Int  obsID,
Int  arrayID 
) const

get unique scan numbers

std::set<Int> casacore::MSMetaData::getScansForField ( const String field,
Int  obsID,
Int  arrayID 
) const

get the scan numbers associated with the specified field.

Subclasses should not implement or override.

std::set<Int> casacore::MSMetaData::getScansForFieldID ( Int  fieldID,
Int  obsID,
Int  arrayID 
) const

get the scan numbers associated with the specified field ID.

std::set<Int> casacore::MSMetaData::getScansForIntent ( const String intent,
Int  obsID,
Int  arrayID 
) const

get the scans associated with the specified intent

std::set<Int> casacore::MSMetaData::getScansForSpw ( uInt  spw,
Int  obsID,
Int  arrayID 
) const

get the set of scan numbers for the specified spectral window.

std::set<Int> casacore::MSMetaData::getScansForState ( Int  stateID,
Int  obsID,
Int  arrayID 
) const

get a set of scan numbers for the specified stateID, obsID, and arrayID.

If obsID and/or arrayID is negative, all observation IDs and/or array IDs will be used.

std::set<Int> casacore::MSMetaData::getScansForTimes ( Double  center,
Double  tol,
Int  obsID,
Int  arrayID 
) const

Get the scan numbers which fail into the specified time range (center-tol to center+tol), inclusive.

A negative value of obsID and/or arrayID indicates that all observation IDs and/or all arrayIDs should be used.

SHARED_PTR<const std::map<ScanKey, std::pair<Double,Double> > > casacore::MSMetaData::getScanToTimeRangeMap ( ) const

get the map of scans to time ranges.

vector<vector<String> > casacore::MSMetaData::getSchedules ( ) const

get the contents of the SCHEDULE column from the OBSERVATIONS table Note that the embedded vectors may have different lengths

Referenced by setForceSubScanPropsToCache().

vector<MDirection> casacore::MSMetaData::getSourceDirections ( ) const

SOURCE.DIRECTION.

vector<String> casacore::MSMetaData::getSourceNames ( ) const

SOURCE.NAME.

vector<Int> casacore::MSMetaData::getSourceTableSourceIDs ( ) const

Get the SOURCE.SOURCE_ID column.

This is a very unfortunate column name, because generally an "ID" column of the table with the same name refers to the row number in that table. But not in this case.

std::map<std::pair<uInt, uInt>, uInt> casacore::MSMetaData::getSpwIDPolIDToDataDescIDMap ( ) const

The first value of the pair is spw, the second is polarization ID.

std::set<uInt> casacore::MSMetaData::getSpwIDs ( ) const

get all the spws associated with the data description IDs listed in the main table.

This will not correspond to a list of the row numbers in the SPECTRAL_WINDOW table if there are data description IDs that are not in the main table.

vector<String> casacore::MSMetaData::getSpwNames ( ) const

get a map of the spwIDs to spw names from the spw table

std::set<uInt> casacore::MSMetaData::getSpwsForField ( const Int  fieldID)

get a set of spectral windows corresponding to the specified fieldID

std::set<uInt> casacore::MSMetaData::getSpwsForField ( const String fieldName)

get a set of spectral windows corresponding to the specified field name

virtual std::set<uInt> casacore::MSMetaData::getSpwsForIntent ( const String intent)
virtual

get a set of spectral windows for which the specified intent applies.

std::set<uInt> casacore::MSMetaData::getSpwsForScan ( const ScanKey scan) const

get the set of spectral windows for the specified scan.

std::set<uInt> casacore::MSMetaData::getSpwsForSubScan ( const SubScanKey subScan) const

get the set of spectral windows for the specified subscan.

std::vector<std::set<uInt> > casacore::MSMetaData::getSpwToDataDescriptionIDMap ( ) const

get a mapping of spectral window ID to data descrption IDs

std::map<uInt, std::set<Double> > casacore::MSMetaData::getSpwToTimesForScan ( const ScanKey scan) const
std::set<uInt> casacore::MSMetaData::getSQLDSpw ( )

ALMA-specific.

Get the square law detector (total power) spectral windows.

std::set<Int> casacore::MSMetaData::getStatesForScan ( Int  obsID,
Int  arrayID,
Int  scan 
) const

get the times for the specified scan std::set<Double> getTimesForScan(const uInt scan) const;

get the stateIDs associated with the specified scan. If obsID and/or arrayID is negative, all observation IDs and/or array IDs will be used.

std::set<SubScanKey> casacore::MSMetaData::getSubScanKeys ( const ArrayKey arrayKey) const

get all sub scan keys for the specified array key.

SubScanProperties casacore::MSMetaData::getSubScanProperties ( const SubScanKey subScan,
Bool  showProgress = False 
) const

get the sub scan properties for the specified sub scan.

SHARED_PTR<const std::map<SubScanKey, SubScanProperties> > casacore::MSMetaData::getSubScanProperties ( Bool  showProgress = False) const
SHARED_PTR<const std::map<SubScanKey, std::set<String> > > casacore::MSMetaData::getSubScanToIntentsMap ( ) const
Record casacore::MSMetaData::getSummary ( ) const

get a data structure, consumable by users, representing a summary of the dataset

Referenced by setForceSubScanPropsToCache().

std::set<uInt> casacore::MSMetaData::getTDMSpw ( )

ALMA-specific.

get set of spectral windows used for TDM. These are windows that have 64, 128, or 256 channels

std::pair<Double, Double> casacore::MSMetaData::getTimeRange ( ) const

get the time range for the entire dataset.

min(TIME(x) - 0.5*INTERVAL(x)) to max(TIME(x) + 0.5*INTERVAL(x))

Referenced by getCache().

std::pair<Double, Double> casacore::MSMetaData::getTimeRangeForScan ( const ScanKey scanKey) const

get the time range for the specified scan.

The pair will contain the start and stop time of the scan, determined from min(TIME(x)-0.5*INTERVAL(x)) and max(TIME(x)-0.5*INTERVAL(x))

vector<std::pair<MEpoch, MEpoch> > casacore::MSMetaData::getTimeRangesOfObservations ( ) const

get the time ranges from the OBSERVATION table

Referenced by setForceSubScanPropsToCache().

std::set<Double> casacore::MSMetaData::getTimesForField ( Int  fieldID)

get the times for which the specified field was observed

Referenced by setForceSubScanPropsToCache().

std::set<Double> casacore::MSMetaData::getTimesForIntent ( const String intent) const

get the time stamps associated with the specified intent

Referenced by setForceSubScanPropsToCache().

std::set<Double> casacore::MSMetaData::getTimesForScan ( const ScanKey scan) const

get the times for the specified scan.

The return values come from the TIME column.

std::set<Double> casacore::MSMetaData::getTimesForScans ( std::set< ScanKey scans) const

Get the times for the specified scans.

map<SourceKey, SHARED_PTR<vector<String> > > casacore::MSMetaData::getTransitions ( ) const

get the transitions from the SOURCE table.

If there are no transitions for a particular key, the shared ptr contains the null ptr.

Matrix<Bool> casacore::MSMetaData::getUniqueBaselines ( )

std::map<Double, Double> getExposuresForTimes() const;

get the unique baselines in the MS. These are not necessarily every combination of the n(n-1)/2 possible antenna pairs, but rather the number of unique baselines represented in the main MS table, which in theory can be less than n(n-1)/2 (for example if samples for certain antenna pairs are not recorded. The returned Matrix is nAnts x nAnts in size. Pairs that are true represent baselines represented in the main MS table.

Referenced by setForceSubScanPropsToCache().

std::set<Int> casacore::MSMetaData::getUniqueFiedIDs ( ) const

get unique field IDs that exist in the main table.

Referenced by getCache().

std::set<uInt> casacore::MSMetaData::getWVRSpw ( ) const

ALMA-specific.

Get the spectral window set used for WVR measurements. These have 4 channels each.

Bool casacore::MSMetaData::hasBBCNo ( ) const
uInt casacore::MSMetaData::nAntennas ( ) const

get the number of antennas in the ANTENNA table

uInt casacore::MSMetaData::nArrays ( )

get the number of arrays (from the ARRAY table) in the dataset

Referenced by setForceSubScanPropsToCache().

virtual uInt casacore::MSMetaData::nBaselines ( Bool  includeAutoCorrelation = False)
virtual

get the number of unique baselines represented in the main MS table which in theory can be less than n*(n-1)/2.

If includeAutoCorrelation is True, include autocorrelation "baselines" in the enumeration.

Referenced by setForceSubScanPropsToCache().

vector<uInt> casacore::MSMetaData::nChans ( ) const

Referenced by getCache().

uInt casacore::MSMetaData::nDataDescriptions ( ) const

get the number of data description IDs (from the DATA_DESCRIPTION table)

Referenced by setForceSubScanPropsToCache().

uInt casacore::MSMetaData::nFields ( ) const

get the number of fields.

uInt casacore::MSMetaData::nObservations ( ) const

get the number of observations (from the OBSERVATIONS table) in the dataset

Referenced by setForceSubScanPropsToCache().

uInt casacore::MSMetaData::nPol ( )

Referenced by getCache().

uInt casacore::MSMetaData::nRows ( ) const

get the number of visibilities

uInt casacore::MSMetaData::nRows ( CorrelationType  cType)
uInt casacore::MSMetaData::nRows ( CorrelationType  cType,
Int  arrayID,
Int  observationID,
Int  scanNumber,
Int  fieldID 
) const
uInt casacore::MSMetaData::nRows ( CorrelationType  cType,
uInt  fieldID 
) const
uInt casacore::MSMetaData::nScans ( )

get the number of scans in the dataset

Referenced by setForceSubScanPropsToCache().

uInt casacore::MSMetaData::nSpw ( Bool  includewvr) const

get number of spectral windows

uInt casacore::MSMetaData::nStates ( ) const

number of unique states (number of rows from the STATE table)

Double casacore::MSMetaData::nUnflaggedRows ( ) const

get the number of unflagged rows

Referenced by setForceSubScanPropsToCache().

Double casacore::MSMetaData::nUnflaggedRows ( CorrelationType  cType) const
Double casacore::MSMetaData::nUnflaggedRows ( CorrelationType  cType,
Int  arrayID,
uInt  observationID,
Int  scanNumber,
uInt  fieldID 
) const
Double casacore::MSMetaData::nUnflaggedRows ( CorrelationType  cType,
Int  fieldID 
) const
uInt casacore::MSMetaData::nUniqueSourceIDsFromSourceTable ( ) const

Number of unique values from SOURCE.SOURCE_ID.

Referenced by getCache().

MSMetaData casacore::MSMetaData::operator= ( const MSMetaData )
private
MDirection casacore::MSMetaData::phaseDirFromFieldIDAndTime ( const uInt  fieldID,
const MEpoch ep = MEpoch(Quantity(0.0, Unit("s"))) 
) const

Get the phase direction for a given field id and epoch interpolate polynomial if it is the field id is such or use ephemerides table if that is attached to that field id.

void casacore::MSMetaData::setForceSubScanPropsToCache ( Bool  b)
inline

If True, force the subscan properties structure to be cached regardless of the stipulations on the maximum cache.

Normally, the subscan properties structure is small compared to the size of any one column that is necessary to create it, and since creating this structure can be very expensive, especially for large datasets, it is often a good idea to cache it if it will be accessed many times.

Definition at line 438 of file MSMetaData.h.

References _forceSubScanPropsToCache, casacore::False, getEffectiveTotalExposureTime(), getObservers(), getProjects(), getSchedules(), getSummary(), getTimeRangesOfObservations(), getTimesForField(), getTimesForIntent(), getUniqueBaselines(), hasBBCNo(), nArrays(), nBaselines(), nDataDescriptions(), nObservations(), nScans(), and nUnflaggedRows().

Member Data Documentation

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_antenna1
mutableprivate

Definition at line 621 of file MSMetaData.h.

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_antenna2
mutableprivate

Definition at line 621 of file MSMetaData.h.

QVD casacore::MSMetaData::_antennaDiameters
mutableprivate

Definition at line 650 of file MSMetaData.h.

vector<String> casacore::MSMetaData::_antennaNames
mutableprivate

Definition at line 633 of file MSMetaData.h.

std::map<String, uInt> casacore::MSMetaData::_antennaNameToIDMap
mutableprivate

Definition at line 608 of file MSMetaData.h.

vector<QVD > casacore::MSMetaData::_antennaOffsets
mutableprivate

Definition at line 649 of file MSMetaData.h.

vector<MPosition> casacore::MSMetaData::_antennaPositions
mutableprivate

Definition at line 648 of file MSMetaData.h.

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_arrayIDs
mutableprivate

Definition at line 621 of file MSMetaData.h.

std::set<ArrayKey> casacore::MSMetaData::_arrayKeys
mutableprivate

Definition at line 664 of file MSMetaData.h.

std::map<ArrayKey, std::set<SubScanKey> > casacore::MSMetaData::_arrayToSubScans
mutableprivate

Definition at line 668 of file MSMetaData.h.

std::set<uInt> casacore::MSMetaData::_avgSpw
mutableprivate

Definition at line 620 of file MSMetaData.h.

Float casacore::MSMetaData::_cacheMB
mutableprivate

Definition at line 598 of file MSMetaData.h.

Referenced by getCache().

vector<Array<Int> > casacore::MSMetaData::_corrProds
mutableprivate

Definition at line 637 of file MSMetaData.h.

vector<vector<Int> > casacore::MSMetaData::_corrTypes
mutableprivate

Definition at line 636 of file MSMetaData.h.

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_dataDescIDs
mutableprivate

Definition at line 621 of file MSMetaData.h.

vector<uInt> casacore::MSMetaData::_dataDescIDToPolIDMap
mutableprivate

Definition at line 603 of file MSMetaData.h.

vector<uInt> casacore::MSMetaData::_dataDescIDToSpwMap
mutableprivate

Definition at line 603 of file MSMetaData.h.

vector<std::set<ScanKey> > casacore::MSMetaData::_ddidToScansMap
mutableprivate

Definition at line 631 of file MSMetaData.h.

SHARED_PTR<QVD > casacore::MSMetaData::_exposures
mutableprivate

Definition at line 640 of file MSMetaData.h.

Quantity casacore::MSMetaData::_exposureTime
private

Definition at line 652 of file MSMetaData.h.

std::set<uInt> casacore::MSMetaData::_fdmSpw
mutableprivate

Definition at line 620 of file MSMetaData.h.

vector<Int> casacore::MSMetaData::_field_sourceIDs
mutableprivate

Definition at line 662 of file MSMetaData.h.

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_fieldIDs
mutableprivate

Definition at line 621 of file MSMetaData.h.

vector<String> casacore::MSMetaData::_fieldNames
mutableprivate

Definition at line 633 of file MSMetaData.h.

vector<std::set<String> > casacore::MSMetaData::_fieldToIntentsMap
mutableprivate

Definition at line 628 of file MSMetaData.h.

SHARED_PTR<vector<uInt> > casacore::MSMetaData::_fieldToNACRowsMap
mutableprivate

Definition at line 625 of file MSMetaData.h.

SHARED_PTR<vector<uInt> > casacore::MSMetaData::_fieldToNXCRowsMap
mutableprivate

Definition at line 625 of file MSMetaData.h.

vector<std::set<ScanKey> > casacore::MSMetaData::_fieldToScansMap
mutableprivate

Definition at line 631 of file MSMetaData.h.

std::map<Int, std::set<uInt> > casacore::MSMetaData::_fieldToSpwMap
private

Definition at line 604 of file MSMetaData.h.

std::map<Int, std::set<Int> > casacore::MSMetaData::_fieldToStatesMap
mutableprivate

Definition at line 606 of file MSMetaData.h.

SHARED_PTR<std::map<Int, std::set<Double> > > casacore::MSMetaData::_fieldToTimesMap
private

Definition at line 645 of file MSMetaData.h.

vector<std::map<Int, Quantity> > casacore::MSMetaData::_firstExposureTimeMap
private

Definition at line 661 of file MSMetaData.h.

SHARED_PTR<ArrayColumn<Bool> > casacore::MSMetaData::_flagsColumn
mutableprivate

Definition at line 658 of file MSMetaData.h.

Bool casacore::MSMetaData::_forceSubScanPropsToCache
mutableprivate

Definition at line 660 of file MSMetaData.h.

Referenced by setForceSubScanPropsToCache().

std::map<String, std::set<Int> > casacore::MSMetaData::_intentToFieldIDMap
mutableprivate

Definition at line 611 of file MSMetaData.h.

std::map<String, std::set<ScanKey> > casacore::MSMetaData::_intentToScansMap
mutableprivate

Definition at line 612 of file MSMetaData.h.

std::map<String, std::set<uInt> > casacore::MSMetaData::_intentToSpwsMap
private

Definition at line 642 of file MSMetaData.h.

std::map<String, std::set<SubScanKey> > casacore::MSMetaData::_intentToSubScansMap
mutableprivate

Definition at line 613 of file MSMetaData.h.

std::map<String, std::set<Double> > casacore::MSMetaData::_intentToTimesMap
mutableprivate

Definition at line 643 of file MSMetaData.h.

SHARED_PTR<QVD> casacore::MSMetaData::_intervals
mutableprivate

Definition at line 624 of file MSMetaData.h.

const Float casacore::MSMetaData::_maxCacheMB
private

Definition at line 599 of file MSMetaData.h.

const MeasurementSet* casacore::MSMetaData::_ms
private

The general pattern is that a mutable gets set only once, on demand, when its setter is called for the first time.

If this pattern is broken, defective behavior will occur.

Definition at line 597 of file MSMetaData.h.

uInt casacore::MSMetaData::_nACRows
mutableprivate

Definition at line 600 of file MSMetaData.h.

uInt casacore::MSMetaData::_nAntennas
mutableprivate

Definition at line 600 of file MSMetaData.h.

uInt casacore::MSMetaData::_nArrays
mutableprivate

Definition at line 600 of file MSMetaData.h.

uInt casacore::MSMetaData::_nDataDescIDs
mutableprivate

Definition at line 600 of file MSMetaData.h.

uInt casacore::MSMetaData::_nFields
mutableprivate

Definition at line 600 of file MSMetaData.h.

uInt casacore::MSMetaData::_nObservations
mutableprivate

Definition at line 600 of file MSMetaData.h.

uInt casacore::MSMetaData::_nPol
mutableprivate

Definition at line 600 of file MSMetaData.h.

uInt casacore::MSMetaData::_nrows
mutableprivate

Definition at line 600 of file MSMetaData.h.

uInt casacore::MSMetaData::_nScans
mutableprivate

Definition at line 600 of file MSMetaData.h.

uInt casacore::MSMetaData::_nSpw
mutableprivate

Definition at line 600 of file MSMetaData.h.

uInt casacore::MSMetaData::_nStates
mutableprivate

Definition at line 600 of file MSMetaData.h.

vector<Int> casacore::MSMetaData::_numCorrs
mutableprivate

Definition at line 662 of file MSMetaData.h.

Double casacore::MSMetaData::_nUnflaggedACRows
mutableprivate

Definition at line 653 of file MSMetaData.h.

Double casacore::MSMetaData::_nUnflaggedXCRows
mutableprivate

Definition at line 653 of file MSMetaData.h.

uInt casacore::MSMetaData::_nXCRows
mutableprivate

Definition at line 600 of file MSMetaData.h.

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_observationIDs
mutableprivate

Definition at line 621 of file MSMetaData.h.

vector<String> casacore::MSMetaData::_observatoryNames
mutableprivate

Definition at line 633 of file MSMetaData.h.

vector<MPosition> casacore::MSMetaData::_observatoryPositions
mutableprivate

Definition at line 648 of file MSMetaData.h.

vector<String> casacore::MSMetaData::_observers
mutableprivate

Definition at line 633 of file MSMetaData.h.

vector<std::set<Int> > casacore::MSMetaData::_obsToArraysMap
mutableprivate

Definition at line 630 of file MSMetaData.h.

vector<MDirection> casacore::MSMetaData::_phaseDirs
mutableprivate

Definition at line 672 of file MSMetaData.h.

vector<String> casacore::MSMetaData::_projects
mutableprivate

Definition at line 633 of file MSMetaData.h.

vector<std::pair<Quantity, Quantity> > casacore::MSMetaData::_properMotions
mutableprivate

Definition at line 674 of file MSMetaData.h.

std::set<ScanKey> casacore::MSMetaData::_scanKeys
mutableprivate

Definition at line 665 of file MSMetaData.h.

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_scans
mutableprivate

Definition at line 621 of file MSMetaData.h.

std::map<std::pair<ScanKey, uInt>, Double> casacore::MSMetaData::_scanSpwToIntervalMap
mutableprivate

Definition at line 615 of file MSMetaData.h.

std::map<std::pair<ScanKey, uInt>, std::set<uInt> > casacore::MSMetaData::_scanSpwToPolIDMap
mutableprivate

Definition at line 617 of file MSMetaData.h.

std::map<std::pair<ScanKey, uInt>, std::set<Double> > casacore::MSMetaData::_scanSpwToTimesMap
mutableprivate

Definition at line 616 of file MSMetaData.h.

std::map<ScanKey, std::set<Int> > casacore::MSMetaData::_scanToAntennasMap
mutableprivate

Definition at line 605 of file MSMetaData.h.

std::map<ScanKey, std::set<uInt> > casacore::MSMetaData::_scanToDDIDsMap
mutableprivate

Definition at line 602 of file MSMetaData.h.

std::map<ScanKey, std::set<Int> > casacore::MSMetaData::_scanToFieldsMap
mutableprivate

Definition at line 605 of file MSMetaData.h.

std::map<ScanKey, std::set<String> > casacore::MSMetaData::_scanToIntentsMap
mutableprivate

Definition at line 626 of file MSMetaData.h.

std::map<ScanKey, std::set<uInt> > casacore::MSMetaData::_scanToSpwsMap
mutableprivate

Definition at line 602 of file MSMetaData.h.

std::map<ScanKey, std::set<Int> > casacore::MSMetaData::_scanToStatesMap
mutableprivate

Definition at line 605 of file MSMetaData.h.

std::map<ScanKey, std::set<SubScanKey> > casacore::MSMetaData::_scanToSubScans
mutableprivate

Definition at line 667 of file MSMetaData.h.

SHARED_PTR<const std::map<ScanKey, std::pair<Double, Double> > > casacore::MSMetaData::_scanToTimeRangeMap
mutableprivate

Definition at line 614 of file MSMetaData.h.

SHARED_PTR<std::map<ScanKey, std::set<Double> > > casacore::MSMetaData::_scanToTimesMap
mutableprivate

Definition at line 641 of file MSMetaData.h.

vector<vector<String> > casacore::MSMetaData::_schedules
mutableprivate

Definition at line 635 of file MSMetaData.h.

vector<Int> casacore::MSMetaData::_source_sourceIDs
mutableprivate

Definition at line 662 of file MSMetaData.h.

vector<MDirection> casacore::MSMetaData::_sourceDirs
mutableprivate

Definition at line 672 of file MSMetaData.h.

map<SourceKey, SourceProperties> casacore::MSMetaData::_sourceInfo
mutableprivate

Definition at line 676 of file MSMetaData.h.

vector<String> casacore::MSMetaData::_sourceNames
mutableprivate

Definition at line 633 of file MSMetaData.h.

std::map<Int, std::set<Int> > casacore::MSMetaData::_sourceToFieldsMap
mutableprivate

Definition at line 606 of file MSMetaData.h.

vector<SpwProperties> casacore::MSMetaData::_spwInfo
mutableprivate

Definition at line 629 of file MSMetaData.h.

Bool casacore::MSMetaData::_spwInfoStored
mutableprivate

Definition at line 660 of file MSMetaData.h.

std::map<std::pair<uInt, uInt>, uInt> casacore::MSMetaData::_spwPolIDToDataDescIDMap
mutableprivate

Definition at line 607 of file MSMetaData.h.

vector<std::set<Int> > casacore::MSMetaData::_spwToFieldIDsMap
mutableprivate

Definition at line 630 of file MSMetaData.h.

vector<std::set<String> > casacore::MSMetaData::_spwToIntentsMap
mutableprivate

Definition at line 628 of file MSMetaData.h.

vector<std::set<ScanKey> > casacore::MSMetaData::_spwToScansMap
mutableprivate

Definition at line 631 of file MSMetaData.h.

std::set<uInt> casacore::MSMetaData::_sqldSpw
mutableprivate

Definition at line 620 of file MSMetaData.h.

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_stateIDs
mutableprivate

Definition at line 621 of file MSMetaData.h.

std::map<Int, std::set<Int> > casacore::MSMetaData::_stateToFieldsMap
mutableprivate

Definition at line 606 of file MSMetaData.h.

vector<std::set<String> > casacore::MSMetaData::_stateToIntentsMap
mutableprivate

Definition at line 628 of file MSMetaData.h.

vector<String> casacore::MSMetaData::_stationNames
mutableprivate

Definition at line 633 of file MSMetaData.h.

SHARED_PTR<std::map<SubScanKey, SubScanProperties> > casacore::MSMetaData::_subScanProperties
mutableprivate

Definition at line 609 of file MSMetaData.h.

std::set<SubScanKey> casacore::MSMetaData::_subscans
mutableprivate

Definition at line 666 of file MSMetaData.h.

SHARED_PTR<const std::map<SubScanKey, std::set<String> > > casacore::MSMetaData::_subScanToIntentsMap
mutableprivate

Definition at line 627 of file MSMetaData.h.

SHARED_PTR<std::map<SubScanKey, uInt> > casacore::MSMetaData::_subScanToNACRowsMap
mutableprivate

Definition at line 623 of file MSMetaData.h.

SHARED_PTR<std::map<SubScanKey, uInt> > casacore::MSMetaData::_subScanToNXCRowsMap
mutableprivate

Definition at line 623 of file MSMetaData.h.

const String casacore::MSMetaData::_taqlTableName
private

Definition at line 656 of file MSMetaData.h.

const vector<const Table*> casacore::MSMetaData::_taqlTempTable
private

Definition at line 657 of file MSMetaData.h.

std::set<uInt> casacore::MSMetaData::_tdmSpw
mutableprivate

Definition at line 620 of file MSMetaData.h.

vector<std::pair<MEpoch, MEpoch> > casacore::MSMetaData::_timeRangesForObs
mutableprivate

Definition at line 670 of file MSMetaData.h.

SHARED_PTR<Vector<Double> > casacore::MSMetaData::_times
mutableprivate

Definition at line 639 of file MSMetaData.h.

SHARED_PTR<std::map<Double, std::set<Int> > > casacore::MSMetaData::_timeToFieldsMap
private

Definition at line 646 of file MSMetaData.h.

SHARED_PTR<vector<Double> > casacore::MSMetaData::_unflaggedFieldNACRows
mutableprivate

Definition at line 654 of file MSMetaData.h.

SHARED_PTR<vector<Double> > casacore::MSMetaData::_unflaggedFieldNXCRows
mutableprivate

Definition at line 654 of file MSMetaData.h.

SHARED_PTR<std::map<SubScanKey, Double> > casacore::MSMetaData::_unflaggedSubScanNACRows
mutableprivate

Definition at line 655 of file MSMetaData.h.

SHARED_PTR<std::map<SubScanKey, Double> > casacore::MSMetaData::_unflaggedSubScanNXCRows
mutableprivate

Definition at line 655 of file MSMetaData.h.

Matrix<Bool> casacore::MSMetaData::_uniqueBaselines
private

Definition at line 651 of file MSMetaData.h.

std::set<Int> casacore::MSMetaData::_uniqueFieldIDs
mutableprivate

Definition at line 619 of file MSMetaData.h.

std::set<String> casacore::MSMetaData::_uniqueIntents
mutableprivate

Definition at line 618 of file MSMetaData.h.

std::set<Int> casacore::MSMetaData::_uniqueStateIDs
mutableprivate

Definition at line 619 of file MSMetaData.h.

std::set<uInt> casacore::MSMetaData::_wvrSpw
mutableprivate

Definition at line 620 of file MSMetaData.h.


The documentation for this class was generated from the following file: