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

More...

#include <MSMetaData.h>

Classes

struct  ColumnStats
 
struct  ScanProperties
 
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
}
 
typedef std::map< Int, std::pair< Double, Quantity > > FirstExposureTimeMap
 

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
 if the antenna name appears multiple times in the antenna table, the last ID that it is associated with is returned. More...
 
std::set< uIntgetAntennaIDs (const String &antennaName) const
 get all the antenna IDs for the antenna with the specified name. More...
 
vector< std::set< uInt > > getAntennaIDs (const vector< String > &antennaNames) const
 The returned IDs are ordered in the way they appear in the atenna table. More...
 
vector< StringgetAntennaNames (std::map< String, uInt > &namesToIDsMap, const vector< uInt > &antennaIDs=vector< uInt >(0)) const
 In the first instance of getAntennaNames, namesToID map will have the last ID of the antenna name, if it appears multiple times in the antenna table. More...
 
vector< StringgetAntennaNames (std::map< String, std::set< uInt > > &namesToIDsMap, const vector< uInt > &antennaIDs=vector< uInt >(0)) const
 
vector< StringgetAntennaStations (const vector< uInt > &antennaIDs=vector< uInt >())
 get the antenna stations for the specified antenna IDs More...
 
vector< std::vector< String > > getAntennaStations (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...
 
vector< std::set< ScanKey > > getFieldToScansMap () const
 get the mapping of field ID to scans 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
 
std::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< StringgetIntentsForField (String field)
 get a set of intents corresponding to a specified field name 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...
 
std::map< ScanKey, std::set< Int > > getScanToStatesMap () const
 get the mapping of scans to states More...
 
vector< MDirectiongetSourceDirections () const
 SOURCE.DIRECTION. More...
 
vector< StringgetSourceNames () const
 SOURCE.NAME. More...
 
vector< IntgetSourceTableSourceIDs () const
 Get the SOURCE.SOURCE_ID column. More...
 
std::shared_ptr< const Quantum< Vector< Double > > > getSourceTimes () const
 SOURCE.TIME. More...
 
virtual std::set< uIntgetSpwsForIntent (const String &intent)
 get a set of spectral windows for which the specified intent applies. More...
 
rownr_t nRows () const
 get the number of visibilities More...
 
rownr_t nRows (CorrelationType cType)
 
std::shared_ptr< const std::map< SubScanKey, rownr_t > > getNRowMap (CorrelationType type) const
 
rownr_t nRows (CorrelationType cType, Int arrayID, Int observationID, Int scanNumber, Int fieldID) const
 
rownr_t 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) const
 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...
 
vector< StringgetFieldCodes () const
 get the values of the CODE column from the field table 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...
 
std::map< Int, std::set< uInt > > getFieldsToSpwsMap () const
 get the mapping of fields to spws More...
 
std::map< SourceKey, std::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...
 
std::map< ScanKey, std::set< uInt > > getScanToSpwsMap () const
 get the complete mapping of scans to spws More...
 
std::vector< std::set< ScanKey > > getSpwToScansMap () const
 get the complete mapping of spws to scans More...
 
std::map< SourceKey, std::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...
 
std::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 stateIDs associated with the specified scan. More...
 
std::vector< std::set< Double > > getTimesForSpws (Bool showProgress=True) const
 get a map of spectral windows to unique timestamps. More...
 
QVD getAntennaOffset (uInt which) const
 get the position of the specified antenna relative to the observatory position. More...
 
QVD getAntennaOffset (const String &name) const
 If the antenna name appears mulitple times, this will return the offset for the first occurrence of it in the antenna table. More...
 
std::vector< QVDgetAntennaOffsets (const String &name) const
 If the antenna name appears mulitple times, this will return all the offsets for it, in the order they appear in the antenna table. More...
 
vector< QVDgetAntennaOffsets () const
 
vector< MPositiongetAntennaPositions (const vector< uInt > &which=std::vector< uInt >(0)) const
 get the positions of the specified antennas. More...
 
vector< vector< MPosition > > getAntennaPositions (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
 
vector< StringgetCorrBits () 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...
 
Float getMaxCacheSizeMB () const
 max cache size in MB 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 MEpoch &ep=MEpoch(Quantity(0.0, Unit("s")))) 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...
 
std::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 ()
 
std::vector< std::map< Int, Quantity > > getFirstExposureTimeMap ()
 DEPRECATED 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::map< ScanKey, FirstExposureTimeMapgetScanToFirstExposureTimeMap (Bool showProgress) const
 get map of scans to first exposure times More...
 
std::set< uIntgetPolarizationIDs (uInt obsID, Int arrayID, Int scan, uInt spwid) const
 get polarization IDs for the specified scan and spwid More...
 
const std::set< Int > & getUniqueAntennaIDs () const
 get the unique antennas (the union of the ANTENNA_1 and ANTENNA_2 columns) from the main table More...
 
std::set< uIntgetUniqueDataDescIDs () const
 get unique data description IDs that exist in the main table More...
 
std::set< IntgetUniqueFiedIDs () const
 DEPRECATED because of spelling error. More...
 
std::set< IntgetUniqueFieldIDs () const
 get unique field IDs that exist in the main table. More...
 
std::pair< MDirection, MDirectiongetPointingDirection (Int &ant1, Int &ant2, Double &time, rownr_t 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 (Bool showProgress=False) const
 get the time range for the entire dataset. More...
 
uInt nUniqueSourceIDsFromSourceTable () const
 Number of unique values from SOURCE.SOURCE_ID. More...
 
std::set< uIntgetUniqueSpwIDs () const
 get the unique spectral window IDs represented by the data description IDs that appear in the main table More...
 
const MeasurementSetgetMS () const
 
void setShowProgress (Bool b)
 
ColumnStats getIntervalStatistics () const
 get statistics related to the values of the INTERVAL column. 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. 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 _computeScanAndSubScanProperties (std::shared_ptr< std::map< ScanKey, MSMetaData::ScanProperties > > &scanProps, std::shared_ptr< std::map< SubScanKey, MSMetaData::SubScanProperties > > &subScanProps, Bool showProgress) const
 
void _mergeScanProps (std::shared_ptr< std::map< ScanKey, MSMetaData::ScanProperties > > &scanProps, std::shared_ptr< std::map< SubScanKey, MSMetaData::SubScanProperties > > &subScanProps, const std::vector< std::pair< std::map< ScanKey, ScanProperties >, std::map< SubScanKey, SubScanProperties > > > &props) const
 
void _createScanRecords (Record &parent, const ArrayKey &arrayKey, const std::map< SubScanKey, SubScanProperties > &subScanProps) const
 
void _createSubScanRecords (Record &parent, rownr_t &scanNRows, std::set< Int > &antennasForScan, const ScanKey &scanKey, const std::map< SubScanKey, SubScanProperties > &subScanProps) const
 
std::shared_ptr< const std::map< ScanKey, ScanProperties > > _generateScanPropsIfWanted () const
 if _scanProps has been generated, just return it. More...
 
std::shared_ptr< const std::map< SubScanKey, SubScanProperties > > _generateSubScanPropsIfWanted () const
 if _subScanProperties has been generated, just return it. More...
 
vector< String_getAntennaNames (std::map< String, std::set< uInt > > &namesToIDsMap) const
 
vector< MPosition_getAntennaPositions () const
 
void _getAntennas (std::shared_ptr< Vector< Int > > &ant1, std::shared_ptr< Vector< Int > > &ant2) const
 
std::shared_ptr< Vector< Int > > _getArrayIDs () const
 
std::map< ArrayKey, std::set< SubScanKey > > _getArrayKeysToSubScanKeys () const
 
std::pair< std::map< ScanKey, ScanProperties >, std::map< SubScanKey, SubScanProperties > > _getChunkSubScanProperties (const Vector< Int > &scans, const Vector< Int > &fields, const Vector< Int > &ddIDs, const Vector< Int > &states, const Vector< Double > &times, const Vector< Int > &arrays, const Vector< Int > &observations, const Vector< Int > &ant1, const Vector< Int > &ant2, const Quantum< Vector< Double > > &exposureTimes, const Quantum< Vector< Double > > &intervalTimes, const vector< uInt > &ddIDToSpw, rownr_t beginRow, rownr_t endRow) const
 Uses openmp for parallel processing. More...
 
std::shared_ptr< Vector< Int > > _getDataDescIDs () const
 
std::shared_ptr< std::set< Int > > _getEphemFieldIDs () const
 get the field IDs of ephemeris objects More...
 
std::shared_ptr< Quantum< Vector< Double > > > _getExposureTimes () const
 
std::shared_ptr< Vector< Int > > _getFieldIDs () 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) const
 
