casacore::MSMetaData Class Reference

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

#include <MSMetaData.h>

List of all members.

Classes

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.
virtual ~MSMetaData ()
QVD getAntennaDiameters () const
 get the antenna diameters
uInt getAntennaID (const String &antennaName) const
 get the antenna ID for the antenna with the specified name.
vector< uIntgetAntennaIDs (const vector< String > &antennaNames) const
vector< StringgetAntennaNames (std::map< String, uInt > &namesToIDsMap, const vector< uInt > &antennaIDs=vector< uInt >(0)) const
 get the name of the antenna for the specified antenna ID
vector< StringgetAntennaStations (const vector< uInt > &antennaIDs=vector< uInt >())
 get the antenna stations for the specified antenna IDs
vector< StringgetAntennaStations (const vector< String > &antennaNames)
 get the antenna stations for the specified antenna names
std::set< IntgetAntennasForScan (const ScanKey &scan) const
 get the set of antenna IDs for the specified scan.
vector< Array< Int > > getCorrProducts () const
 POLARIZATION.CORR_PRODUCT.
vector< vector< Int > > getCorrTypes () const
 POLARIZATION.CORR_TYPE.
vector< uIntgetDataDescIDToSpwMap () const
vector< uIntgetDataDescIDToPolIDMap () const
vector< IntgetFieldTableSourceIDs () const
 Get the FIELD.SOURCE_ID column.
vector< std::set< ScanKey > > getFieldToScansMap () const
 get the mapping of field ID to scans
std::map< String, std::set< Int > > getIntentToFieldsMap ()
std::map< String, std::set
< ScanKey > > 
getIntentToScansMap ()
std::map< String, std::set
< uInt > > 
getIntentToSpwsMap ()
std::set< StringgetIntentsForScan (const ScanKey &scan) const
std::set< StringgetIntentsForSubScan (const SubScanKey &subScan) const
SHARED_PTR< const std::map
< SubScanKey, std::set< String > > > 
getSubScanToIntentsMap () const
std::set< StringgetIntents () const
 get all intents, in no particular (nor guaranteed) order.
std::set< StringgetIntentsForField (Int fieldID)
 get a set of intents corresponding to a specified field
std::set< StringgetIntentsForSpw (const uInt spw)
 get a set of intents corresponding to the specified spectral window
vector< IntgetNumCorrs () const
 number of correlations from the polarization table.
vector< std::pair< Quantity,
Quantity > > 
getProperMotions () const
 SOURCE.PROPER_MOTION, first value in pair is longitudinal proper motion, second is latiduninal.
std::set< IntgetScanNumbers (Int obsID, Int arrayID) const
 get unique scan numbers
std::set< IntgetScansForState (Int stateID, Int obsID, Int arrayID) const
 get a set of scan numbers for the specified stateID, obsID, and arrayID.
std::map< ScanKey, std::set
< Int > > 
getScanToStatesMap () const
 get the mapping of scans to states
vector< MDirectiongetSourceDirections () const
 SOURCE.DIRECTION.
vector< StringgetSourceNames () const
 SOURCE.NAME.
vector< IntgetSourceTableSourceIDs () const
 Get the SOURCE.SOURCE_ID column.
virtual std::set< uIntgetSpwsForIntent (const String &intent)
 get a set of spectral windows for which the specified intent applies.
uInt nRows () const
 get the number of visibilities
uInt nRows (CorrelationType cType)
SHARED_PTR< const std::map
< SubScanKey, uInt > > 
getNRowMap (CorrelationType type) const
uInt nRows (CorrelationType cType, Int arrayID, Int observationID, Int scanNumber, Int fieldID) const
uInt nRows (CorrelationType cType, uInt fieldID) const
uInt nSpw (Bool includewvr) const
 get number of spectral windows
uInt nStates () const
 number of unique states (number of rows from the STATE table)
uInt nFields () const
 get the number of fields.
std::vector< std::set< uInt > > getSpwToDataDescriptionIDMap () const
 get a mapping of spectral window ID to data descrption IDs
std::set< uIntgetSpwsForField (const Int fieldID) const
 get a set of spectral windows corresponding to the specified fieldID
std::set< uIntgetSpwsForField (const String &fieldName)
 get a set of spectral windows corresponding to the specified field name
vector< StringgetFieldCodes () const
 get the values of the CODE column from the field table
std::set< IntgetFieldIDsForSpw (const uInt spw)
 get the set of field IDs corresponding to the specified spectral window.
std::set< StringgetFieldNamesForSpw (const uInt spw)
 get the set of field names corresponding to the specified spectral window.
std::map< Int, std::set< uInt > > getFieldsToSpwsMap () const
 get the mapping of fields to spws
std::map< SourceKey,
SHARED_PTR< vector< MFrequency > > > 
getRestFrequencies () const
 get rest frequencies from the SOURCE table
std::set< uIntgetSpwsForScan (const ScanKey &scan) const
 get the set of spectral windows for the specified scan.
std::set< uIntgetSpwsForSubScan (const SubScanKey &subScan) const
 get the set of spectral windows for the specified subscan.
std::set< IntgetScansForSpw (uInt spw, Int obsID, Int arrayID) const
 get the set of scan numbers for the specified spectral window.
std::map< ScanKey, std::set
< uInt > > 
getScanToSpwsMap () const
 get the complete mapping of scans to spws
std::vector< std::set< ScanKey > > getSpwToScansMap () const
 get the complete mapping of spws to scans
std::map< SourceKey,
SHARED_PTR< vector< String > > > 
getTransitions () const
 get the transitions from the SOURCE table.
uInt nAntennas () const
 get the number of antennas in the ANTENNA table
std::set< uIntgetTDMSpw ()
 ALMA-specific.
std::set< uIntgetFDMSpw ()
 ALMA-specific.
std::set< uIntgetChannelAvgSpw ()
 ALMA-specific.
std::set< uIntgetWVRSpw () const
 ALMA-specific.
std::set< uIntgetSQLDSpw ()
 ALMA-specific.
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.
std::set< DoublegetTimesForScans (std::set< ScanKey > scans) const
 Get the times for the specified scans.
std::set< DoublegetTimesForScan (const ScanKey &scan) const
 get the times for the specified scan.
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.
SHARED_PTR< const std::map
< ScanKey, std::pair< Double,
Double > > > 
getScanToTimeRangeMap () const
 get the map of scans to time ranges.
