MSFitsOutput.h

Classes

MSFitsOutput -- Write a MeasurementSet to a random group uvfits file. (full description)

class MSFitsOutput

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)

Description

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.

static Table handleSysCal (const MeasurementSet& ms, const Vector<Int>& spwids, Bool isSubset)

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.