casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
casacore::MSDerivedValues Class Reference

MSDerivedValues calculates values derived from a MS. More...

#include <MSDerivedValues.h>

Public Member Functions

 MSDerivedValues ()
 thread-hostile shared pointers (Jim Jacobs 111104) More...
 
 ~MSDerivedValues ()
 
 MSDerivedValues (const MSDerivedValues &other)
 Copy constructor, this will initialize with other's MS. More...
 
MSDerivedValuesoperator= (const MSDerivedValues &other)
 Assignment, this will initialize with other's MS. More...
 
Int setAntennas (const MSAntennaColumns &ac)
 Set antenna position from an antenna table Returns the number of antennas. More...
 
MSDerivedValuessetAntennaPositions (const Vector< MPosition > &antPosition)
 Set antenna positions, index in vector is antenna number for calls below. More...
 
const Vector< MPosition > & getAntennaPositions () const
 
MSDerivedValuessetObservatoryPosition (const MPosition &obsPosition)
 Set the observatory position. More...
 
MSDerivedValuessetAntennaMount (const Vector< String > &mount)
 Set antenna mounts, should have same number of entries as antPosition in setAntennaPosition. More...
 
MSDerivedValuessetEpoch (const MEpoch &time)
 Set epoch. More...
 
MSDerivedValuessetFieldCenter (const MDirection &fieldCenter)
 Set field center. More...
 
MSDerivedValuessetFieldCenter (uInt fieldid=0)
 If you have used setMeasurementSet then this version of setFieldCenter using field id makes sense. More...
 
MSDerivedValuessetAntenna (Int antenna)
 Set antenna index, sets the position reference for the conversions. More...
 
MSDerivedValuessetVelocityFrame (MRadialVelocity::Types vType)
 Set the velocity frame type (e.g., MRadialVelocity::LSRK) More...
 
MSDerivedValuessetVelocityReference (MDoppler::Types dopType)
 Set the velocity frame type (e.g., MRDoppler::RADIO) More...
 
MRadialVelocity::Types getRadialVelocityType () const
 
MSDerivedValuessetFrequencyReference (MFrequency::Types frqType)
 Set the frequency frame (e.g., MFrequency::LSRK) More...
 
Double hourAngle ()
 get hour angle More...
 
Double parAngle ()
 get parallactic angle More...
 
const MDirectionazel ()
 get azimuth & elevation More...
 
const MEpochlast ()
 get LAST for given time, antenna More...
 
const MRadialVelocityobsVel ()
 get observatory radial velocity for given epoch, position and direction More...
 
MSDerivedValuessetMeasurementSet (const MeasurementSet &ms)
 Set an ms does not need to explicity setAntennas and is necessary if setRestFreqency(fieldid, spwid) is used. More...
 
Bool setRestFrequency (const Int fieldid, const Int spwid, const Int linenum=0)
 Set restFrequencies...make it look for it for the fieldid, spwid and line number defined in the SOURCE table return False if it fails to find the restFrquency. More...
 
MSDerivedValuessetRestFrequency (const Quantity &restFreq)
 
Quantity toFrequency (const Quantity &vel, const Quantity &restFreq)
 get frequency from velocity More...
 
Quantity toFrequency (const Quantity &vel)
 
Quantity toVelocity (const Quantity &freq, const Quantity &restFreq)
 get velocity from frequency More...
 
Quantity toVelocity (const Quantity &freq)
 

Private Member Functions

void init ()
 initialize data More...
 

Private Attributes

Int antenna_p
 
MEpoch::Convert cUTCToLAST_p
 
Vector< MPositionmAntPos_p
 
MDirection::Convert cRADecToAzEl_p
 
MDirection::Convert cHADecToAzEl_p
 
MDirection::Convert cRADecToHADec_p
 
MeasFrame fAntFrame_p
 
MDirection mRADecInAzEl_p
 
MDirection mHADecPoleInAzEl_p
 
MDirection mFieldCenter_p
 
MPosition mObsPos_p
 
MRadialVelocity::Convert cTOPOToLSR_p
 
MDoppler::Ref velref_p
 
MFrequency::Ref frqref_p
 
Bool hasMS_p
 
Quantity restFreq_p
 