std::set< IntgetStatesForScan (Int obsID, Int arrayID, Int scan) const
 get the times for the specified scan std::set<Double> getTimesForScan(const uInt scan) const;
QVD getAntennaOffset (uInt which)
 get the position of the specified antenna relative to the observatory position.
QVD getAntennaOffset (const String &name)
vector< QVDgetAntennaOffsets () const
vector< MPositiongetAntennaPositions (const vector< uInt > &which=std::vector< uInt >(0)) const
 get the positions of the specified antennas.
vector< MPositiongetAntennaPositions (const vector< String > &names)
 names cannot be empty.
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.
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.
vector< uIntgetBBCNos () const
std::map< uInt, std::set< uInt > > getBBCNosToSpwMap (SQLDSwitch sqldSwitch)
vector< vector< Double > > getEdgeChans ()
MDirection phaseDirFromFieldIDAndTime (const uInt fieldID, const MEpoch &ep=MEpoch(Quantity(0.0, Unit("s")))) const
 Get the phase direction for a given field id and epoch interpolate polynomial if it is the field id is such or use ephemerides table if that is attached to that field id.
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.
std::set< IntgetFieldIDsForField (const String &field) const
 get the field IDs for the specified field name.
vector< StringgetFieldNames () const
 get a list of the field names in the order in which they appear in the FIELD table.
std::set< IntgetFieldsForScan (const ScanKey &scan) const
 get field IDs associated with the specified scan number.
std::set< IntgetFieldsForScans (const std::set< Int > &scans, Int obsID, Int arrayID) const
 get the field IDs associated with the specified scans
std::set< IntgetFieldsForScans (const std::set< ScanKey > &scans) const
 get the field IDs associated with the specified scans
std::set< IntgetFieldsForIntent (const String &intent)
 get the field IDs associated with the specified intent.
std::set< IntgetFieldsForIntent (uInt sourceID) const
 get the field IDs associated with the specified source.
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.
std::set< IntgetFieldsForTimes (Double center, Double tol)
 Get the fields which fail into the specified time range (center-tol to center+tol).
Float getMaxCacheSizeMB () const
 max cache size in MB
vector< StringgetObservatoryNames ()
 get telescope names in the order they are listed in the OBSERVATION table.
MPosition getObservatoryPosition (uInt which) const
 get the position of the specified telescope (observatory).
vector< MDirectiongetPhaseDirs (const MEpoch &ep=MEpoch(Quantity(0.0, Unit("s")))) const
 get the phase directions from the FIELD subtable.
std::set< ScanKeygetScanKeys () const
 get all ScanKeys in the dataset
std::set< ScanKeygetScanKeys (const ArrayKey &arrayKey) const
 get all ScanKeys in the dataset that have the specified arrayKey.
std::set< IntgetScansForIntent (const String &intent, Int obsID, Int arrayID) const
 get the scans associated with the specified intent
std::set< IntgetScansForFieldID (Int fieldID, Int obsID, Int arrayID) const
 get the scan numbers associated with the specified field ID.
std::set< IntgetScansForField (const String &field, Int obsID, Int arrayID) const
 get the scan numbers associated with the specified field.
std::map< std::pair< uInt,
uInt >, uInt
getSpwIDPolIDToDataDescIDMap () const
 The first value of the pair is spw, the second is polarization ID.
vector< StringgetSpwNames () const
 get a map of the spwIDs to spw names from the spw table
std::set< uIntgetSpwIDs () const
 get all the spws associated with the data description IDs listed in the main table.
std::set< SubScanKeygetSubScanKeys (const ArrayKey &arrayKey) const
 get all sub scan keys for the specified array key.
SubScanProperties getSubScanProperties (const SubScanKey &subScan, Bool showProgress=False) const
 get the sub scan properties for the specified sub scan.
SHARED_PTR< const std::map
< SubScanKey,
SubScanProperties > > 
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.
Record getSummary () const
 get a data structure, consumable by users, representing a summary of the dataset
std::set< DoublegetTimesForField (Int fieldID)
 get the times for which the specified field was observed
std::set< DoublegetTimesForIntent (const String &intent) const
 get the time stamps associated with the specified intent
Bool hasBBCNo () const
Matrix< BoolgetUniqueBaselines ()
 std::map<Double, Double> getExposuresForTimes() const;
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.
Quantity getEffectiveTotalExposureTime ()
 get the effective total exposure time.
uInt nScans ()
 get the number of scans in the dataset
uInt nObservations () const
 get the number of observations (from the OBSERVATIONS table) in the dataset
vector< StringgetObservers () const
 get the contents of the OBSERVER column from the OBSERVATIONS table
vector< StringgetProjects () const
 get the contents of the PROJECT column from the OBSERVATIONS table
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
vector< std::pair< MEpoch,
MEpoch > > 
getTimeRangesOfObservations () const
 get the time ranges from the OBSERVATION table
uInt nArrays ()
 get the number of arrays (from the ARRAY table) in the dataset
uInt nDataDescriptions () const
 get the number of data description IDs (from the DATA_DESCRIPTION table)
Double nUnflaggedRows () const
 get the number of unflagged rows
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.
vector< QVDgetChanFreqs () const
vector< QVDgetChanResolutions (Bool asVelWidths) const
 get the resolution for each channel.
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.
std::map< ScanKey,
FirstExposureTimeMap
getScanToFirstExposureTimeMap (Bool showProgress) const
 get map of scans to first exposure times
std::set< uIntgetPolarizationIDs (uInt obsID, Int arrayID, Int scan, uInt spwid) const
 get polarization IDs for the specified scan and spwid
const std::set< Int > & getUniqueAntennaIDs () const
 get the unique antennas (the union of the ANTENNA_1 and ANTENNA_2 columns) from the main table
std::set< uIntgetUniqueDataDescIDs () const
 get unique data description IDs that exist in the main table
std::set< IntgetUniqueFiedIDs () const
 DEPRECATED because of spelling error.
std::set< IntgetUniqueFieldIDs () const
 get unique field IDs that exist in the main table.
std::pair< MDirection, MDirectiongetPointingDirection (Int &ant1, Int &ant2, Double &time, uInt row, Bool interpolate=false, Int initialguess=0) const
 get the pointing directions associated with antenna1 and antenna2 for the specified row of the main MS table
std::pair< Double, DoublegetTimeRange (Bool showProgress=False) const
 get the time range for the entire dataset.
uInt nUniqueSourceIDsFromSourceTable () const
 Number of unique values from SOURCE.SOURCE_ID.