void _getFieldsAndStatesMaps (std::map< Int, std::set< Int > > &fieldToStatesMap, std::map< Int, std::set< Int > > &stateToFieldsMap)
 
void _getFieldsAndTimesMaps (std::shared_ptr< std::map< Int, std::set< Double > > > &fieldToTimesMap, std::shared_ptr< std::map< Double, std::set< Int > > > &timesToFieldMap)
 
std::shared_ptr< ArrayColumn< Bool > > _getFlags () const
 
std::map< String, std::set< Double > > _getIntentsToTimesMap () const
 
std::shared_ptr< Quantum< Vector< Double > > > _getIntervals () const
 
std::shared_ptr< Vector< Int > > _getObservationIDs () const
 
std::shared_ptr< Vector< Int > > _getScans () const
 
vector< std::set< String > > _getSpwToIntentsMap ()
 
std::shared_ptr< Vector< Int > > _getStateIDs () const
 
std::shared_ptr< Vector< Double > > _getTimes () const
 
Bool _hasIntent (const String &intent) const
 std::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 MSPointingColumns &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 (rownr_t &nACRows, rownr_t &nXCRows, std::map< SubScanKey, rownr_t > *&subScanToNACRowsMap, std::map< SubScanKey, rownr_t > *&subScanToNXCRowsMap, std::map< Int, rownr_t > *&fieldToNACRowsMap, std::map< Int, rownr_t > *&fieldToNXCRowsMap) const
 
void _getRowStats (rownr_t &nACRows, rownr_t &nXCRows, std::shared_ptr< std::map< SubScanKey, rownr_t > > &scanToNACRowsMap, std::shared_ptr< std::map< SubScanKey, rownr_t > > &scanToNXCRowsMap, std::shared_ptr< std::map< Int, rownr_t > > &fieldToNACRowsMap, std::shared_ptr< std::map< Int, rownr_t > > &fieldToNXCRowsMap) const
 
std::shared_ptr< const std::map< ScanKey, MSMetaData::ScanProperties > > _getScanProperties (Bool showProgress) const
 get scan properties More...
 
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< SubScanKey > > _getScanToSubScansMap () const
 
std::shared_ptr< std::map< ScanKey, std::set< Double > > > _getScanToTimesMap () const
 
std::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 (std::shared_ptr< const std::map< SubScanKey, std::set< String > > > &subScanToIntentsMap, std::map< String, std::set< SubScanKey > > &intentToSubScansMap) const
 
void _getScanAndSubScanProperties (std::shared_ptr< const std::map< ScanKey, ScanProperties > > &scanProps, std::shared_ptr< const std::map< SubScanKey, SubScanProperties > > &subScanProps, Bool showProgress) const
 
std::set< SubScanKey_getSubScanKeys () const
 
std::set< SubScanKey_getSubScanKeys (const ScanKey &scanKey) const
 get subscans related to the given scan More...
 