Vector< Intmount_p
 
MeasurementSet ms_p
 
MRadialVelocity::Types radialVelocityType_p
 

Friends

class VisBufferAsync
 

Detailed Description

MSDerivedValues calculates values derived from a MS.

Intended use:

Public interface

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

MSDerivedValues calculates values derived from those in a MS

Synopsis

MSDerivedValues is a class that computes values derived from those present in a MeasurementSet. E.g., calculate feed position angles on the sky from time, antenna positions and feed characteristics.

Example

// calculate the parallactic angle and the observatory velocity for the
// first time and first source in the MS.
// set up
MS myMS("myMS");
MSColumns msc(myMS);
msd.setAntennas(msc.antenna());
MEpoch ep=MS::epochMeasure(msc.time());
ep.set(MVEpoch(Quantity(msc.time()(0),"s")));
msd.setEpoch(ep);
MDirection dir=MS::directionMeasure(msc.field().phaseDir());
dir.set(MVDirection(Vector<Double>(msc.field().phaseDir()(0))));
msd.setFieldCenter(dir);
msd.setVelocityFrame(MRadialVelocity::LSRK);
// now we are ready for the calculations:
Double parAngle = msd.parangle();
MRadialVelocity observatoryVel = msd.obsVel();

Motivation

Values derived from those in a MS are needed in various places, e.g., for plotting purposes. This class combines the commonly needed calculations in one place.

Thrown Exceptions

To Do

Definition at line 110 of file MSDerivedValues.h.

Constructor & Destructor Documentation

casacore::MSDerivedValues::MSDerivedValues ( )

thread-hostile shared pointers (Jim Jacobs 111104)

casacore::MSDerivedValues::~MSDerivedValues ( )
casacore::MSDerivedValues::MSDerivedValues ( const MSDerivedValues other)

Copy constructor, this will initialize with other's MS.

Member Function Documentation

const MDirection& casacore::MSDerivedValues::azel ( )

get azimuth & elevation

const Vector<MPosition>& casacore::MSDerivedValues::getAntennaPositions ( ) const
MRadialVelocity::Types casacore::MSDerivedValues::getRadialVelocityType ( ) const
Double casacore::MSDerivedValues::hourAngle ( )

get hour angle

void casacore::MSDerivedValues::init ( )
private

initialize data

const MEpoch& casacore::MSDerivedValues::last ( )

get LAST for given time, antenna

const MRadialVelocity& casacore::MSDerivedValues::obsVel ( )

get observatory radial velocity for given epoch, position and direction

MSDerivedValues& casacore::MSDerivedValues::operator= ( const MSDerivedValues other)

Assignment, this will initialize with other's MS.

Double casacore::MSDerivedValues::parAngle ( )

get parallactic angle

MSDerivedValues& casacore::MSDerivedValues::setAntenna ( Int  antenna)

Set antenna index, sets the position reference for the conversions.

Use -1 to set the reference frame to the observatory position.

MSDerivedValues& casacore::MSDerivedValues::setAntennaMount ( const Vector< String > &  mount)

Set antenna mounts, should have same number of entries as antPosition in setAntennaPosition.

MSDerivedValues& casacore::MSDerivedValues::setAntennaPositions ( const Vector< MPosition > &  antPosition)

Set antenna positions, index in vector is antenna number for calls below.

Int casacore::MSDerivedValues::setAntennas ( const MSAntennaColumns ac)

Set antenna position from an antenna table Returns the number of antennas.

Also sets the observatory position to the average of the antenna positions.

MSDerivedValues& casacore::MSDerivedValues::setEpoch ( const MEpoch time)

Set epoch.

MSDerivedValues& casacore::MSDerivedValues::setFieldCenter ( const MDirection fieldCenter)

Set field center.

MSDerivedValues& casacore::MSDerivedValues::setFieldCenter ( uInt  fieldid = 0)

If you have used setMeasurementSet then this version of setFieldCenter using field id makes sense.

MSDerivedValues& casacore::MSDerivedValues::setFrequencyReference ( MFrequency::Types  frqType)

Set the frequency frame (e.g., MFrequency::LSRK)

MSDerivedValues& casacore::MSDerivedValues::setMeasurementSet ( const MeasurementSet ms)