std::set< uIntgetUniqueSpwIDs () const
 get the unique spectral window IDs represented by the data description IDs that appear in the main table
const MeasurementSetgetMS () const
void setShowProgress (Bool b)

Private Member Functions

 MSMetaData (const MSMetaData &)
 disallow copy constructor and = operator
MSMetaData operator= (const MSMetaData &)
void _setSpwInfo (const MeasurementSet &ms)
 This comment from thunter in the original ValueMapping python class # Determine the number of polarizations for the first OBSERVE_TARGET intent.
void _setObservation (const MeasurementSet &ms)
 set metadata from OBSERVATION table
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 (SHARED_PTR< std::map< ScanKey, MSMetaData::ScanProperties > > &scanProps, SHARED_PTR< std::map< SubScanKey, MSMetaData::SubScanProperties > > &subScanProps, Bool showProgress) const
void _createScanRecords (Record &parent, const ArrayKey &arrayKey, const std::map< SubScanKey, SubScanProperties > &subScanProps) const
void _createSubScanRecords (Record &parent, uInt &scanNRows, std::set< Int > &antennasForScan, const ScanKey &scanKey, const std::map< SubScanKey, SubScanProperties > &subScanProps) const
SHARED_PTR< const map< ScanKey,
ScanProperties > > 
_generateScanPropsIfWanted () const
 if _scanProps has been generated, just return it.
SHARED_PTR< const map
< SubScanKey,
SubScanProperties > > 
_generateSubScanPropsIfWanted () const
 if _subScanProperties has been generated, just return it.
vector< String_getAntennaNames (std::map< String, uInt > &namesToIDsMap) const
vector< MPosition_getAntennaPositions () const
void _getAntennas (SHARED_PTR< Vector< Int > > &ant1, SHARED_PTR< Vector< Int > > &ant2) const
SHARED_PTR< Vector< Int > > _getArrayIDs () const
std::map< ArrayKey, std::set
< SubScanKey > > 
_getArrayKeysToSubScanKeys () const
pair< std::map< ScanKey,
ScanProperties >, std::map
< SubScanKey,
SubScanProperties > > 
_getChunkSubScanProperties (SHARED_PTR< const Vector< Int > > scans, SHARED_PTR< const Vector< Int > > fields, SHARED_PTR< const Vector< Int > > ddIDs, SHARED_PTR< const Vector< Int > > states, SHARED_PTR< const Vector< Double > > times, SHARED_PTR< const Vector< Int > > arrays, SHARED_PTR< const Vector< Int > > observations, SHARED_PTR< const Vector< Int > > ant1, SHARED_PTR< const Vector< Int > > ant2, SHARED_PTR< const Quantum< Vector< Double > > > exposureTimes, SHARED_PTR< const Quantum< Vector< Double > > > intervalTimes, const vector< uInt > &ddIDToSpw, uInt beginRow, uInt endRow) const
 Uses openmp for parallel processing.
SHARED_PTR< Vector< Int > > _getDataDescIDs () const
SHARED_PTR< std::set< Int > > _getEphemFieldIDs () const
 get the field IDs of ephemeris objects
SHARED_PTR< Quantum< Vector
< Double > > > 
_getExposureTimes () const
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.
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 (SHARED_PTR< std::map< Int, std::set< Double > > > &fieldToTimesMap, SHARED_PTR< std::map< Double, std::set< Int > > > &timesToFieldMap)
SHARED_PTR< ArrayColumn< Bool > > _getFlags () const
std::map< String, std::set
< Double > > 
_getIntentsToTimesMap () const
SHARED_PTR< Quantum< Vector
< Double > > > 
_getIntervals () const
SHARED_PTR< Vector< Int > > _getObservationIDs () const
SHARED_PTR< Vector< Int > > _getScans () const
vector< std::set< String > > _getSpwToIntentsMap ()
SHARED_PTR< Vector< Int > > _getStateIDs () const
SHARED_PTR< Vector< Double > > _getTimes () const
Bool _hasIntent (const String &intent) const
 SHARED_PTR<std::map<Double, TimeStampProperties> > _getTimeStampProperties() const;.
Bool _hasFieldID (Int fieldID) const
Bool _hasStateID (Int stateID) const
void _hasAntennaID (Int antennaID)
std::map< Double, Double_getTimeToTotalBWMap (const Vector< Double > &times, const Vector< Int > &ddIDs)
MDirection _getInterpolatedDirection (const ROMSPointingColumns &pCols, const Int &index, const Double &time) const
vector< std::set< Int > > _getObservationIDToArrayIDsMap () const
 map<SubScanKey, Quantity> _getMeanExposureTimes() const;