void _getUnflaggedRowStats (Double &nACRows, Double &nXCRows, std::shared_ptr< std::map< SubScanKey, Double > > &subScanToNACRowsMap, std::shared_ptr< std::map< SubScanKey, Double > > &subScanToNXCRowsMap, std::shared_ptr< vector< Double > > &fieldToNACRowsMap, std::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
 
template<class T >
std::shared_ptr< Vector< T > > _getMainScalarColumn (MSMainEnums::PredefinedColumns col) const
 

Static Private Member Functions

static void _checkTolerance (const Double tol)
 
static void _getScalarIntColumn (Vector< Int > &v, TableProxy &table, const String &colname, rownr_t beginRow, rownr_t nrows)
 
static void _getScalarDoubleColumn (Vector< Double > &v, TableProxy &table, const String &colname, rownr_t beginRow, rownr_t nrows)
 
static void _getScalarQuantDoubleColumn (Quantum< Vector< Double > > &v, TableProxy &table, const String &colname, rownr_t beginRow, rownr_t nrows)
 
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 void _modifyFirstExposureTimeIfNecessary (FirstExposureTimeMap &current, const FirstExposureTimeMap &test)
 
static void _modifyFirstExposureTimeIfNecessary (FirstExposureTimeMap &current, Int dataDescID, Double time, Double exposure, const Unit &eunit)
 
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 Quantum< Vector< Double > > &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...
 
Bool _showProgress
 
Float _cacheMB
 
const Float _maxCacheMB
 
rownr_t _nACRows
 
rownr_t _nXCRows
 
uInt _nStates
 
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, std::set< uInt > > _antennaNameToIDMap
 
std::shared_ptr< const std::map< ScanKey, ScanProperties > > _scanProperties
 
std::shared_ptr< const 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
 
std::map< std::pair< ScanKey, uInt >, std::set< uInt > > _scanSpwToPolIDMap
 
std::set< String_uniqueIntents
 
std::set< Int_uniqueFieldIDs
 
std::set< Int_uniqueStateIDs
 
std::set< Int_uniqueAntennaIDs
 
std::set< uInt_avgSpw
 
std::set< uInt_tdmSpw
 
std::set< uInt_fdmSpw
 
std::set< uInt_wvrSpw
 
std::set< uInt_sqldSpw
 
std::set< uInt_uniqueDataDescIDs
 
std::shared_ptr< std::map< SubScanKey, rownr_t > > _subScanToNACRowsMap
 
std::shared_ptr< std::map< SubScanKey, rownr_t > > _subScanToNXCRowsMap
 
std::shared_ptr< std::map< Int, rownr_t > > _fieldToNACRowsMap
 
std::shared_ptr< std::map< Int, rownr_t > > _fieldToNXCRowsMap
 
std::map< ScanKey, std::set< String > > _scanToIntentsMap
 
std::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< String_fieldCodes
 
vector< vector< String > > _schedules
 
vector< vector< Int > > _corrTypes
 
vector< Array< Int > > _corrProds
 
std::shared_ptr< std::map< ScanKey, std::set< Double > > > _scanToTimesMap
 
std::map< String, std::set< uInt > > _intentToSpwsMap
 
std::map< String, std::set< Double > > _intentToTimesMap
 
std::shared_ptr< std::map< Int, std::set< Double > > > _fieldToTimesMap
 
std::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
 
std::shared_ptr< vector< Double > > _unflaggedFieldNACRows
 
std::shared_ptr< vector< Double > > _unflaggedFieldNXCRows
 
std::shared_ptr< std::map< SubScanKey, Double > > _unflaggedSubScanNACRows
 
std::shared_ptr< std::map< SubScanKey, Double > > _unflaggedSubScanNXCRows
 
const String _taqlTableName
 
const vector< const Table * > _taqlTempTable
 
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
 
std::map< SourceKey, SourceProperties_sourceInfo
 
std::shared_ptr< std::set< Int > > _ephemFields
 
std::shared_ptr< const Quantum< Vector< Double > > > _sourceTimes
 

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. Caching of MS main table columns has been removed because the cache can be swamped by columns for large MSes, meaning that smaller data structures, which are more computationally expensive to create, aren't cached. Also, the column data is usually only needed temporarily to compute smaller data structures, and the column data is not particularly expensive to recreate if necessary. Parallel processing is enabled using openmp.

Definition at line 61 of file MSMetaData.h.

Member Typedef Documentation

◆ FirstExposureTimeMap

Definition at line 89 of file MSMetaData.h.

Member Enumeration Documentation

◆ CorrelationType

for retrieving stats

Enumerator
AUTO 
CROSS 
BOTH 

Definition at line 66 of file MSMetaData.h.

◆ SQLDSwitch

Enumerator
SQLD_INCLUDE 
SQLD_EXCLUDE 
SQLD_ONLY 

Definition at line 72 of file MSMetaData.h.

Constructor & Destructor Documentation

◆ MSMetaData() [1/2]

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.

◆ ~MSMetaData()

virtual casacore::MSMetaData::~MSMetaData ( )
virtual

◆ MSMetaData() [2/2]

casacore::MSMetaData::MSMetaData ( const MSMetaData )
private

disallow copy constructor and = operator

Member Function Documentation

◆ _cacheUpdated()

Bool casacore::MSMetaData::_cacheUpdated ( const Float  incrementInBytes) const
private

◆ _checkField()

void casacore::MSMetaData::_checkField ( uInt  fieldID) const
private

◆ _checkScan()

void casacore::MSMetaData::_checkScan ( const ScanKey key) const
private

◆ _checkScans()

void casacore::MSMetaData::_checkScans ( const std::set< ScanKey > &  scanKeys) const
private

◆ _checkSubScan()

void casacore::MSMetaData::_checkSubScan ( const SubScanKey key) const
private

◆ _checkTolerance()

static void casacore::MSMetaData::_checkTolerance ( const Double  tol)
staticprivate

◆ _computeScanAndSubScanProperties()

void casacore::MSMetaData::_computeScanAndSubScanProperties ( std::shared_ptr< std::map< ScanKey, MSMetaData::ScanProperties > > &  scanProps,
std::shared_ptr< std::map< SubScanKey, MSMetaData::SubScanProperties > > &  subScanProps,
Bool  showProgress 
) const
private

◆ _createScanRecords()

void casacore::MSMetaData::_createScanRecords ( Record parent,
const ArrayKey arrayKey,
const std::map< SubScanKey, SubScanProperties > &  subScanProps 
) const
private

◆ _createSubScanRecords()

void casacore::MSMetaData::_createSubScanRecords ( Record parent,
rownr_t scanNRows,
std::set< Int > &  antennasForScan,
const ScanKey scanKey,
const std::map< SubScanKey, SubScanProperties > &  subScanProps 
) const
private

◆ _createTimeStampRecords()

static void casacore::MSMetaData::_createTimeStampRecords ( Record parent,
const SubScanProperties subScanProps 
)
staticprivate

◆ _freqWidthToVelWidth()

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.

◆ _generateScanPropsIfWanted()

std::shared_ptr<const std::map<ScanKey, ScanProperties> > casacore::MSMetaData::_generateScanPropsIfWanted ( ) const
private

if _scanProps has been generated, just return it.

If the caller has configured the object to generate _scanProps at some point, this call will generate it. Otherwise, the returned object contains a null pointer.

◆ _generateSubScanPropsIfWanted()

std::shared_ptr<const std::map<SubScanKey, SubScanProperties> > casacore::MSMetaData::_generateSubScanPropsIfWanted ( ) const
private

if _subScanProperties has been generated, just return it.

If the caller has configured the object to generate _subScanPropertiess at some point, this call will generate it. Otherwise, the returned object contains a null pointer.

◆ _getAntennaNames()

vector<String> casacore::MSMetaData::_getAntennaNames ( std::map< String, std::set< uInt > > &  namesToIDsMap) const
private

◆ _getAntennaPositions()

vector<MPosition> casacore::MSMetaData::_getAntennaPositions ( ) const
private

◆ _getAntennas()

void casacore::MSMetaData::_getAntennas ( std::shared_ptr< Vector< Int > > &  ant1,
std::shared_ptr< Vector< Int > > &  ant2 
) const
private

◆ _getArrayIDs()

std::shared_ptr<Vector<Int> > casacore::MSMetaData::_getArrayIDs ( ) const
private

◆ _getArrayKeysToSubScanKeys()

std::map<ArrayKey, std::set<SubScanKey> > casacore::MSMetaData::_getArrayKeysToSubScanKeys ( ) const
private

◆ _getChunkSubScanProperties()

std::pair<std::map<ScanKey, ScanProperties>, std::map<SubScanKey, SubScanProperties> > casacore::MSMetaData::_getChunkSubScanProperties ( const Vector< Int > &  scans,
const Vector< Int > &  fields,
const Vector< Int > &  ddIDs,
const Vector< Int > &  states,
const Vector< Double > &  times,
const Vector< Int > &  arrays,
const Vector< Int > &  observations,
const Vector< Int > &  ant1,
const Vector< Int > &  ant2,
const Quantum< Vector< Double > > &  exposureTimes,
const Quantum< Vector< Double > > &  intervalTimes,
const vector< uInt > &  ddIDToSpw,
rownr_t  beginRow,
rownr_t  endRow 
) const
private

Uses openmp for parallel processing.

◆ _getDataDescIDs()

std::shared_ptr<Vector<Int> > casacore::MSMetaData::_getDataDescIDs ( ) const
private

◆ _getEphemFieldIDs()

std::shared_ptr<std::set<Int> > casacore::MSMetaData::_getEphemFieldIDs ( ) const
private

get the field IDs of ephemeris objects

◆ _getExposureTimes()

std::shared_ptr<Quantum<Vector<Double> > > casacore::MSMetaData::_getExposureTimes ( ) const
private

◆ _getFieldIDs()

std::shared_ptr<Vector<Int> > casacore::MSMetaData::_getFieldIDs ( ) const
private

◆ _getFieldsAndIntentsMaps()

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.

◆ _getFieldsAndScansMaps()

void casacore::MSMetaData::_getFieldsAndScansMaps ( vector< std::set< ScanKey > > &  fieldToScansMap,
std::map< ScanKey, std::set< Int > > &  scanToFieldsMap 
) const
private

◆ _getFieldsAndSpwMaps()

void casacore::MSMetaData::_getFieldsAndSpwMaps ( std::map< Int, std::set< uInt > > &  fieldToSpwMap,
vector< std::set< Int > > &  spwToFieldMap 
) const
private

◆ _getFieldsAndStatesMaps()

void casacore::MSMetaData::_getFieldsAndStatesMaps ( std::map< Int, std::set< Int > > &  fieldToStatesMap,
std::map< Int, std::set< Int > > &  stateToFieldsMap 
)
private

◆ _getFieldsAndTimesMaps()

void casacore::MSMetaData::_getFieldsAndTimesMaps ( std::shared_ptr< std::map< Int, std::set< Double > > > &  fieldToTimesMap,
std::shared_ptr< std::map< Double, std::set< Int > > > &  timesToFieldMap 
)
private

◆ _getFlags()

std::shared_ptr<ArrayColumn<Bool> > casacore::MSMetaData::_getFlags ( ) const
private

◆ _getIntentsToTimesMap()

std::map<String, std::set<Double> > casacore::MSMetaData::_getIntentsToTimesMap ( ) const
private

◆ _getInterpolatedDirection()

MDirection casacore::MSMetaData::_getInterpolatedDirection ( const MSPointingColumns pCols,
const Int index,
const Double time 
) const
private

◆ _getIntervals()

std::shared_ptr<Quantum<Vector<Double> > > casacore::MSMetaData::_getIntervals ( ) const
private

◆ _getMainScalarColumn()

template<class T >
std::shared_ptr<Vector<T> > casacore::MSMetaData::_getMainScalarColumn ( MSMainEnums::PredefinedColumns  col) const
private

◆ _getObservationIDs()

std::shared_ptr<Vector<Int> > casacore::MSMetaData::_getObservationIDs ( ) const
private

◆ _getObservationIDToArrayIDsMap()

vector<std::set<Int> > casacore::MSMetaData::_getObservationIDToArrayIDsMap ( ) const
private

map<SubScanKey, Quantity> _getMeanExposureTimes() const;

◆ _getObservatoryPositions()

vector<MPosition> casacore::MSMetaData::_getObservatoryPositions ( )
private

◆ _getRowStats() [1/2]

void casacore::MSMetaData::_getRowStats ( rownr_t nACRows,
rownr_t nXCRows,
std::map< SubScanKey, rownr_t > *&  subScanToNACRowsMap,
std::map< SubScanKey, rownr_t > *&  subScanToNXCRowsMap,
std::map< Int, rownr_t > *&  fieldToNACRowsMap,
std::map< Int, rownr_t > *&  fieldToNXCRowsMap 
) const
private

◆ _getRowStats() [2/2]

void casacore::MSMetaData::_getRowStats ( rownr_t nACRows,
rownr_t nXCRows,
std::shared_ptr< std::map< SubScanKey, rownr_t > > &  scanToNACRowsMap,
std::shared_ptr< std::map< SubScanKey, rownr_t > > &  scanToNXCRowsMap,
std::shared_ptr< std::map< Int, rownr_t > > &  fieldToNACRowsMap,
std::shared_ptr< std::map< Int, rownr_t > > &  fieldToNXCRowsMap 
) const
private

◆ _getScalarDoubleColumn()

static void casacore::MSMetaData::_getScalarDoubleColumn ( Vector< Double > &  v,
TableProxy table,
const String colname,
rownr_t  beginRow,
rownr_t  nrows 
)
staticprivate

◆ _getScalarIntColumn()

static void casacore::MSMetaData::_getScalarIntColumn ( Vector< Int > &  v,
TableProxy table,
const String colname,
rownr_t  beginRow,
rownr_t  nrows 
)
staticprivate

◆ _getScalarQuantDoubleColumn()

static void casacore::MSMetaData::_getScalarQuantDoubleColumn ( Quantum< Vector< Double > > &  v,
TableProxy table,
const String colname,
rownr_t  beginRow,
rownr_t  nrows 
)
staticprivate

◆ _getScanAndSubScanProperties()

void casacore::MSMetaData::_getScanAndSubScanProperties ( std::shared_ptr< const std::map< ScanKey, ScanProperties > > &  scanProps,
std::shared_ptr< const std::map< SubScanKey, SubScanProperties > > &  subScanProps,
Bool  showProgress 
) const
private

◆ _getScanKeys()

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

◆ _getScanNumbers()

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

get all valid scan numbers associated with the specified arrayKey

◆ _getScanProperties()

std::shared_ptr<const std::map<ScanKey, MSMetaData::ScanProperties> > casacore::MSMetaData::_getScanProperties ( Bool  showProgress) const
private

get scan properties

◆ _getScans()

std::shared_ptr<Vector<Int> > casacore::MSMetaData::_getScans ( ) const
private

◆ _getScansAndDDIDMaps()

void casacore::MSMetaData::_getScansAndDDIDMaps ( std::map< ScanKey, std::set< uInt > > &  scanToDDIDMap,
vector< std::set< ScanKey > > &  ddIDToScanMap 
) const
private

◆ _getScansAndIntentsMaps()

void casacore::MSMetaData::_getScansAndIntentsMaps ( std::map< ScanKey, std::set< String > > &  scanToIntentsMap,
std::map< String, std::set< ScanKey > > &  intentToScansMap 
) const
private

◆ _getScansAndSpwMaps()

void casacore::MSMetaData::_getScansAndSpwMaps ( std::map< ScanKey, std::set< uInt > > &  scanToSpwMap,
vector< std::set< ScanKey > > &  spwToScanMap 
) const
private

◆ _getScanToAntennasMap()

std::map<ScanKey, std::set<Int> > casacore::MSMetaData::_getScanToAntennasMap ( ) const
private

◆ _getScanToSubScansMap()

std::map<ScanKey, std::set<SubScanKey> > casacore::MSMetaData::_getScanToSubScansMap ( ) const
private

◆ _getScanToTimesMap()

std::shared_ptr<std::map<ScanKey, std::set<Double> > > casacore::MSMetaData::_getScanToTimesMap ( ) const
private

◆ _getSourceInfo()

std::map<SourceKey, SourceProperties> casacore::MSMetaData::_getSourceInfo ( ) const
private

◆ _getSpwInfo()

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

◆ _getSpwInfo2()

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

◆ _getSpwsAndIntentsMaps()

void casacore::MSMetaData::_getSpwsAndIntentsMaps ( vector< std::set< String > > &  spwToIntentsMap,
std::map< String, std::set< uInt > > &  intentToSpwsMap 
)
private

◆ _getSpwToIntentsMap()

vector<std::set<String> > casacore::MSMetaData::_getSpwToIntentsMap ( )
private

◆ _getStateIDs()

std::shared_ptr<Vector<Int> > casacore::MSMetaData::_getStateIDs ( ) const
private

◆ _getStateToIntentsMap()

void casacore::MSMetaData::_getStateToIntentsMap ( vector< std::set< String > > &  statesToIntentsMap,
std::set< String > &  uniqueIntents 
) const
private

◆ _getStationNames()

vector<String> casacore::MSMetaData::_getStationNames ( )
private

◆ _getSubScanKeys() [1/2]

std::set<SubScanKey> casacore::MSMetaData::_getSubScanKeys ( ) const
private

◆ _getSubScanKeys() [2/2]

std::set<SubScanKey> casacore::MSMetaData::_getSubScanKeys ( const ScanKey scanKey) const
private

get subscans related to the given scan

◆ _getSubScansAndIntentsMaps()

void casacore::MSMetaData::_getSubScansAndIntentsMaps ( std::shared_ptr< const std::map< SubScanKey, std::set< String > > > &  subScanToIntentsMap,
std::map< String, std::set< SubScanKey > > &  intentToSubScansMap 
) const
private

◆ _getTimes()

std::shared_ptr<Vector<Double> > casacore::MSMetaData::_getTimes ( ) const
private

◆ _getTimeToTotalBWMap()

std::map<Double, Double> casacore::MSMetaData::_getTimeToTotalBWMap ( const Vector< Double > &  times,
const Vector< Int > &  ddIDs 
)
private

◆ _getUnflaggedRowStats() [1/2]

void casacore::MSMetaData::_getUnflaggedRowStats ( Double nACRows,
Double nXCRows,
std::shared_ptr< std::map< SubScanKey, Double > > &  subScanToNACRowsMap,
std::shared_ptr< std::map< SubScanKey, Double > > &  subScanToNXCRowsMap,
std::shared_ptr< vector< Double > > &  fieldToNACRowsMap,
std::shared_ptr< vector< Double > > &  fieldToNXCRowsMap 
) const
private

◆ _getUnflaggedRowStats() [2/2]

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

◆ _hasAntennaID()

void casacore::MSMetaData::_hasAntennaID ( Int  antennaID)
private

◆ _hasFieldID()

Bool casacore::MSMetaData::_hasFieldID ( Int  fieldID) const
private

◆ _hasIntent()

Bool casacore::MSMetaData::_hasIntent ( const String intent) const
private

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

◆ _hasStateID()

Bool casacore::MSMetaData::_hasStateID ( Int  stateID) const
private

◆ _mergeScanProps()

void casacore::MSMetaData::_mergeScanProps ( std::shared_ptr< std::map< ScanKey, MSMetaData::ScanProperties > > &  scanProps,
std::shared_ptr< std::map< SubScanKey, MSMetaData::SubScanProperties > > &  subScanProps,
const std::vector< std::pair< std::map< ScanKey, ScanProperties >, std::map< SubScanKey, SubScanProperties > > > &  props 
) const
private

◆ _modifyFirstExposureTimeIfNecessary() [1/2]

static void casacore::MSMetaData::_modifyFirstExposureTimeIfNecessary ( FirstExposureTimeMap current,
const FirstExposureTimeMap test 
)
staticprivate

◆ _modifyFirstExposureTimeIfNecessary() [2/2]

static void casacore::MSMetaData::_modifyFirstExposureTimeIfNecessary ( FirstExposureTimeMap current,
Int  dataDescID,
Double  time,
Double  exposure,
const Unit eunit 
)
staticprivate

◆ _setObservation()

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

set metadata from OBSERVATION table

◆ _setSpwInfo()

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();

◆ _sizeof() [1/13]

static uInt casacore::MSMetaData::_sizeof ( const Quantum< Vector< Double > > &  m)
staticprivate

◆ _sizeof() [2/13]

static uInt casacore::MSMetaData::_sizeof ( const std::map< Double, MSMetaData::TimeStampProperties > &  m)
staticprivate

◆ _sizeof() [3/13]

static uInt casacore::MSMetaData::_sizeof ( const std::map< std::pair< Int, uInt >, std::set< uInt > > &  map)
staticprivate

◆ _sizeof() [4/13]

template<class T >
static uInt casacore::MSMetaData::_sizeof ( const std::map< String, std::set< T > > &  map)
staticprivate

◆ _sizeof() [5/13]

template<class T >
static uInt casacore::MSMetaData::_sizeof ( const std::map< T, std::set< String > > &  m)
staticprivate

◆ _sizeof() [6/13]

template<class T , class U >
static uInt casacore::MSMetaData::_sizeof ( const std::map< T, std::set< U > > &  m)
staticprivate

◆ _sizeof() [7/13]

template<class T , class U >
static uInt casacore::MSMetaData::_sizeof ( const std::map< T, U > &  m)
staticprivate

◆ _sizeof() [8/13]

static uInt casacore::MSMetaData::_sizeof ( const vector< std::map< Int, Quantity > > &  map)
staticprivate

◆ _sizeof() [9/13]

static uInt casacore::MSMetaData::_sizeof ( const vector< std::set< String > > &  m)
staticprivate

◆ _sizeof() [10/13]

template<class T >
static uInt casacore::MSMetaData::_sizeof ( const vector< std::set< T > > &  v)
staticprivate

◆ _sizeof() [11/13]

static uInt casacore::MSMetaData::_sizeof ( const vector< String > &  m)
staticprivate

◆ _sizeof() [12/13]

template<class T >
static uInt casacore::MSMetaData::_sizeof ( const vector< T > &  v)
staticprivate

◆ _sizeof() [13/13]

static uInt casacore::MSMetaData::_sizeof ( const vector< vector< String > > &  m)
staticprivate

◆ _toUIntMap()

static std::map<Int, uInt> casacore::MSMetaData::_toUIntMap ( const Vector< Int > &  v)
staticprivate

◆ getAntennaDiameters()

QVD casacore::MSMetaData::getAntennaDiameters ( ) const

get the antenna diameters

◆ getAntennaID()

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

if the antenna name appears multiple times in the antenna table, the last ID that it is associated with is returned.

◆ getAntennaIDs() [1/2]

std::set<uInt> casacore::MSMetaData::getAntennaIDs ( const String antennaName) const

get all the antenna IDs for the antenna with the specified name.


◆ getAntennaIDs() [2/2]

vector<std::set<uInt> > casacore::MSMetaData::getAntennaIDs ( const vector< String > &  antennaNames) const

The returned IDs are ordered in the way they appear in the atenna table.

◆ getAntennaNames() [1/2]

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

◆ getAntennaNames() [2/2]

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

In the first instance of getAntennaNames, namesToID map will have the last ID of the antenna name, if it appears multiple times in the antenna table.

In the second occurrence, namesToIDsMap will have the full set of IDs for antenna names that appear multiple times.

◆ getAntennaOffset() [1/2]

QVD casacore::MSMetaData::getAntennaOffset ( const String name) const

If the antenna name appears mulitple times, this will return the offset for the first occurrence of it in the antenna table.

◆ getAntennaOffset() [2/2]

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

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.

◆ getAntennaOffsets() [1/2]

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

◆ getAntennaOffsets() [2/2]

std::vector<QVD> casacore::MSMetaData::getAntennaOffsets ( const String name) const

If the antenna name appears mulitple times, this will return all the offsets for it, in the order they appear in the antenna table.

◆ getAntennaPositions() [1/2]

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

names cannot be empty.

◆ getAntennaPositions() [2/2]

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.

◆ getAntennasForScan()

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

get the set of antenna IDs for the specified scan.

◆ getAntennaStations() [1/2]

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

get the antenna stations for the specified antenna names.

The outer vector is ordered respective to antennaNames. Because an antenna name can appear more than once in the antenna table, the inner vector is ordered by row number in which that antenna name appears.

◆ getAntennaStations() [2/2]

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

get the antenna stations for the specified antenna IDs

◆ getAverageIntervalsForScan()

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.

◆ getAverageIntervalsForSubScan()

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.

◆ getBandWidths()

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

◆ getBBCNos()

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

◆ getBBCNosToSpwMap()

std::map<uInt, std::set<uInt> > casacore::MSMetaData::getBBCNosToSpwMap ( SQLDSwitch  sqldSwitch)

◆ getCache()

Float casacore::MSMetaData::getCache ( ) const
inline

Definition at line 584 of file MSMetaData.h.

References _cacheMB.

◆ getCenterFreqs()

vector<Quantity> casacore::MSMetaData::getCenterFreqs ( ) const

◆ getChanEffectiveBWs()

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.

◆ getChanFreqs()

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

◆ getChannelAvgSpw()

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

ALMA-specific.

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

◆ getChanResolutions()

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.

◆ getChanWidths()

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

◆ getCorrBits()

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

◆ getCorrProducts()

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

POLARIZATION.CORR_PRODUCT.

◆ getCorrTypes()

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

POLARIZATION.CORR_TYPE.

◆ getDataDescIDToPolIDMap()

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

◆ getDataDescIDToSpwMap()

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

◆ getEdgeChans()

vector<vector<Double> > casacore::MSMetaData::getEdgeChans ( )

◆ getEffectiveTotalExposureTime()

Quantity casacore::MSMetaData::getEffectiveTotalExposureTime ( )

get the effective total exposure time.

This is the effective time spent collecting unflagged data.

◆ getFDMSpw()

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.

◆ getFieldCodes()

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

get the values of the CODE column from the field table

◆ getFieldIDsForField()

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

get the field IDs for the specified field name.

Case insensitive.

◆ getFieldIDsForSpw()

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

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

◆ getFieldNames()

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

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

◆ getFieldNamesForFieldIDs()

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.

◆ getFieldNamesForSourceMap()

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

◆ getFieldNamesForSpw()

std::set<String> casacore::MSMetaData::getFieldNamesForSpw ( const uInt  spw)

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

◆ getFieldsForIntent() [1/2]

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

get the field IDs associated with the specified intent.

◆ getFieldsForIntent() [2/2]

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

get the field IDs associated with the specified source.

◆ getFieldsForScan()

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

get field IDs associated with the specified scan number.

◆ getFieldsForScans() [1/2]

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

◆ getFieldsForScans() [2/2]

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

get the field IDs associated with the specified scans

◆ getFieldsForSourceMap()

std::map<Int, std::set<Int> > casacore::MSMetaData::getFieldsForSourceMap ( ) const

◆ getFieldsForTimes()

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)

