MSFitsOutput.h
Classes
- MSFitsOutput -- Write a MeasurementSet to a random group uvfits file. (full description)
Interface
- Public Members
- static Bool writeFitsFile(const String& fitsfile, const MeasurementSet& ms, const String& column, Int startchan=-1, Int nchan=-1, Int stepchan=-1, Bool writeSysCal = False, Bool asMultiSource = False, Bool combineSpw=False, Bool writeStation=False, Double sensitivity = 1.0)
- Private Members
- static FitsOutput *writeMain(Int& refPixelFreq, Double& refFreq, Double& chanbw, const String& outFITSFile, const MeasurementSet& rawms, const String& column, const Block<Int>& spwidMap, Int nrspw, Int startchan, Int nchan, Int stepchan, const Block<Int>& fieldidMap, Bool asMultiSource, Bool combineSpw)
- static Bool writeFQ(FitsOutput *output, const MeasurementSet& ms, const Block<Int>& spwidMap, Int nrspw, Double refFreq, Int refPixelFreq, Double chanbw, Bool combineSpw)
- static Bool writeAN(FitsOutput *output, const MeasurementSet& ms, Double refFreq, Bool writeStation)
- static Bool writeSU(FitsOutput *output, const MeasurementSet& ms, const Block<Int>& fieldidMap, Int nrfield, const Block<Int>& spwidMap, Int nrspw)
- static Bool writeTY(FitsOutput *output, const MeasurementSet& ms, const Table& syscal, const Block<Int>& spwidMap, uInt nrif, Bool combineSpw)
- static Bool writeGC(FitsOutput *output, const MeasurementSet& ms, const Table& syscal, const Block<Int>& spwidMap, uInt nrif, Bool combineSpw, Double sensitivity, Int refPixelFreq, Double refFreq, Double chanbw)
- static void timeToDay(Int& day, Double& dayFraction, Double time)
- static void getStartHA (Double& startTime, Double& startHA, const MeasurementSet& ms, uInt rownr)
- static Table handleSysCal (const MeasurementSet& ms, const Vector<Int>& spwids, Bool isSubset)
- static Int makeIdMap (Block<Int>& map, Vector<Int>& selids, const Vector<Int>& allids, Bool isSubset)
Member Description
static Bool writeFitsFile(const String& fitsfile, const MeasurementSet& ms, const String& column, Int startchan=-1, Int nchan=-1, Int stepchan=-1, Bool writeSysCal = False, Bool asMultiSource = False, Bool combineSpw=False, Bool writeStation=False, Double sensitivity = 1.0)
Convert a MeasurementSet to random group UVFITS,
specifying the column to write ("observed", "calibrated", "model") and
whether to write the system calibration table.
If asMultiSource=True a multi-source UVFits file is written.
If combineSpw=True, all spectral-windows of a frequency group
are combined.
static FitsOutput *writeMain(Int& refPixelFreq, Double& refFreq, Double& chanbw, const String& outFITSFile, const MeasurementSet& rawms, const String& column, const Block<Int>& spwidMap, Int nrspw, Int startchan, Int nchan, Int stepchan, const Block<Int>& fieldidMap, Bool asMultiSource, Bool combineSpw)
Write the main table.
static Bool writeFQ(FitsOutput *output, const MeasurementSet& ms, const Block<Int>& spwidMap, Int nrspw, Double refFreq, Int refPixelFreq, Double chanbw, Bool combineSpw)
Write the FQ table.
If combineSpw is True, all spectral-windows are written in one
row of the FITS table.
static Bool writeAN(FitsOutput *output, const MeasurementSet& ms, Double refFreq, Bool writeStation)
Write the AN table.
static Bool writeSU(FitsOutput *output, const MeasurementSet& ms, const Block<Int>& fieldidMap, Int nrfield, const Block<Int>& spwidMap, Int nrspw)
Write the SU table.
static Bool writeTY(FitsOutput *output, const MeasurementSet& ms, const Table& syscal, const Block<Int>& spwidMap, uInt nrif, Bool combineSpw)
Write the TY table.
static Bool writeGC(FitsOutput *output, const MeasurementSet& ms, const Table& syscal, const Block<Int>& spwidMap, uInt nrif, Bool combineSpw, Double sensitivity, Int refPixelFreq, Double refFreq, Double chanbw)
Write the GC table.
static void timeToDay(Int& day, Double& dayFraction, Double time)
Convert time to day and fraction.
static void getStartHA (Double& startTime, Double& startHA, const MeasurementSet& ms, uInt rownr)
Get the time and hourangle from the MS at the given row.
It uses the field-id and observation-id to calculate the hourangle.
Handle the SYSCAL table.
It skips the entries not needed and sorts it in the correct order.
static Int makeIdMap (Block<Int>& map, Vector<Int>& selids, const Vector<Int>& allids, Bool isSubset)
Determine which ids are selected in the main table
(used for fields and spectral-window).
It fills a block for all possible ids, where -1 tells that the
id is not selected. Furthermore it fills a vector with the
selected id numbers.
The input is a vector containing all ids in the main table.
If isSubset is False the main table is not a selection, but
represents an entire MS. In that case the map and selids are
simply filled with values 0-nrid.