vector< MPosition_getObservatoryPositions ()
void _getRowStats (uInt &nACRows, uInt &nXCRows, std::map< SubScanKey, uInt > *&subScanToNACRowsMap, std::map< SubScanKey, uInt > *&subScanToNXCRowsMap, std::map< Int, uInt > *&fieldToNACRowsMap, std::map< Int, uInt > *&fieldToNXCRowsMap) const
void _getRowStats (uInt &nACRows, uInt &nXCRows, SHARED_PTR< std::map< SubScanKey, uInt > > &scanToNACRowsMap, SHARED_PTR< std::map< SubScanKey, uInt > > &scanToNXCRowsMap, SHARED_PTR< std::map< Int, uInt > > &fieldToNACRowsMap, SHARED_PTR< std::map< Int, uInt > > &fieldToNXCRowsMap) const
SHARED_PTR< const std::map
< ScanKey,
MSMetaData::ScanProperties > > 
_getScanProperties (Bool showProgress) const
 get scan properties
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
std::set< Int_getScanNumbers (const ArrayKey &arrayKey) const
 get all valid scan numbers associated with the specified arrayKey
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
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 (SHARED_PTR< const std::map< SubScanKey, std::set< String > > > &subScanToIntentsMap, std::map< String, std::set< SubScanKey > > &intentToSubScansMap) const
void _getScanAndSubScanProperties (SHARED_PTR< const std::map< ScanKey, ScanProperties > > &scanProps, 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
void _getUnflaggedRowStats (Double &nACRows, Double &nXCRows, SHARED_PTR< std::map< SubScanKey, Double > > &subScanToNACRowsMap, SHARED_PTR< std::map< SubScanKey, Double > > &subScanToNXCRowsMap, SHARED_PTR< vector< Double > > &fieldToNACRowsMap, SHARED_PTR< vector< Double > > &fieldToNXCRowsMap) const
void _getUnflaggedRowStats (Double &nACRows, Double &nXCRows, vector< Double > *&fieldNACRows, vector< Double > *&fieldNXCRows, std::map< SubScanKey, Double > *&scanNACRows, std::map< SubScanKey, Double > *&scanNXCRows) const
template<class T >
SHARED_PTR< Vector< T > > _getMainScalarColumn (MSMainEnums::PredefinedColumns col) const

Static Private Member Functions

static void _checkTolerance (const Double tol)
static void _createTimeStampRecords (Record &parent, const SubScanProperties &subScanProps)
static QVD _freqWidthToVelWidth (const QVD &v, const Quantity &refFreq)
 convert a QVD in frequency units to velocity units using the give reference frequency.
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.
Bool _showProgress
Float _cacheMB
const Float _maxCacheMB
uInt _nStates
uInt _nACRows
uInt _nXCRows
uInt _nSpw
uInt _nFields
uInt _nAntennas
uInt _nObservations
uInt _nScans
uInt _nArrays
uInt _nrows
uInt _nPol
uInt _nDataDescIDs
std::map< ScanKey, std::set
< uInt > > 
_scanToSpwsMap
std::map< ScanKey, std::set
< uInt > > 
_scanToDDIDsMap
vector< uInt_dataDescIDToSpwMap
vector< uInt_dataDescIDToPolIDMap
std::map< Int, std::set< uInt > > _fieldToSpwMap
std::map< ScanKey, std::set
< Int > > 
_scanToStatesMap
std::map< ScanKey, std::set
< Int > > 
_scanToFieldsMap
std::map< ScanKey, std::set
< Int > > 
_scanToAntennasMap
std::map< Int, std::set< Int > > _fieldToStatesMap
std::map< Int, std::set< Int > > _stateToFieldsMap
std::map< Int, std::set< Int > > _sourceToFieldsMap
std::map< std::pair< uInt,
uInt >, uInt
_spwPolIDToDataDescIDMap
std::map< String, uInt_antennaNameToIDMap
SHARED_PTR< const std::map
< ScanKey, ScanProperties > > 
_scanProperties
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
SHARED_PTR< Vector< Int > > _antenna1
SHARED_PTR< Vector< Int > > _antenna2
SHARED_PTR< Vector< Int > > _scans
SHARED_PTR< Vector< Int > > _fieldIDs
SHARED_PTR< Vector< Int > > _stateIDs
SHARED_PTR< Vector< Int > > _dataDescIDs
SHARED_PTR< Vector< Int > > _observationIDs
SHARED_PTR< Vector< Int > > _arrayIDs
SHARED_PTR< std::map
< SubScanKey, uInt > > 
_subScanToNACRowsMap
SHARED_PTR< std::map
< SubScanKey, uInt > > 
_subScanToNXCRowsMap
SHARED_PTR< std::map< Int, uInt > > _fieldToNACRowsMap
SHARED_PTR< std::map< Int, uInt > > _fieldToNXCRowsMap
std::map< ScanKey, std::set
< String > > 
_scanToIntentsMap
SHARED_PTR< const std::map
< SubScanKey, std::set< String > > > 
_subScanToIntentsMap
vector< std::set< String > > _stateToIntentsMap
vector< std::set< String > > _spwToIntentsMap
vector< std::set< String > > _fieldToIntentsMap
vector< SpwProperties_spwInfo
vector< std::set< Int > > _spwToFieldIDsMap
vector< std::set< Int > > _obsToArraysMap
vector< std::set< ScanKey > > _spwToScansMap
vector< std::set< ScanKey > > _ddidToScansMap
vector< std::set< ScanKey > > _fieldToScansMap
vector< String_fieldNames
vector< String_antennaNames
vector< String_observatoryNames
vector< String_stationNames
vector< String_observers
vector< String_projects
vector< String_sourceNames
vector< String_fieldCodes
vector< vector< String > > _schedules
vector< vector< Int > > _corrTypes
vector< Array< Int > > _corrProds
SHARED_PTR< Vector< Double > > _times
SHARED_PTR< Quantum< Vector
< Double > > > 
_exposures
SHARED_PTR< Quantum< Vector
< Double > > > 
_intervals
SHARED_PTR< std::map< ScanKey,
std::set< Double > > > 
_scanToTimesMap
std::map< String, std::set
< uInt > > 
_intentToSpwsMap
std::map< String, std::set
< Double > > 
_intentToTimesMap
SHARED_PTR< std::map< Int,
std::set< Double > > > 
_fieldToTimesMap
SHARED_PTR< std::map< Double,
std::set< Int > > > 
_timeToFieldsMap
vector< MPosition_observatoryPositions
vector< MPosition_antennaPositions
vector< QVD_antennaOffsets
QVD _antennaDiameters
Matrix< Bool_uniqueBaselines
Quantity _exposureTime
Double _nUnflaggedACRows
Double _nUnflaggedXCRows
SHARED_PTR< vector< Double > > _unflaggedFieldNACRows
SHARED_PTR< vector< Double > > _unflaggedFieldNXCRows
SHARED_PTR< std::map
< SubScanKey, Double > > 
_unflaggedSubScanNACRows
SHARED_PTR< std::map
< SubScanKey, Double > > 
_unflaggedSubScanNXCRows
const String _taqlTableName
const vector< const Table * > _taqlTempTable
SHARED_PTR< ArrayColumn< Bool > > _flagsColumn
Bool _spwInfoStored
Bool _forceSubScanPropsToCache
vector< std::map< Int, Quantity > > _firstExposureTimeMap
vector< Int_numCorrs
vector< Int_source_sourceIDs
vector< Int_field_sourceIDs
std::set< ArrayKey_arrayKeys
std::set< ScanKey_scanKeys
std::set< SubScanKey_subscans
std::map< ScanKey, std::set
< SubScanKey > > 
_scanToSubScans
std::map< ArrayKey, std::set
< SubScanKey > > 
_arrayToSubScans
vector< std::pair< MEpoch,
MEpoch > > 
_timeRangesForObs
vector< MDirection_phaseDirs
vector< MDirection_sourceDirs
vector< std::pair< Quantity,
Quantity > > 
_properMotions
std::map< SourceKey,
SourceProperties
_sourceInfo
SHARED_PTR< std::set< Int > > _ephemFields

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. Parallel processing is enabled using openmp.

Definition at line 55 of file MSMetaData.h.


Member Typedef Documentation

Definition at line 77 of file MSMetaData.h.


Member Enumeration Documentation

for retrieving stats

Enumerator:
AUTO 
CROSS 
BOTH 

Definition at line 60 of file MSMetaData.h.

Enumerator:
SQLD_INCLUDE 
SQLD_EXCLUDE 
SQLD_ONLY 

Definition at line 66 of file MSMetaData.h.


Constructor & Destructor Documentation

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

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

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

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

disallow copy constructor and = operator


Member Function Documentation

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

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.

SHARED_PTR<const 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.

SHARED_PTR<const 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.

vector<String> casacore::MSMetaData::_getAntennaNames ( std::map< String, uInt > &  namesToIDsMap  )  const [private]
vector<MPosition> casacore::MSMetaData::_getAntennaPositions (  )  const [private]
void casacore::MSMetaData::_getAntennas ( SHARED_PTR< Vector< Int > > &  ant1,
SHARED_PTR< Vector< Int > > &  ant2 
) const [private]
SHARED_PTR<Vector<Int> > casacore::MSMetaData::_getArrayIDs (  )  const [private]
std::map<ArrayKey, std::set<SubScanKey> > casacore::MSMetaData::_getArrayKeysToSubScanKeys (  )  const [private]
pair<std::map<ScanKey, ScanProperties>, std::map<SubScanKey, SubScanProperties> > casacore::MSMetaData::_getChunkSubScanProperties ( SHARED_PTR< const Vector< Int > >  scans,
SHARED_PTR< const Vector< Int > >  fields,
SHARED_PTR< const Vector< Int > >  ddIDs,
SHARED_PTR< const Vector< Int > >  states,
SHARED_PTR< const Vector< Double > >  times,
SHARED_PTR< const Vector< Int > >  arrays,
SHARED_PTR< const Vector< Int > >  observations,
SHARED_PTR< const Vector< Int > >  ant1,
SHARED_PTR< const Vector< Int > >  ant2,
SHARED_PTR< const Quantum< Vector< Double > > >  exposureTimes,
SHARED_PTR< const Quantum< Vector< Double > > >  intervalTimes,
const vector< uInt > &  ddIDToSpw,
uInt  beginRow,
uInt  endRow 
) const [private]

Uses openmp for parallel processing.

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_getDataDescIDs (  )  const [private]
SHARED_PTR<std::set<Int> > casacore::MSMetaData::_getEphemFieldIDs (  )  const [private]

get the field IDs of ephemeris objects

SHARED_PTR<Quantum<Vector<Double> > > casacore::MSMetaData::_getExposureTimes (  )  const [private]
SHARED_PTR<Vector<Int> > casacore::MSMetaData::_getFieldIDs (  )  const [private]
void casacore::MSMetaData::_getFieldsAndIntentsMaps ( vector< std::set< String > > &  fieldToIntentsMap,
std::map< String, std::set< Int > > &  intentToFieldsMap 
) [private]

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

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

map<SubScanKey, Quantity> _getMeanExposureTimes() const;

vector<MPosition> casacore::MSMetaData::_getObservatoryPositions (  )  [private]
void casacore::MSMetaData::_getRowStats ( uInt nACRows,
uInt nXCRows,
SHARED_PTR< std::map< SubScanKey, uInt > > &  scanToNACRowsMap,
SHARED_PTR< std::map< SubScanKey, uInt > > &  scanToNXCRowsMap,
SHARED_PTR< std::map< Int, uInt > > &  fieldToNACRowsMap,
SHARED_PTR< std::map< Int, uInt > > &  fieldToNXCRowsMap 
) const [private]
void casacore::MSMetaData::_getRowStats ( uInt nACRows,
uInt nXCRows,
std::map< SubScanKey, uInt > *&  subScanToNACRowsMap,
std::map< SubScanKey, uInt > *&  subScanToNXCRowsMap,
std::map< Int, uInt > *&  fieldToNACRowsMap,
std::map< Int, uInt > *&  fieldToNXCRowsMap 
) const [private]
void casacore::MSMetaData::_getScanAndSubScanProperties ( SHARED_PTR< const std::map< ScanKey, ScanProperties > > &  scanProps,
SHARED_PTR< const std::map< SubScanKey, SubScanProperties > > &  subScanProps,
Bool  showProgress 
) const [private]
std::set<ScanKey> casacore::MSMetaData::_getScanKeys ( const std::set< ScanKey > &  scanKeys,
const ArrayKey arrayKey 
) const [private]

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

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

get all valid scan numbers associated with the specified arrayKey

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

get scan properties

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

get subscans related to the given scan

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

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

Bool casacore::MSMetaData::_hasStateID ( Int  stateID  )  const [private]
static void casacore::MSMetaData::_modifyFirstExposureTimeIfNecessary ( FirstExposureTimeMap current,
Int  dataDescID,
Double  time,
Double  exposure,
const Unit eunit 
) [static, private]
static void casacore::MSMetaData::_modifyFirstExposureTimeIfNecessary ( FirstExposureTimeMap current,
const FirstExposureTimeMap test 
) [static, private]
void casacore::MSMetaData::_setObservation ( const MeasurementSet ms  )  [private]

set metadata from OBSERVATION table

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

This comment from thunter in the original ValueMapping python class # Determine the number of polarizations for the first OBSERVE_TARGET intent.

# Used by plotbandpass for BPOLY plots since the number of pols cannot be inferred # correctly from the caltable alone. You cannot not simply use the first row, because # it may be a pointing scan which may have different number of polarizations than what # the TARGET and BANDPASS calibrator will have. # -- T. Hunter uInt _getNumberOfPolarizations();

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

get the antenna diameters

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

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

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

get the name of the antenna for the specified antenna ID

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

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

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

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

names cannot be empty.

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.

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

get the set of antenna IDs for the specified scan.

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

get the antenna stations for the specified antenna names

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

get the antenna stations for the specified antenna IDs

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

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

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

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

vector<Double> casacore::MSMetaData::getBandWidths (  )  const
vector<uInt> casacore::MSMetaData::getBBCNos (  )  const
std::map<uInt, std::set<uInt> > casacore::MSMetaData::getBBCNosToSpwMap ( SQLDSwitch  sqldSwitch  ) 
Float casacore::MSMetaData::getCache (  )  const [inline]

Definition at line 540 of file MSMetaData.h.

References _cacheMB.

vector<Quantity> casacore::MSMetaData::getCenterFreqs (  )  const
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.

vector<QVD > casacore::MSMetaData::getChanFreqs (  )  const
std::set<uInt> casacore::MSMetaData::getChannelAvgSpw (  ) 

ALMA-specific.

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

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

get the resolution for each channel.

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

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

POLARIZATION.CORR_PRODUCT.

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

POLARIZATION.CORR_TYPE.

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

get the effective total exposure time.

This is the effective time spent collecting unflagged data.

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.

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

get the values of the CODE column from the field table

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

get the field IDs for the specified field name.

Case insensitive.

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

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

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

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

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

get the field names associated with the specified field IDs.

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

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

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

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

get the field IDs associated with the specified source.

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

get the field IDs associated with the specified intent.

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

get field IDs associated with the specified scan number.

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

get the field IDs associated with the specified scans

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

get the field IDs associated with the specified scans

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

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

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

get the mapping of fields to spws

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

Get the FIELD.SOURCE_ID column.

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

get the mapping of field ID to scans

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.

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

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

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

get a set of intents corresponding to a specified field

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

get a set of intents corresponding to the specified spectral window

std::set<String> casacore::MSMetaData::getIntentsForSubScan ( const SubScanKey subScan  )  const
std::map<String, std::set<Int> > casacore::MSMetaData::getIntentToFieldsMap (  ) 
std::map<String, std::set<ScanKey> > casacore::MSMetaData::getIntentToScansMap (  ) 
std::map<String, std::set<uInt> > casacore::MSMetaData::getIntentToSpwsMap (  ) 
Float casacore::MSMetaData::getMaxCacheSizeMB (  )  const [inline]

max cache size in MB

Definition at line 411 of file MSMetaData.h.

References _maxCacheMB.

vector<Quantity> casacore::MSMetaData::getMeanFreqs (  )  const
const MeasurementSet* casacore::MSMetaData::getMS (  )  const [inline]

Definition at line 617 of file MSMetaData.h.

References _ms.

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

number of correlations from the polarization table.

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

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

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

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

get the position of the specified telescope (observatory).

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

get the contents of the OBSERVER column from the OBSERVATIONS table

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.

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

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

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

get polarization IDs for the specified scan and spwid

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

get the contents of the PROJECT column from the OBSERVATIONS table

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

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

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

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

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

get rest frequencies from the SOURCE table

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

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

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

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

get all ScanKeys in the dataset

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

get unique scan numbers

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

get the scan numbers associated with the specified field.

Subclasses should not implement or override.

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

get the scan numbers associated with the specified field ID.

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

get the scans associated with the specified intent

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

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

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

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

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

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

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

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

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

get map of scans to first exposure times

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

get the complete mapping of scans to spws

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

get the mapping of scans to states

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

get the map of scans to time ranges.

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

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

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

SOURCE.DIRECTION.

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

SOURCE.NAME.

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

Get the SOURCE.SOURCE_ID column.

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

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

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

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

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

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

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

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

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

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

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

get a set of spectral windows corresponding to the specified fieldID

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

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

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

get the set of spectral windows for the specified scan.

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

get the set of spectral windows for the specified subscan.

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

get a mapping of spectral window ID to data descrption IDs

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

get the complete mapping of spws to scans

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

ALMA-specific.

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

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

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

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

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

get all sub scan keys for the specified array key.

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

get the sub scan properties for the specified sub scan.

SHARED_PTR<const std::map<SubScanKey, std::set<String> > > casacore::MSMetaData::getSubScanToIntentsMap (  )  const
Record casacore::MSMetaData::getSummary (  )  const

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

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

ALMA-specific.

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

std::pair<Double, Double> casacore::MSMetaData::getTimeRange ( 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))

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