◆ getFieldsToSpwsMap()

std::map<Int, std::set<uInt> > casacore::MSMetaData::getFieldsToSpwsMap ( ) const

get the mapping of fields to spws

◆ getFieldTableSourceIDs()

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

Get the FIELD.SOURCE_ID column.

◆ getFieldToScansMap()

vector<std::set<ScanKey> > casacore::MSMetaData::getFieldToScansMap ( ) const

get the mapping of field ID to scans

◆ getFirstExposureTimeMap()

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

DEPRECATED 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.

◆ getIntents()

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

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

◆ getIntentsForField() [1/2]

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

get a set of intents corresponding to a specified field

◆ getIntentsForField() [2/2]

std::set<String> casacore::MSMetaData::getIntentsForField ( String  field)

get a set of intents corresponding to a specified field name

◆ getIntentsForScan()

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

◆ getIntentsForSpw()

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

get a set of intents corresponding to the specified spectral window

◆ getIntentsForSubScan()

std::set<String> casacore::MSMetaData::getIntentsForSubScan ( const SubScanKey subScan) const

◆ getIntentToFieldsMap()

std::map<String, std::set<Int> > casacore::MSMetaData::getIntentToFieldsMap ( )

◆ getIntentToScansMap()

std::map<String, std::set<ScanKey> > casacore::MSMetaData::getIntentToScansMap ( )

