Constructor from existing MS
Copy constructor - for completeness only
Assignment
Set maximum amount of data (bytes) to be written into any one
scratch column hypercube
set the observed fields
set the Feeds; brain dead version
set the Feeds; Smart version
set the spectral windows information
Prerequisite
Etymology
MS is from MeasurementSet, Simulator refers to the generation of
'fake' data from a set of parameters for instrument and sources.
Synopsis
// This class creates a MeasurementSet from a set of parameters for instrument
and sources. It does not simulate the data, only the coordinates of a
measurement. The application "simulator" uses this class to create a true
simulated MS with perfect or corrupted data.
Motivation
To test calibration and imaging programs it is necessary to have flawless
data and data with errors that are known exactly. This class generates
empty MeasurementSets (only coordinates filled in) that can be filled
with predicted data.
To Do
Member Description
NewMSSimulator(const String&)
Constructor from name only
NewMSSimulator(MeasurementSet&)
NewMSSimulator(const NewMSSimulator & mss)
~NewMSSimulator()
NewMSSimulator & operator=(const NewMSSimulator &)
void setMaxData(const Double maxData=2e9)
void initAnt(const String& telname, const Vector<Double>& x, const Vector<Double>& y, const Vector<Double>& z, const Vector<Double>& dishDiameter, const Vector<Double>& offset, const Vector<String>& mount, const Vector<String>& name, const String& coordsystem, const MPosition& mRefLocation)
set the antenna and array data. These are written immediately to the
existing MS. The same model is used for the other init infor.
void initFields(const String& sourceName, const MDirection& sourceDirection, const String& calCode)
void initFeeds(const String& mode)
void initFeeds(const String& mode, const Vector<Double>& x, const Vector<Double>& y, const Vector<String>& pol)
void initSpWindows(const String& spWindowName, const Int& nChan, const Quantity& startFreq, const Quantity& freqInc, const Quantity& freqRes, const String& stokesString)
void setFractionBlockageLimit(const Double fraclimit)
void setElevationLimit(const Quantity& ellimit)
void setAutoCorrelationWt(const Float autocorrwt)
void settimes(const Quantity& qIntegrationTime, const Bool useHourAngles, const MEpoch& mRefTime)
void observe(const String& sourceName, const String& spWindowName, const Quantity& qStartTime, const Quantity& qStopTime)
NewMSSimulator()
Prevent use of default constructor
void local2global(Vector<Double>& xReturned, Vector<Double>& yReturned, Vector<Double>& zReturned, const MPosition& mRefLocation, const Vector<Double>& xIn, const Vector<Double>& yIn, const Vector<Double>& zIn)
void longlat2global(Vector<Double>& xReturned, Vector<Double>& yReturned, Vector<Double>& zReturned, const MPosition& mRefLocation, const Vector<Double>& xIn, const Vector<Double>& yIn, const Vector<Double>& zIn)
String formatDirection(const MDirection&)
String formatTime(const Double)
void addHyperCubes(const Int id, const Int nBase, const Int nChan, const Int nCorr)
void defaults()