get the time range for the specified scan.

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

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

get the time ranges from the OBSERVATION table

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

get the times for which the specified field was observed

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

get the time stamps associated with the specified intent

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

get the times for the specified scan.

The return values come from the TIME column.

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

Get the times for the specified scans.

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

get the transitions from the SOURCE table.

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

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

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.

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

get unique data description IDs that exist in the main table

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

DEPRECATED because of spelling error.

Use getUniqueFieldIDs() instead.

Definition at line 592 of file MSMetaData.h.

References getUniqueFieldIDs().

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

get unique field IDs that exist in the main table.

Referenced by getUniqueFiedIDs().

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

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

ALMA-specific.

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

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

get the number of antennas in the ANTENNA table

uInt casacore::MSMetaData::nArrays (  ) 

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

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.

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

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

uInt casacore::MSMetaData::nFields (  )  const

get the number of fields.

uInt casacore::MSMetaData::nObservations (  )  const

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

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

get the number of visibilities

uInt casacore::MSMetaData::nScans (  ) 

get the number of scans in the dataset

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

get number of spectral windows

uInt casacore::MSMetaData::nStates (  )  const

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

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

get the number of unflagged rows

uInt casacore::MSMetaData::nUniqueSourceIDsFromSourceTable (  )  const

Number of unique values from SOURCE.SOURCE_ID.

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

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

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

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

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

