NewMSSimulator.h

Classes

NewMSSimulator -- Create an empty MeasurementSet from observation and telescope descriptions. (full description)

class NewMSSimulator

Interface

Public Members
NewMSSimulator(const String&)
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)
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)
Private Members
NewMSSimulator()
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()

Description

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&)

Constructor from existing MS

NewMSSimulator(const NewMSSimulator & mss)

Copy constructor - for completeness only

~NewMSSimulator()

NewMSSimulator & operator=(const NewMSSimulator &)

Assignment

void setMaxData(const Double maxData=2e9)

Set maximum amount of data (bytes) to be written into any one scratch column hypercube

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)

set the observed fields

void initFeeds(const String& mode)

set the Feeds; brain dead version

void initFeeds(const String& mode, const Vector<Double>& x, const Vector<Double>& y, const Vector<String>& pol)

set the Feeds; Smart version

void initSpWindows(const String& spWindowName, const Int& nChan, const Quantity& startFreq, const Quantity& freqInc, const Quantity& freqRes, const String& stokesString)

set the spectral windows information

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()