◆ getIntentToSpwsMap()

std::map<String, std::set<uInt> > casacore::MSMetaData::getIntentToSpwsMap ( )

◆ getIntervalStatistics()

ColumnStats casacore::MSMetaData::getIntervalStatistics ( ) const

get statistics related to the values of the INTERVAL column.

Returned values are in seconds. All values in this column are used in the computation, including those which associated row flags may be set.

◆ getMaxCacheSizeMB()

Float casacore::MSMetaData::getMaxCacheSizeMB ( ) const
inline

max cache size in MB

Definition at line 455 of file MSMetaData.h.

References _maxCacheMB.

◆ getMeanFreqs()

vector<Quantity> casacore::MSMetaData::getMeanFreqs ( ) const

◆ getMS()

const MeasurementSet* casacore::MSMetaData::getMS ( ) const
inline

Definition at line 661 of file MSMetaData.h.

References _ms.

◆ getNetSidebands()

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

◆ getNRowMap()

std::shared_ptr<const std::map<SubScanKey, rownr_t> > casacore::MSMetaData::getNRowMap ( CorrelationType  type) const

◆ getNumCorrs()

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

number of correlations from the polarization table.

◆ getObservatoryNames()

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.

◆ getObservatoryPosition()

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

get the position of the specified telescope (observatory).