Definition at line 474 of file MSMetaData.h.

References _forceSubScanPropsToCache.

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

Definition at line 619 of file MSMetaData.h.

References _showProgress.


Member Data Documentation

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_antenna1 [mutable, private]

Definition at line 699 of file MSMetaData.h.

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_antenna2 [mutable, private]

Definition at line 699 of file MSMetaData.h.

Definition at line 727 of file MSMetaData.h.

vector<String> casacore::MSMetaData::_antennaNames [mutable, private]

Definition at line 710 of file MSMetaData.h.

std::map<String, uInt> casacore::MSMetaData::_antennaNameToIDMap [mutable, private]

Definition at line 688 of file MSMetaData.h.

vector<QVD > casacore::MSMetaData::_antennaOffsets [mutable, private]

Definition at line 726 of file MSMetaData.h.

Definition at line 725 of file MSMetaData.h.

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_arrayIDs [mutable, private]

Definition at line 699 of file MSMetaData.h.

std::set<ArrayKey> casacore::MSMetaData::_arrayKeys [mutable, private]

Definition at line 741 of file MSMetaData.h.

std::map<ArrayKey, std::set<SubScanKey> > casacore::MSMetaData::_arrayToSubScans [mutable, private]

Definition at line 745 of file MSMetaData.h.

std::set<uInt> casacore::MSMetaData::_avgSpw [mutable, private]

Definition at line 698 of file MSMetaData.h.

Definition at line 678 of file MSMetaData.h.

