28 #ifndef MS_MSMETADATA_H
29 #define MS_MSMETADATA_H
31 #include <casacore/casa/aips.h>
32 #include <casacore/casa/Quanta/QVector.h>
33 #include <casacore/measures/Measures/MFrequency.h>
34 #include <casacore/measures/Measures/MPosition.h>
35 #include <casacore/ms/MeasurementSets/MeasurementSet.h>
36 #include <casacore/ms/MeasurementSets/MSPointingColumns.h>
37 #include <casacore/casa/Utilities/CountedPtr.h>
38 #include <casacore/tables/Tables/TableProxy.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)
256 Int scanNumber,
Int fieldID
384 const vector<uInt>& which=std::vector<uInt>(0)
429 const std::set<Int>& scans,
Int obsID,
Int arrayID
645 Bool interpolate=
false,
Int initialguess=0
685 std::map<uInt, std::set<Double> >
times;
831 std::shared_ptr<std::map<ScanKey, MSMetaData::ScanProperties> >& scanProps,
832 std::shared_ptr<std::map<SubScanKey, MSMetaData::SubScanProperties> >& subScanProps,
852 std::shared_ptr<std::map<ScanKey, MSMetaData::ScanProperties> >& scanProps,
853 std::shared_ptr<std::map<SubScanKey, MSMetaData::SubScanProperties> >& subScanProps,
855 std::pair<std::map<ScanKey, ScanProperties>, std::map<SubScanKey, SubScanProperties> >
861 const std::map<SubScanKey, SubScanProperties>& subScanProps
865 Record& parent,
rownr_t& scanNRows, std::set<Int>& antennasForScan,
866 const ScanKey&
scanKey,
const std::map<SubScanKey, SubScanProperties>& subScanProps
888 std::shared_ptr<const std::map<SubScanKey, SubScanProperties> >
892 std::map<
String, std::set<uInt> >& namesToIDsMap
907 std::pair<std::map<ScanKey, ScanProperties>, std::map<SubScanKey, SubScanProperties> >
931 vector<std::set<String> >& fieldToIntentsMap,
932 std::map<
String, std::set<Int> >& intentToFieldsMap
936 vector<std::set<ScanKey> >& fieldToScansMap,
937 std::map<
ScanKey, std::set<Int> >& scanToFieldsMap
941 std::map<
Int, std::set<uInt> >& fieldToSpwMap,
942 vector<std::set<Int> >& spwToFieldMap
946 std::map<
Int, std::set<Int> >& fieldToStatesMap,
947 std::map<
Int, std::set<Int> >& stateToFieldsMap
951 std::shared_ptr<std::map<
Int, std::set<Double> > >& fieldToTimesMap,
952 std::shared_ptr<std::map<
Double, std::set<Int> > >& timesToFieldMap
998 std::map<SubScanKey, rownr_t>*& subScanToNACRowsMap,
999 std::map<SubScanKey, rownr_t>*& subScanToNXCRowsMap,
1000 std::map<Int, rownr_t>*& fieldToNACRowsMap,
1001 std::map<Int, rownr_t>*& fieldToNXCRowsMap
1006 std::shared_ptr<std::map<SubScanKey, rownr_t> >& scanToNACRowsMap,
1007 std::shared_ptr<std::map<SubScanKey, rownr_t> >& scanToNXCRowsMap,
1008 std::shared_ptr<std::map<Int, rownr_t> >& fieldToNACRowsMap,
1009 std::shared_ptr<std::map<Int, rownr_t> >& fieldToNXCRowsMap
1026 std::map<
ScanKey, std::set<uInt> >& scanToDDIDMap,
1027 vector<std::set<ScanKey> >& ddIDToScanMap
1031 std::map<
ScanKey, std::set<String> >& scanToIntentsMap,
1032 std::map<
String, std::set<ScanKey> >& intentToScansMap
1036 std::map<
ScanKey, std::set<uInt> >& scanToSpwMap,
1037 vector<std::set<ScanKey> >& spwToScanMap
1049 std::set<uInt>& avgSpw, std::set<uInt>& tdmSpw,
1050 std::set<uInt>& fdmSpw, std::set<uInt>& wvrSpw,
1051 std::set<uInt>& sqldSpw
1055 vector<std::set<String> >& spwToIntentsMap,
1056 std::map<
String, std::set<uInt> >& intentToSpwsMap
1060 std::set<uInt>& avgSpw, std::set<uInt>& tdmSpw, std::set<uInt>& fdmSpw,
1061 std::set<uInt>& wvrSpw, std::set<uInt>& sqldSpw
1065 vector<std::set<String> >& statesToIntentsMap,
1066 std::set<String>& uniqueIntents
1072 std::shared_ptr<
const std::map<
SubScanKey, std::set<String> > >& subScanToIntentsMap,
1073 std::map<
String, std::set<SubScanKey> >& intentToSubScansMap
1077 std::shared_ptr<
const std::map<ScanKey, ScanProperties> >& scanProps,
1078 std::shared_ptr<
const std::map<SubScanKey, SubScanProperties> >& subScanProps,
1089 std::shared_ptr<std::map<SubScanKey, Double> >& subScanToNACRowsMap,
1090 std::shared_ptr<std::map<SubScanKey, Double> >& subScanToNXCRowsMap,
1091 std::shared_ptr<vector<Double> >& fieldToNACRowsMap,
1092 std::shared_ptr<vector<Double> >& fieldToNXCRowsMap
1097 vector<Double>*& fieldNACRows, vector<Double>*& fieldNXCRows,
1098 std::map<SubScanKey, Double>*& scanNACRows,
1099 std::map<SubScanKey, Double>*& scanNXCRows
1111 static uInt _sizeof(
const std::map<Double, MSMetaData::TimeStampProperties> & m);
1116 template <
class T,
class U>
1119 template <
class T,
class U>
1140 static uInt _sizeof(
const std::map<std::pair<Int, uInt>, std::set<uInt> >& map);
PredefinedColumns
The Main table colums with predefined meaning.
String: the storage and methods of handling collections of characters.
this file contains all the compiler specific defines
std::set< ScanKey > scanKeys(const std::set< Int > &scans, const ArrayKey &arrayKey)
construct scan keys given a set of scan numbers and an ArrayKey
TableExprNode time(const TableExprNode &node)
ScanKey scanKey(const SubScanKey &subScanKey)
create a ScanKey from a SubScanKey, just omits the SubScanKey's fieldID
bool Bool
Define the standard types used by Casacore.
Quantum< Double > Quantity
uInt64 rownr_t
Define the type of a row number in a table.
An ArrayKey is a unique combination of observation ID and array ID Negative values are allowed to ind...
A scan is a unique combination of observation ID, array ID, and scan number Negative values are allow...
A sub scan is a unique combination of observation ID, array ID, scan number, and field ID.