◆ getObservers()

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

get the contents of the OBSERVER column from the OBSERVATIONS table

◆ getPhaseDirs()

vector<MDirection> casacore::MSMetaData::getPhaseDirs ( const MEpoch ep = MEpoch(Quantity(0.0, Unit("s")))) const

get the phase directions from the FIELD subtable.

The ep parameter specifies for which epoch to return the directions of any ephemeris objects in the data set. It is ignored for non-ephemeris objects.

◆ getPointingDirection()

std::pair<MDirection, MDirection> casacore::MSMetaData::getPointingDirection ( Int ant1,
Int ant2,
Double time,
rownr_t  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

◆ getPolarizationIDs()

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

get polarization IDs for the specified scan and spwid

◆ getProjects()

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

get the contents of the PROJECT column from the OBSERVATIONS table

◆ getProperMotions()

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

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

◆ getReferenceDirection()

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.

◆ getRefFreqs()

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

◆ getRestFrequencies()

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

get rest frequencies from the SOURCE table

◆ getScanKeys() [1/2]

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

get all ScanKeys in the dataset

◆ getScanKeys() [2/2]

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.

◆ getScanNumbers()

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

get unique scan numbers

◆ getScansForField()

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.

◆ getScansForFieldID()

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

get the scan numbers associated with the specified field ID.

◆ getScansForIntent()

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

get the scans associated with the specified intent

◆ getScansForSpw()

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

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

◆ getScansForState()

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.

◆ getScansForTimes()

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.

◆ getScanToFirstExposureTimeMap()

std::map<ScanKey, FirstExposureTimeMap> casacore::MSMetaData::getScanToFirstExposureTimeMap ( Bool  showProgress) const

get map of scans to first exposure times

◆ getScanToSpwsMap()

std::map<ScanKey, std::set<uInt> > casacore::MSMetaData::getScanToSpwsMap ( ) const

get the complete mapping of scans to spws

◆ getScanToStatesMap()

std::map<ScanKey, std::set<Int> > casacore::MSMetaData::getScanToStatesMap ( ) const

get the mapping of scans to states

◆ getScanToTimeRangeMap()

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

get the map of scans to time ranges.

◆ getSchedules()

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

◆ getSourceDirections()

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

SOURCE.DIRECTION.

◆ getSourceNames()

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

SOURCE.NAME.

◆ getSourceTableSourceIDs()

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.

◆ getSourceTimes()

std::shared_ptr<const Quantum<Vector<Double> > > casacore::MSMetaData::getSourceTimes ( ) const

SOURCE.TIME.

◆ getSpwIDPolIDToDataDescIDMap()

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

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

◆ getSpwIDs()

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.

◆ getSpwNames()

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

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

◆ getSpwsForField() [1/2]

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

get a set of spectral windows corresponding to the specified fieldID

◆ getSpwsForField() [2/2]

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

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

◆ getSpwsForIntent()

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

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

◆ getSpwsForScan()

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

get the set of spectral windows for the specified scan.

◆ getSpwsForSubScan()

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

get the set of spectral windows for the specified subscan.

◆ getSpwToDataDescriptionIDMap()

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

get a mapping of spectral window ID to data descrption IDs

◆ getSpwToScansMap()

std::vector<std::set<ScanKey> > casacore::MSMetaData::getSpwToScansMap ( ) const

get the complete mapping of spws to scans

◆ getSpwToTimesForScan()

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

◆ getSQLDSpw()

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

ALMA-specific.

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

◆ getStatesForScan()

std::set<Int> casacore::MSMetaData::getStatesForScan ( Int  obsID,
Int  arrayID,
Int  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.

◆ getSubScanKeys()

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

get all sub scan keys for the specified array key.

◆ getSubScanProperties() [1/2]

std::shared_ptr<const std::map<SubScanKey, SubScanProperties> > casacore::MSMetaData::getSubScanProperties ( Bool  showProgress = False) const

◆ getSubScanProperties() [2/2]

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

get the sub scan properties for the specified sub scan.

◆ getSubScanToIntentsMap()

std::shared_ptr<const std::map<SubScanKey, std::set<String> > > casacore::MSMetaData::getSubScanToIntentsMap ( ) const

◆ getSummary()

Record casacore::MSMetaData::getSummary ( ) const

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

◆ getTDMSpw()

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

◆ getTimeRange()

std::pair<Double, Double> casacore::MSMetaData::getTimeRange ( Bool  showProgress = False) const

get the time range for the entire dataset.

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

◆ getTimeRangeForScan()

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))

◆ getTimeRangesOfObservations()

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

get the time ranges from the OBSERVATION table

◆ getTimesForField()

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

get the times for which the specified field was observed

◆ getTimesForIntent()

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

get the time stamps associated with the specified intent

◆ getTimesForScan()

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.

◆ getTimesForScans()

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

Get the times for the specified scans.

◆ getTimesForSpws()

std::vector<std::set<Double> > casacore::MSMetaData::getTimesForSpws ( Bool  showProgress = True) const