Referenced by getCache().

vector<Array<Int> > casacore::MSMetaData::_corrProds [mutable, private]

Definition at line 714 of file MSMetaData.h.

vector<vector<Int> > casacore::MSMetaData::_corrTypes [mutable, private]

Definition at line 713 of file MSMetaData.h.

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_dataDescIDs [mutable, private]

Definition at line 699 of file MSMetaData.h.

Definition at line 683 of file MSMetaData.h.

vector<uInt> casacore::MSMetaData::_dataDescIDToSpwMap [mutable, private]

Definition at line 683 of file MSMetaData.h.

vector<std::set<ScanKey> > casacore::MSMetaData::_ddidToScansMap [mutable, private]

Definition at line 708 of file MSMetaData.h.

SHARED_PTR<std::set<Int> > casacore::MSMetaData::_ephemFields [mutable, private]

Definition at line 754 of file MSMetaData.h.

SHARED_PTR<Quantum<Vector<Double> > > casacore::MSMetaData::_exposures [mutable, private]

Definition at line 717 of file MSMetaData.h.

Definition at line 729 of file MSMetaData.h.

std::set<uInt> casacore::MSMetaData::_fdmSpw [mutable, private]

Definition at line 698 of file MSMetaData.h.

vector<Int> casacore::MSMetaData::_field_sourceIDs [mutable, private]

Definition at line 739 of file MSMetaData.h.

vector<String> casacore::MSMetaData::_fieldCodes [mutable, private]

Definition at line 710 of file MSMetaData.h.

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_fieldIDs [mutable, private]

Definition at line 699 of file MSMetaData.h.

vector<String> casacore::MSMetaData::_fieldNames [mutable, private]

Definition at line 710 of file MSMetaData.h.

vector<std::set<String> > casacore::MSMetaData::_fieldToIntentsMap [mutable, private]

Definition at line 705 of file MSMetaData.h.

SHARED_PTR<std::map<Int, uInt> > casacore::MSMetaData::_fieldToNACRowsMap [mutable, private]

Definition at line 702 of file MSMetaData.h.

SHARED_PTR<std::map<Int, uInt> > casacore::MSMetaData::_fieldToNXCRowsMap [mutable, private]

Definition at line 702 of file MSMetaData.h.

vector<std::set<ScanKey> > casacore::MSMetaData::_fieldToScansMap [mutable, private]

Definition at line 708 of file MSMetaData.h.

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

Definition at line 684 of file MSMetaData.h.

std::map<Int, std::set<Int> > casacore::MSMetaData::_fieldToStatesMap [mutable, private]

Definition at line 686 of file MSMetaData.h.

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

Definition at line 722 of file MSMetaData.h.

Definition at line 738 of file MSMetaData.h.

SHARED_PTR<ArrayColumn<Bool> > casacore::MSMetaData::_flagsColumn [mutable, private]

Definition at line 735 of file MSMetaData.h.

Definition at line 737 of file MSMetaData.h.

Referenced by setForceSubScanPropsToCache().

std::map<String, std::set<Int> > casacore::MSMetaData::_intentToFieldIDMap [mutable, private]

Definition at line 692 of file MSMetaData.h.

std::map<String, std::set<ScanKey> > casacore::MSMetaData::_intentToScansMap [mutable, private]

Definition at line 693 of file MSMetaData.h.

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

Definition at line 719 of file MSMetaData.h.

std::map<String, std::set<SubScanKey> > casacore::MSMetaData::_intentToSubScansMap [mutable, private]

Definition at line 694 of file MSMetaData.h.

std::map<String, std::set<Double> > casacore::MSMetaData::_intentToTimesMap [mutable, private]

Definition at line 720 of file MSMetaData.h.

SHARED_PTR<Quantum<Vector<Double> > > casacore::MSMetaData::_intervals [mutable, private]

Definition at line 717 of file MSMetaData.h.

Definition at line 679 of file MSMetaData.h.

Referenced by getMaxCacheSizeMB().

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

Referenced by getMS().

Definition at line 680 of file MSMetaData.h.

Definition at line 680 of file MSMetaData.h.

Definition at line 680 of file MSMetaData.h.

Definition at line 680 of file MSMetaData.h.

Definition at line 680 of file MSMetaData.h.

Definition at line 680 of file MSMetaData.h.

uInt casacore::MSMetaData::_nPol [mutable, private]

Definition at line 680 of file MSMetaData.h.

uInt casacore::MSMetaData::_nrows [mutable, private]

Definition at line 680 of file MSMetaData.h.

uInt casacore::MSMetaData::_nScans [mutable, private]

Definition at line 680 of file MSMetaData.h.

uInt casacore::MSMetaData::_nSpw [mutable, private]

Definition at line 680 of file MSMetaData.h.

Definition at line 680 of file MSMetaData.h.

vector<Int> casacore::MSMetaData::_numCorrs [mutable, private]

Definition at line 739 of file MSMetaData.h.

Definition at line 730 of file MSMetaData.h.

Definition at line 730 of file MSMetaData.h.

Definition at line 680 of file MSMetaData.h.

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_observationIDs [mutable, private]

Definition at line 699 of file MSMetaData.h.

vector<String> casacore::MSMetaData::_observatoryNames [mutable, private]

Definition at line 710 of file MSMetaData.h.

Definition at line 725 of file MSMetaData.h.

vector<String> casacore::MSMetaData::_observers [mutable, private]

Definition at line 710 of file MSMetaData.h.

vector<std::set<Int> > casacore::MSMetaData::_obsToArraysMap [mutable, private]

Definition at line 707 of file MSMetaData.h.

vector<MDirection> casacore::MSMetaData::_phaseDirs [mutable, private]

Definition at line 749 of file MSMetaData.h.

vector<String> casacore::MSMetaData::_projects [mutable, private]

Definition at line 710 of file MSMetaData.h.

vector<std::pair<Quantity, Quantity> > casacore::MSMetaData::_properMotions [mutable, private]

Definition at line 751 of file MSMetaData.h.

std::set<ScanKey> casacore::MSMetaData::_scanKeys [mutable, private]

Definition at line 742 of file MSMetaData.h.

SHARED_PTR<const std::map<ScanKey, ScanProperties> > casacore::MSMetaData::_scanProperties [mutable, private]

Definition at line 689 of file MSMetaData.h.

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_scans [mutable, private]

Definition at line 699 of file MSMetaData.h.

