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> 42 template <
class T>
class ArrayColumn;
110 vector<uInt>
getAntennaIDs(
const vector<String>& antennaNames)
const;
114 std::map<String, uInt>& namesToIDsMap,
115 const vector<uInt>& antennaIDs=vector<uInt>(0)
202 Int scanNumber,
Int fieldID
245 map<SourceKey, SHARED_PTR<vector<String> > >
getTransitions()
const;
312 const vector<uInt>& which=std::vector<uInt>(0)
356 const std::set<Int>& scans,
Int obsID,
Int arrayID
532 vector<uInt>
nChans()
const;
550 Bool interpolate=
false,
Int initialguess=0
639 mutable SHARED_PTR<Vector<Double> >
_times;
710 const std::map<SubScanKey, SubScanProperties>& subScanProps
714 Record& parent,
uInt& scanNRows, std::set<Int>& antennasForScan,
715 const ScanKey&
scanKey,
const std::map<SubScanKey, SubScanProperties>& subScanProps
729 std::map<String, uInt>& namesToIDsMap
751 vector<std::set<String> >& fieldToIntentsMap,
752 std::map<
String, std::set<Int> >& intentToFieldsMap
756 vector<std::set<ScanKey> >& fieldToScansMap,
757 std::map<
ScanKey, std::set<Int> >& scanToFieldsMap
761 std::map<
Int, std::set<uInt> >& fieldToSpwMap,
762 vector<std::set<Int> >& spwToFieldMap
766 std::map<
Int, std::set<Int> >& fieldToStatesMap,
767 std::map<
Int, std::set<Int> >& stateToFieldsMap
771 SHARED_PTR<std::map<
Int, std::set<Double> > >& fieldToTimesMap,
777 SHARED_PTR<ArrayColumn<Bool> >
_getFlags()
const;
785 SHARED_PTR<Vector<Int> >
_getScans()
const;
791 SHARED_PTR<Vector<Double> >
_getTimes()
const;
820 std::map<SubScanKey, uInt>*& subScanToNACRowsMap,
821 std::map<SubScanKey, uInt>*& subScanToNXCRowsMap,
822 vector<uInt>*& fieldToNACRowsMap,
823 vector<uInt>*& fieldToNXCRowsMap
828 SHARED_PTR<std::map<SubScanKey, uInt> >& scanToNACRowsMap,
829 SHARED_PTR<std::map<SubScanKey, uInt> >& scanToNXCRowsMap,
843 std::map<
ScanKey, std::set<uInt> >& scanToDDIDMap,
844 vector<std::set<ScanKey> >& ddIDToScanMap
848 std::map<
ScanKey, std::set<String> >& scanToIntentsMap,
849 std::map<
String, std::set<ScanKey> >& intentToScansMap
853 std::map<
ScanKey, std::set<uInt> >& scanToSpwMap,
854 vector<std::set<ScanKey> >& spwToScanMap
868 std::set<uInt>& avgSpw, std::set<uInt>& tdmSpw,
869 std::set<uInt>& fdmSpw, std::set<uInt>& wvrSpw,
870 std::set<uInt>& sqldSpw
874 vector<std::set<String> >& spwToIntentsMap,
875 std::map<
String, std::set<uInt> >& intentToSpwsMap
879 std::set<uInt>& avgSpw, std::set<uInt>& tdmSpw, std::set<uInt>& fdmSpw,
880 std::set<uInt>& wvrSpw, std::set<uInt>& sqldSpw
884 vector<std::set<String> >& statesToIntentsMap,
885 std::set<String>& uniqueIntents
892 std::map<
String, std::set<SubScanKey> >& intentToSubScansMap
902 SHARED_PTR<
const std::map<
ScanKey, std::pair<Double, Double> > >& scanToTimeRangeMap,
903 std::map<std::pair<ScanKey, uInt>,
Double>& scanSpwToIntervalMap,
904 std::map<std::pair<ScanKey, uInt>, std::set<Double> >& scanSpwToTimesMap
909 SHARED_PTR<std::map<SubScanKey, Double> >& subScanToNACRowsMap,
910 SHARED_PTR<std::map<SubScanKey, Double> >& subScanToNXCRowsMap,
911 SHARED_PTR<vector<Double> >& fieldToNACRowsMap,
912 SHARED_PTR<vector<Double> >& fieldToNXCRowsMap
917 vector<Double>*& fieldNACRows, vector<Double>*& fieldNXCRows,
918 std::map<SubScanKey, Double>*& scanNACRows,
919 std::map<SubScanKey, Double>*& scanNXCRows
922 static uInt _sizeof(
const std::map<Double, MSMetaData::TimeStampProperties> & m);
925 static uInt _sizeof(
const std::map<T, std::set<String> >& m);
927 template <
class T,
class U>
928 static uInt _sizeof(
const std::map<T, std::set<U> >& m);
930 template <
class T,
class U>
933 static uInt _sizeof(
const vector<std::set<String> >& m);
937 static uInt _sizeof(
const vector<vector<String> >& m);
945 static uInt _sizeof(
const vector<std::set<T> >& v);
947 template <
class T>
static uInt _sizeof(
const std::map<
String, std::set<T> >& map);
949 static uInt _sizeof(
const vector<std::map<Int, Quantity> >& map);
951 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 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
A class to provide easy read-only access to MSPointing columns.
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).
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
this file contains all the compiler specific defines