get a map of spectral windows to unique timestamps.

◆ getTransitions()

std::map<SourceKey, std::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.

◆ getUniqueAntennaIDs()

const std::set<Int>& casacore::MSMetaData::getUniqueAntennaIDs ( ) const

get the unique antennas (the union of the ANTENNA_1 and ANTENNA_2 columns) from the main table

◆ getUniqueBaselines()

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.

◆ getUniqueDataDescIDs()

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

get unique data description IDs that exist in the main table

◆ getUniqueFiedIDs()

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

DEPRECATED because of spelling error.

Use getUniqueFieldIDs() instead.

Definition at line 636 of file MSMetaData.h.

References getUniqueFieldIDs().

◆ getUniqueFieldIDs()

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

get unique field IDs that exist in the main table.

Referenced by getUniqueFiedIDs().

◆ getUniqueSpwIDs()

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

get the unique spectral window IDs represented by the data description IDs that appear in the main table

◆ getWVRSpw()

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

ALMA-specific.

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

◆ hasBBCNo()

Bool casacore::MSMetaData::hasBBCNo ( ) const

◆ nAntennas()

uInt casacore::MSMetaData::nAntennas ( ) const

get the number of antennas in the ANTENNA table

◆ nArrays()

uInt casacore::MSMetaData::nArrays ( )

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

◆ nBaselines()

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.

◆ nChans()

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

◆ nDataDescriptions()

uInt casacore::MSMetaData::nDataDescriptions ( ) const

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

◆ nFields()

uInt casacore::MSMetaData::nFields ( ) const

get the number of fields.

◆ nObservations()

uInt casacore::MSMetaData::nObservations ( ) const

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

◆ nPol()

uInt casacore::MSMetaData::nPol ( )

◆ nRows() [1/4]

rownr_t casacore::MSMetaData::nRows ( ) const

get the number of visibilities

◆ nRows() [2/4]

rownr_t casacore::MSMetaData::nRows ( CorrelationType  cType)

◆ nRows() [3/4]

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

◆ nRows() [4/4]

rownr_t casacore::MSMetaData::nRows ( CorrelationType  cType,
uInt  fieldID 
) const

◆ nScans()

uInt casacore::MSMetaData::nScans ( )

get the number of scans in the dataset

◆ nSpw()

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

get number of spectral windows

◆ nStates()

uInt casacore::MSMetaData::nStates ( ) const

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

◆ nUnflaggedRows() [1/4]

Double casacore::MSMetaData::nUnflaggedRows ( ) const

get the number of unflagged rows

◆ nUnflaggedRows() [2/4]

Double casacore::MSMetaData::nUnflaggedRows ( CorrelationType  cType) const

◆ nUnflaggedRows() [3/4]

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

◆ nUnflaggedRows() [4/4]

Double casacore::MSMetaData::nUnflaggedRows ( CorrelationType  cType,
Int  fieldID 
) const

◆ nUniqueSourceIDsFromSourceTable()

uInt casacore::MSMetaData::nUniqueSourceIDsFromSourceTable ( ) const

Number of unique values from SOURCE.SOURCE_ID.

◆ operator=()

MSMetaData casacore::MSMetaData::operator= ( const MSMetaData )
private

◆ phaseDirFromFieldIDAndTime()

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.

◆ setForceSubScanPropsToCache()

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 518 of file MSMetaData.h.

References _forceSubScanPropsToCache.

◆ setShowProgress()

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

Definition at line 663 of file MSMetaData.h.

References _showProgress.

Member Data Documentation

◆ _antennaDiameters

QVD casacore::MSMetaData::_antennaDiameters
mutableprivate

Definition at line 775 of file MSMetaData.h.

◆ _antennaNames

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

Definition at line 760 of file MSMetaData.h.

◆ _antennaNameToIDMap

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

Definition at line 740 of file MSMetaData.h.

◆ _antennaOffsets

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

Definition at line 774 of file MSMetaData.h.

◆ _antennaPositions

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

Definition at line 773 of file MSMetaData.h.

◆ _arrayKeys

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

Definition at line 788 of file MSMetaData.h.

◆ _arrayToSubScans

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

Definition at line 792 of file MSMetaData.h.

◆ _avgSpw

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

Definition at line 750 of file MSMetaData.h.

◆ _cacheMB

Float casacore::MSMetaData::_cacheMB
mutableprivate

Definition at line 729 of file MSMetaData.h.

Referenced by getCache().

◆ _corrProds

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

Definition at line 764 of file MSMetaData.h.

◆ _corrTypes

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

Definition at line 763 of file MSMetaData.h.

◆ _dataDescIDToPolIDMap

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

Definition at line 735 of file MSMetaData.h.

◆ _dataDescIDToSpwMap

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

Definition at line 735 of file MSMetaData.h.

◆ _ddidToScansMap

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

Definition at line 758 of file MSMetaData.h.

◆ _ephemFields

std::shared_ptr<std::set<Int> > casacore::MSMetaData::_ephemFields
mutableprivate

Definition at line 801 of file MSMetaData.h.

◆ _exposureTime

Quantity casacore::MSMetaData::_exposureTime
private

Definition at line 777 of file MSMetaData.h.

◆ _fdmSpw

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

Definition at line 750 of file MSMetaData.h.

◆ _field_sourceIDs

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

Definition at line 786 of file MSMetaData.h.

◆ _fieldCodes

vector<String> casacore::MSMetaData::_fieldCodes
private

Definition at line 761 of file MSMetaData.h.

◆ _fieldNames

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

Definition at line 760 of file MSMetaData.h.

◆ _fieldToIntentsMap

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

Definition at line 755 of file MSMetaData.h.

◆ _fieldToNACRowsMap

std::shared_ptr<std::map<Int, rownr_t> > casacore::MSMetaData::_fieldToNACRowsMap
mutableprivate

Definition at line 752 of file MSMetaData.h.

◆ _fieldToNXCRowsMap

std::shared_ptr<std::map<Int, rownr_t> > casacore::MSMetaData::_fieldToNXCRowsMap
private

Definition at line 752 of file MSMetaData.h.

◆ _fieldToScansMap

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

Definition at line 758 of file MSMetaData.h.

◆ _fieldToSpwMap

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

Definition at line 736 of file MSMetaData.h.

◆ _fieldToStatesMap

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

Definition at line 738 of file MSMetaData.h.

◆ _fieldToTimesMap

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

Definition at line 770 of file MSMetaData.h.

◆ _firstExposureTimeMap

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

Definition at line 785 of file MSMetaData.h.

◆ _forceSubScanPropsToCache

Bool casacore::MSMetaData::_forceSubScanPropsToCache
private

Definition at line 784 of file MSMetaData.h.

Referenced by setForceSubScanPropsToCache().

◆ _intentToFieldIDMap

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

Definition at line 744 of file MSMetaData.h.

◆ _intentToScansMap

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

Definition at line 745 of file MSMetaData.h.

◆ _intentToSpwsMap

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

Definition at line 767 of file MSMetaData.h.

◆ _intentToSubScansMap

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

Definition at line 746 of file MSMetaData.h.

◆ _intentToTimesMap

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

Definition at line 768 of file MSMetaData.h.

◆ _maxCacheMB

const Float casacore::MSMetaData::_maxCacheMB
private

Definition at line 730 of file MSMetaData.h.

Referenced by getMaxCacheSizeMB().

◆ _ms

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 727 of file MSMetaData.h.

Referenced by getMS().

◆ _nACRows

rownr_t casacore::MSMetaData::_nACRows
mutableprivate

Definition at line 731 of file MSMetaData.h.

◆ _nAntennas

uInt casacore::MSMetaData::_nAntennas
private

Definition at line 732 of file MSMetaData.h.

◆ _nArrays

uInt casacore::MSMetaData::_nArrays
private

