28 #ifndef MS_MSMETADATA_H
29 #define MS_MSMETADATA_H
43 template <
class T>
class ArrayColumn;
140 vector<std::set<uInt> >
getAntennaIDs(
const vector<String>& antennaNames)
const;
148 std::map<String, uInt>& namesToIDsMap,
149 const vector<uInt>& antennaIDs=vector<uInt>(0)
153 std::map<
String, std::set<uInt> >& namesToIDsMap,
154 const vector<uInt>& antennaIDs=vector<uInt>(0)
241 std::shared_ptr<const Quantum<Vector<Double> > >
getSourceTimes()
const;
256 Int scanNumber,
Int fieldID
292 std::map<SourceKey, std::shared_ptr<vector<MFrequency> > >
getRestFrequencies()
const;
311 std::map<SourceKey, std::shared_ptr<vector<String> > >
getTransitions()
const;
384 const vector<uInt>& which=std::vector<uInt>(0)
431 const std::set<Int>& scans,
Int obsID,
Int arrayID
612 vector<uInt>
nChans()
const;
647 Bool interpolate=
false,
Int initialguess=0
687 std::map<uInt, std::set<Double> >
times;
835 std::shared_ptr<std::map<ScanKey, MSMetaData::ScanProperties> >& scanProps,
836 std::shared_ptr<std::map<SubScanKey, MSMetaData::SubScanProperties> >& subScanProps,
856 std::shared_ptr<std::map<ScanKey, MSMetaData::ScanProperties> >& scanProps,
857 std::shared_ptr<std::map<SubScanKey, MSMetaData::SubScanProperties> >& subScanProps,
859 std::pair<std::map<ScanKey, ScanProperties>, std::map<SubScanKey, SubScanProperties> >
865 const std::map<SubScanKey, SubScanProperties>& subScanProps
869 Record& parent,
rownr_t& scanNRows, std::set<Int>& antennasForScan,
870 const ScanKey&
scanKey,
const std::map<SubScanKey, SubScanProperties>& subScanProps
892 std::shared_ptr<const std::map<SubScanKey, SubScanProperties> >
896 std::map<
String, std::set<uInt> >& namesToIDsMap
911 std::pair<std::map<ScanKey, ScanProperties>, std::map<SubScanKey, SubScanProperties> >
935 vector<std::set<String> >& fieldToIntentsMap,
936 std::map<
String, std::set<Int> >& intentToFieldsMap
940 vector<std::set<ScanKey> >& fieldToScansMap,
941 std::map<
ScanKey, std::set<Int> >& scanToFieldsMap
945 std::map<
Int, std::set<uInt> >& fieldToSpwMap,
946 vector<std::set<Int> >& spwToFieldMap
950 std::map<
Int, std::set<Int> >& fieldToStatesMap,
951 std::map<
Int, std::set<Int> >& stateToFieldsMap
955 std::shared_ptr<std::map<
Int, std::set<Double> > >& fieldToTimesMap,
956 std::shared_ptr<std::map<
Double, std::set<Int> > >& timesToFieldMap
959 std::shared_ptr<ArrayColumn<Bool> >
_getFlags()
const;
963 std::shared_ptr<Quantum<Vector<Double> > >
_getIntervals()
const;
967 std::shared_ptr<Vector<Int> >
_getScans()
const;
973 std::shared_ptr<Vector<Double> >
_getTimes()
const;
1002 std::map<SubScanKey, rownr_t>*& subScanToNACRowsMap,
1003 std::map<SubScanKey, rownr_t>*& subScanToNXCRowsMap,
1004 std::map<Int, rownr_t>*& fieldToNACRowsMap,
1005 std::map<Int, rownr_t>*& fieldToNXCRowsMap
1010 std::shared_ptr<std::map<SubScanKey, rownr_t> >& scanToNACRowsMap,
1011 std::shared_ptr<std::map<SubScanKey, rownr_t> >& scanToNXCRowsMap,
1012 std::shared_ptr<std::map<Int, rownr_t> >& fieldToNACRowsMap,
1013 std::shared_ptr<std::map<Int, rownr_t> >& fieldToNXCRowsMap
1017 std::shared_ptr<const std::map<ScanKey, MSMetaData::ScanProperties> >
_getScanProperties(
1030 std::map<
ScanKey, std::set<uInt> >& scanToDDIDMap,
1031 vector<std::set<ScanKey> >& ddIDToScanMap
1035 std::map<
ScanKey, std::set<String> >& scanToIntentsMap,
1036 std::map<
String, std::set<ScanKey> >& intentToScansMap
1040 std::map<
ScanKey, std::set<uInt> >& scanToSpwMap,
1041 vector<std::set<ScanKey> >& spwToScanMap
1053 std::set<uInt>& avgSpw, std::set<uInt>& tdmSpw,
1054 std::set<uInt>& fdmSpw, std::set<uInt>& wvrSpw,
1055 std::set<uInt>& sqldSpw
1059 vector<std::set<String> >& spwToIntentsMap,
1060 std::map<
String, std::set<uInt> >& intentToSpwsMap
1064 std::set<uInt>& avgSpw, std::set<uInt>& tdmSpw, std::set<uInt>& fdmSpw,
1065 std::set<uInt>& wvrSpw, std::set<uInt>& sqldSpw
1069 vector<std::set<String> >& statesToIntentsMap,
1070 std::set<String>& uniqueIntents
1076 std::shared_ptr<
const std::map<
SubScanKey, std::set<String> > >& subScanToIntentsMap,
1077 std::map<
String, std::set<SubScanKey> >& intentToSubScansMap
1081 std::shared_ptr<
const std::map<ScanKey, ScanProperties> >& scanProps,
1082 std::shared_ptr<
const std::map<SubScanKey, SubScanProperties> >& subScanProps,
1093 std::shared_ptr<std::map<SubScanKey, Double> >& subScanToNACRowsMap,
1094 std::shared_ptr<std::map<SubScanKey, Double> >& subScanToNXCRowsMap,
1095 std::shared_ptr<vector<Double> >& fieldToNACRowsMap,
1096 std::shared_ptr<vector<Double> >& fieldToNXCRowsMap
1101 vector<Double>*& fieldNACRows, vector<Double>*& fieldNXCRows,
1102 std::map<SubScanKey, Double>*& scanNACRows,
1103 std::map<SubScanKey, Double>*& scanNXCRows
1115 static uInt _sizeof(
const std::map<Double, MSMetaData::TimeStampProperties> & m);
1118 static uInt _sizeof(
const std::map<T, std::set<String> >& m);
1120 template <
class T,
class U>
1121 static uInt _sizeof(
const std::map<T, std::set<U> >& m);
1123 template <
class T,
class U>
1126 static uInt _sizeof(
const vector<std::set<String> >& m);
1130 static uInt _sizeof(
const vector<vector<String> >& m);
1138 static uInt _sizeof(
const vector<std::set<T> >& v);
1140 template <
class T>
static uInt _sizeof(
const std::map<
String, std::set<T> >& map);
1142 static uInt _sizeof(
const vector<std::map<Int, Quantity> >& map);
1144 static uInt _sizeof(
const std::map<std::pair<Int, uInt>, std::set<uInt> >& map);
A Measure: astronomical direction.
A Measure: position on Earth.
TableExprNode time(const TableExprNode &node)
Quantum< Double > Quantity
A class to provide easy access to MSPointing columns.
High-level interface to tables.
PredefinedColumns
The Main table colums with predefined meaning.
A Measure: instant in time.
A Measure: wave characteristics.
std::set< ScanKey > scanKeys(const std::set< Int > &scans, const ArrayKey &arrayKey)
construct scan keys given a set of scan numbers and an ArrayKey
An ArrayKey is a unique combination of observation ID and array ID Negative values are allowed to ind...
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
A sub scan is a unique combination of observation ID, array ID, scan number, and field ID...
A Table intended to hold astronomical data (a set of Measurements).
uInt64 rownr_t
Define the type of a row number in a table.
A scan is a unique combination of observation ID, array ID, and scan number Negative values are allow...
String: the storage and methods of handling collections of characters.
ScanKey scanKey(const SubScanKey &subScanKey)
create a ScanKey from a SubScanKey, just omits the SubScanKey's fieldID