std::map<std::pair<ScanKey, uInt>, std::set<uInt> > casacore::MSMetaData::_scanSpwToPolIDMap [mutable, private]

Definition at line 695 of file MSMetaData.h.

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

Definition at line 685 of file MSMetaData.h.

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

Definition at line 682 of file MSMetaData.h.

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

Definition at line 685 of file MSMetaData.h.

std::map<ScanKey, std::set<String> > casacore::MSMetaData::_scanToIntentsMap [mutable, private]

Definition at line 703 of file MSMetaData.h.

std::map<ScanKey, std::set<uInt> > casacore::MSMetaData::_scanToSpwsMap [mutable, private]

Definition at line 682 of file MSMetaData.h.

std::map<ScanKey, std::set<Int> > casacore::MSMetaData::_scanToStatesMap [mutable, private]

Definition at line 685 of file MSMetaData.h.

std::map<ScanKey, std::set<SubScanKey> > casacore::MSMetaData::_scanToSubScans [mutable, private]

Definition at line 744 of file MSMetaData.h.

SHARED_PTR<std::map<ScanKey, std::set<Double> > > casacore::MSMetaData::_scanToTimesMap [mutable, private]

Definition at line 718 of file MSMetaData.h.

vector<vector<String> > casacore::MSMetaData::_schedules [mutable, private]

Definition at line 712 of file MSMetaData.h.

Definition at line 677 of file MSMetaData.h.

Referenced by setShowProgress().

vector<Int> casacore::MSMetaData::_source_sourceIDs [mutable, private]

Definition at line 739 of file MSMetaData.h.

vector<MDirection> casacore::MSMetaData::_sourceDirs [mutable, private]

Definition at line 749 of file MSMetaData.h.

Definition at line 753 of file MSMetaData.h.

vector<String> casacore::MSMetaData::_sourceNames [mutable, private]

Definition at line 710 of file MSMetaData.h.

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

Definition at line 686 of file MSMetaData.h.

vector<SpwProperties> casacore::MSMetaData::_spwInfo [mutable, private]

Definition at line 706 of file MSMetaData.h.

Definition at line 737 of file MSMetaData.h.

std::map<std::pair<uInt, uInt>, uInt> casacore::MSMetaData::_spwPolIDToDataDescIDMap [mutable, private]

Definition at line 687 of file MSMetaData.h.

vector<std::set<Int> > casacore::MSMetaData::_spwToFieldIDsMap [mutable, private]

Definition at line 707 of file MSMetaData.h.

vector<std::set<String> > casacore::MSMetaData::_spwToIntentsMap [mutable, private]

Definition at line 705 of file MSMetaData.h.

vector<std::set<ScanKey> > casacore::MSMetaData::_spwToScansMap [mutable, private]

Definition at line 708 of file MSMetaData.h.

std::set<uInt> casacore::MSMetaData::_sqldSpw [mutable, private]

Definition at line 698 of file MSMetaData.h.

SHARED_PTR<Vector<Int> > casacore::MSMetaData::_stateIDs [mutable, private]

Definition at line 699 of file MSMetaData.h.

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

Definition at line 686 of file MSMetaData.h.

vector<std::set<String> > casacore::MSMetaData::_stateToIntentsMap [mutable, private]

Definition at line 705 of file MSMetaData.h.

vector<String> casacore::MSMetaData::_stationNames [mutable, private]

Definition at line 710 of file MSMetaData.h.

SHARED_PTR<const std::map<SubScanKey, SubScanProperties> > casacore::MSMetaData::_subScanProperties [mutable, private]

Definition at line 690 of file MSMetaData.h.

std::set<SubScanKey> casacore::MSMetaData::_subscans [mutable, private]

Definition at line 743 of file MSMetaData.h.

SHARED_PTR<const std::map<SubScanKey, std::set<String> > > casacore::MSMetaData::_subScanToIntentsMap [mutable, private]

Definition at line 704 of file MSMetaData.h.

SHARED_PTR<std::map<SubScanKey, uInt> > casacore::MSMetaData::_subScanToNACRowsMap [mutable, private]

Definition at line 701 of file MSMetaData.h.

SHARED_PTR<std::map<SubScanKey, uInt> > casacore::MSMetaData::_subScanToNXCRowsMap [mutable, private]

Definition at line 701 of file MSMetaData.h.

Definition at line 733 of file MSMetaData.h.

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

Definition at line 734 of file MSMetaData.h.

std::set<uInt> casacore::MSMetaData::_tdmSpw [mutable, private]

Definition at line 698 of file MSMetaData.h.

vector<std::pair<MEpoch, MEpoch> > casacore::MSMetaData::_timeRangesForObs [mutable, private]

Definition at line 747 of file MSMetaData.h.

SHARED_PTR<Vector<Double> > casacore::MSMetaData::_times [mutable, private]

Definition at line 716 of file MSMetaData.h.

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

Definition at line 723 of file MSMetaData.h.

SHARED_PTR<vector<Double> > casacore::MSMetaData::_unflaggedFieldNACRows [mutable, private]

Definition at line 731 of file MSMetaData.h.

SHARED_PTR<vector<Double> > casacore::MSMetaData::_unflaggedFieldNXCRows [mutable, private]

Definition at line 731 of file MSMetaData.h.

SHARED_PTR<std::map<SubScanKey, Double> > casacore::MSMetaData::_unflaggedSubScanNACRows [mutable, private]

Definition at line 732 of file MSMetaData.h.

SHARED_PTR<std::map<SubScanKey, Double> > casacore::MSMetaData::_unflaggedSubScanNXCRows [mutable, private]

Definition at line 732 of file MSMetaData.h.

std::set<Int> casacore::MSMetaData::_uniqueAntennaIDs [mutable, private]

Definition at line 697 of file MSMetaData.h.

Definition at line 728 of file MSMetaData.h.

std::set<uInt> casacore::MSMetaData::_uniqueDataDescIDs [mutable, private]

Definition at line 698 of file MSMetaData.h.

std::set<Int> casacore::MSMetaData::_uniqueFieldIDs [mutable, private]

Definition at line 697 of file MSMetaData.h.

std::set<String> casacore::MSMetaData::_uniqueIntents [mutable, private]

Definition at line 696 of file MSMetaData.h.

std::set<Int> casacore::MSMetaData::_uniqueStateIDs [mutable, private]

Definition at line 697 of file MSMetaData.h.

std::set<uInt> casacore::MSMetaData::_wvrSpw [mutable, private]

Definition at line 698 of file MSMetaData.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1