Definition at line 733 of file MSMetaData.h.

◆ _nDataDescIDs

uInt casacore::MSMetaData::_nDataDescIDs
private

Definition at line 733 of file MSMetaData.h.

◆ _nFields

uInt casacore::MSMetaData::_nFields
private

Definition at line 732 of file MSMetaData.h.

◆ _nObservations

uInt casacore::MSMetaData::_nObservations
private

Definition at line 733 of file MSMetaData.h.

◆ _nPol

uInt casacore::MSMetaData::_nPol
private

Definition at line 733 of file MSMetaData.h.

◆ _nrows

uInt casacore::MSMetaData::_nrows
private

Definition at line 733 of file MSMetaData.h.

◆ _nScans

uInt casacore::MSMetaData::_nScans
private

Definition at line 733 of file MSMetaData.h.

◆ _nSpw

uInt casacore::MSMetaData::_nSpw
private

Definition at line 732 of file MSMetaData.h.

◆ _nStates

uInt casacore::MSMetaData::_nStates
mutableprivate

Definition at line 732 of file MSMetaData.h.

◆ _numCorrs

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

Definition at line 786 of file MSMetaData.h.

◆ _nUnflaggedACRows

Double casacore::MSMetaData::_nUnflaggedACRows
mutableprivate

Definition at line 778 of file MSMetaData.h.

◆ _nUnflaggedXCRows

Double casacore::MSMetaData::_nUnflaggedXCRows
private

Definition at line 778 of file MSMetaData.h.

◆ _nXCRows

rownr_t casacore::MSMetaData::_nXCRows
private

Definition at line 731 of file MSMetaData.h.

◆ _observatoryNames

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

Definition at line 760 of file MSMetaData.h.

◆ _observatoryPositions

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

Definition at line 773 of file MSMetaData.h.

◆ _observers

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

Definition at line 761 of file MSMetaData.h.

◆ _obsToArraysMap

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

Definition at line 757 of file MSMetaData.h.

◆ _phaseDirs

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

Definition at line 796 of file MSMetaData.h.

◆ _projects

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

Definition at line 761 of file MSMetaData.h.

◆ _properMotions

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

Definition at line 798 of file MSMetaData.h.

◆ _scanKeys

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

Definition at line 789 of file MSMetaData.h.

◆ _scanProperties

std::shared_ptr<const std::map<ScanKey, ScanProperties> > casacore::MSMetaData::_scanProperties
mutableprivate

Definition at line 741 of file MSMetaData.h.

◆ _scanSpwToPolIDMap

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

Definition at line 747 of file MSMetaData.h.

◆ _scanToAntennasMap

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

Definition at line 737 of file MSMetaData.h.

◆ _scanToDDIDsMap

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

Definition at line 734 of file MSMetaData.h.

◆ _scanToFieldsMap

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

Definition at line 737 of file MSMetaData.h.

◆ _scanToIntentsMap

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

Definition at line 753 of file MSMetaData.h.

◆ _scanToSpwsMap

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

Definition at line 734 of file MSMetaData.h.

◆ _scanToStatesMap

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

Definition at line 737 of file MSMetaData.h.

◆ _scanToSubScans

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

Definition at line 791 of file MSMetaData.h.

◆ _scanToTimesMap

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

Definition at line 766 of file MSMetaData.h.

◆ _schedules

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

Definition at line 762 of file MSMetaData.h.

◆ _showProgress

Bool casacore::MSMetaData::_showProgress
private

Definition at line 728 of file MSMetaData.h.

Referenced by setShowProgress().

◆ _source_sourceIDs

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

Definition at line 786 of file MSMetaData.h.

◆ _sourceDirs

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

Definition at line 796 of file MSMetaData.h.

◆ _sourceInfo

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

Definition at line 800 of file MSMetaData.h.

◆ _sourceNames

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

Definition at line 761 of file MSMetaData.h.

◆ _sourceTimes

std::shared_ptr<const Quantum<Vector<Double> > > casacore::MSMetaData::_sourceTimes
mutableprivate

Definition at line 802 of file MSMetaData.h.

◆ _sourceToFieldsMap

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

Definition at line 738 of file MSMetaData.h.

◆ _spwInfo

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

Definition at line 756 of file MSMetaData.h.

◆ _spwInfoStored

Bool casacore::MSMetaData::_spwInfoStored
mutableprivate

Definition at line 784 of file MSMetaData.h.

◆ _spwPolIDToDataDescIDMap

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

Definition at line 739 of file MSMetaData.h.

◆ _spwToFieldIDsMap

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

Definition at line 757 of file MSMetaData.h.

◆ _spwToIntentsMap

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

Definition at line 755 of file MSMetaData.h.

◆ _spwToScansMap

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

Definition at line 758 of file MSMetaData.h.

◆ _sqldSpw

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

Definition at line 750 of file MSMetaData.h.

◆ _stateToFieldsMap

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

Definition at line 738 of file MSMetaData.h.

◆ _stateToIntentsMap

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

Definition at line 755 of file MSMetaData.h.

◆ _stationNames

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

Definition at line 761 of file MSMetaData.h.

◆ _subScanProperties

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

Definition at line 742 of file MSMetaData.h.

◆ _subscans

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

Definition at line 790 of file MSMetaData.h.

◆ _subScanToIntentsMap

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

Definition at line 754 of file MSMetaData.h.

◆ _subScanToNACRowsMap

std::shared_ptr<std::map<SubScanKey, rownr_t> > casacore::MSMetaData::_subScanToNACRowsMap
mutableprivate

Definition at line 751 of file MSMetaData.h.

◆ _subScanToNXCRowsMap

std::shared_ptr<std::map<SubScanKey, rownr_t> > casacore::MSMetaData::_subScanToNXCRowsMap
private

Definition at line 751 of file MSMetaData.h.

◆ _taqlTableName

const String casacore::MSMetaData::_taqlTableName
private

Definition at line 781 of file MSMetaData.h.

◆ _taqlTempTable

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

Definition at line 782 of file MSMetaData.h.

◆ _tdmSpw

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

Definition at line 750 of file MSMetaData.h.

◆ _timeRangesForObs

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

Definition at line 794 of file MSMetaData.h.

◆ _timeToFieldsMap

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

Definition at line 771 of file MSMetaData.h.

◆ _unflaggedFieldNACRows

std::shared_ptr<vector<Double> > casacore::MSMetaData::_unflaggedFieldNACRows
mutableprivate

Definition at line 779 of file MSMetaData.h.

◆ _unflaggedFieldNXCRows

std::shared_ptr<vector<Double> > casacore::MSMetaData::_unflaggedFieldNXCRows
private

Definition at line 779 of file MSMetaData.h.

◆ _unflaggedSubScanNACRows

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

Definition at line 780 of file MSMetaData.h.

◆ _unflaggedSubScanNXCRows

std::shared_ptr<std::map<SubScanKey, Double> > casacore::MSMetaData::_unflaggedSubScanNXCRows
private

Definition at line 780 of file MSMetaData.h.

◆ _uniqueAntennaIDs

std::set<Int> casacore::MSMetaData::_uniqueAntennaIDs
private

Definition at line 749 of file MSMetaData.h.

◆ _uniqueBaselines

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

Definition at line 776 of file MSMetaData.h.

◆ _uniqueDataDescIDs

std::set<uInt> casacore::MSMetaData::_uniqueDataDescIDs
private

Definition at line 750 of file MSMetaData.h.

◆ _uniqueFieldIDs

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

Definition at line 749 of file MSMetaData.h.

◆ _uniqueIntents

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

Definition at line 748 of file MSMetaData.h.

◆ _uniqueStateIDs

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

Definition at line 749 of file MSMetaData.h.

◆ _wvrSpw

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

Definition at line 750 of file MSMetaData.h.


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