Set an ms does not need to explicity setAntennas and is necessary if setRestFreqency(fieldid, spwid) is used.

MSDerivedValues& casacore::MSDerivedValues::setObservatoryPosition ( const MPosition obsPosition)

Set the observatory position.

Note that setAntennas will reset this.

Bool casacore::MSDerivedValues::setRestFrequency ( const Int  fieldid,
const Int  spwid,
const Int  linenum = 0 
)

Set restFrequencies...make it look for it for the fieldid, spwid and line number defined in the SOURCE table return False if it fails to find the restFrquency.

MSDerivedValues& casacore::MSDerivedValues::setRestFrequency ( const Quantity restFreq)
MSDerivedValues& casacore::MSDerivedValues::setVelocityFrame ( MRadialVelocity::Types  vType)

Set the velocity frame type (e.g., MRadialVelocity::LSRK)

MSDerivedValues& casacore::MSDerivedValues::setVelocityReference ( MDoppler::Types  dopType)

Set the velocity frame type (e.g., MRDoppler::RADIO)

Quantity casacore::MSDerivedValues::toFrequency ( const Quantity vel,
const Quantity restFreq 
)

get frequency from velocity

Quantity casacore::MSDerivedValues::toFrequency ( const Quantity vel)
Quantity casacore::MSDerivedValues::toVelocity ( const Quantity freq,
const Quantity restFreq 
)

get velocity from frequency

Quantity casacore::MSDerivedValues::toVelocity ( const Quantity freq)

Friends And Related Function Documentation

friend class VisBufferAsync
friend

Definition at line 112 of file MSDerivedValues.h.

Member Data Documentation

Int casacore::MSDerivedValues::antenna_p
private

Definition at line 211 of file MSDerivedValues.h.

MDirection::Convert casacore::MSDerivedValues::cHADecToAzEl_p
private

Definition at line 215 of file MSDerivedValues.h.

MDirection::Convert casacore::MSDerivedValues::cRADecToAzEl_p
private

Definition at line 214 of file MSDerivedValues.h.

MDirection::Convert casacore::MSDerivedValues::cRADecToHADec_p
private

Definition at line 216 of file MSDerivedValues.h.

MRadialVelocity::Convert casacore::MSDerivedValues::cTOPOToLSR_p
private

Definition at line 222 of file MSDerivedValues.h.

MEpoch::Convert casacore::MSDerivedValues::cUTCToLAST_p
private

Definition at line 212 of file MSDerivedValues.h.

MeasFrame casacore::MSDerivedValues::fAntFrame_p
private

Definition at line 217 of file MSDerivedValues.h.

MFrequency::Ref casacore::MSDerivedValues::frqref_p
private

Definition at line 224 of file MSDerivedValues.h.

Bool casacore::MSDerivedValues::hasMS_p
private

Definition at line 225 of file MSDerivedValues.h.

Vector<MPosition> casacore::MSDerivedValues::mAntPos_p
private

Definition at line 213 of file MSDerivedValues.h.

MDirection casacore::MSDerivedValues::mFieldCenter_p
private

Definition at line 220 of file MSDerivedValues.h.

MDirection casacore::MSDerivedValues::mHADecPoleInAzEl_p
private

Definition at line 219 of file MSDerivedValues.h.

MPosition casacore::MSDerivedValues::mObsPos_p
private

Definition at line 221 of file MSDerivedValues.h.

Vector<Int> casacore::MSDerivedValues::mount_p
private

Definition at line 227 of file MSDerivedValues.h.

MDirection casacore::MSDerivedValues::mRADecInAzEl_p
private

Definition at line 218 of file MSDerivedValues.h.

MeasurementSet casacore::MSDerivedValues::ms_p
private

Definition at line 228 of file MSDerivedValues.h.

MRadialVelocity::Types casacore::MSDerivedValues::radialVelocityType_p
private

Definition at line 229 of file MSDerivedValues.h.

Quantity casacore::MSDerivedValues::restFreq_p
private

Definition at line 226 of file MSDerivedValues.h.

MDoppler::Ref casacore::MSDerivedValues::velref_p
private

Definition at line 223 of file MSDerivedValues.h.


The documentation for this class was generated from the following file: