casacore
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
casacore::ROMSFieldColumns Class Reference

A class to provide easy access to MSField columns. More...

#include <MSFieldColumns.h>

Public Member Functions

 ROMSFieldColumns (const MSField &msField)
 Construct from the supplied Table. More...
 
 ~ROMSFieldColumns ()
 The desctructor does nothing special. More...
 
const ROScalarColumn< String > & code () const
 Read-only access to required columns. More...
 
const ROArrayColumn< Double > & delayDir () const
 
const ROArrayMeasColumn< MDirection > & delayDirMeasCol () const
 
const ROScalarColumn< Bool > & flagRow () const
 
const ROScalarColumn< String > & name () const
 
const ROScalarColumn< Int > & numPoly () const
 
const ROArrayColumn< Double > & phaseDir () const
 
const ROArrayMeasColumn< MDirection > & phaseDirMeasCol () const
 
const ROArrayColumn< Double > & referenceDir () const
 
const ROArrayMeasColumn< MDirection > & referenceDirMeasCol () const
 
const ROScalarColumn< Int > & sourceId () const
 
const ROScalarColumn< Double > & time () const
 
const ROScalarQuantColumn< Double > & timeQuant () const
 
const ROScalarMeasColumn< MEpoch > & timeMeas () const
 
const ROScalarColumn< Int > & ephemerisId () const
 Read-only access to optional columns. More...
 
MDirection delayDirMeas (Int row, Double time=0) const
 Access to interpolated directions from polynomials or ephemerides, the default time of zero will return the 0th order element of the polynomial. More...
 
MDirection phaseDirMeas (Int row, Double time=0) const
 
MDirection referenceDirMeas (Int row, Double time=0) const
 
MRadialVelocity radVelMeas (Int row, Double time=0) const
 
Quantity rho (Int row, Double time=0) const
 
Bool needInterTime (Int row) const
 
String ephemPath (Int row) const
 
uInt nrow () const
 Convenience function that returns the number of rows in any of the columns. More...
 
Int matchDirection (const MDirection &referenceDirection, const MDirection &delayDirection, const MDirection &phaseDirection, const Quantum< Double > &maxSeparation, Int tryRow=-1, Double time=0)
 returns the last row that has a reference direction, phase direction and delay direction that match, to within the specified angular separation, the supplied values. More...
 
void updateMeasComets ()
 Update the MeasComets objects belonging to this FIELD table. More...
 

Protected Member Functions

 ROMSFieldColumns ()
 
void attach (const MSField &msField)
 
Int measCometIndex (int row) const
 
MDirection extractDirMeas (const MDirection &offsetDir, Int index, Double &interTime, MEpoch originEpoch) const
 Extract the direction Measure from the corresponding ephemeris using the nominal position as an offset. More...
 
void getMJDs (Double &originMJD, Double &interMJD, const Double interTime, const MEpoch originEpoch) const
 

Protected Attributes

String measCometsPath_p
 
Vector< MeasComet * > measCometsV_p
 
SimpleOrderedMap< Int, IntephIdToMeasComet_p
 

Private Member Functions

 ROMSFieldColumns (const ROMSFieldColumns &)
 
ROMSFieldColumnsoperator= (const ROMSFieldColumns &)
 
void attachOptionalCols (const MSField &msField)
 
Bool matchReferenceDir (uInt row, const MVDirection &dirVal, const Double &sepInRad, MVDirection &mvdir, Double time=0) const
 
Bool matchDelayDir (uInt row, const MVDirection &dirVal, const Double &sepInRad, MVDirection &mvdir, Double time=0) const
 
Bool matchPhaseDir (uInt row, const MVDirection &dirVal, const Double &sepInRad, MVDirection &mvdir, Double time=0) const
 

Private Attributes

ROScalarColumn< Stringname_p
 
ROScalarColumn< Stringcode_p
 
ROScalarColumn< Doubletime_p
 
ROScalarColumn< IntnumPoly_p
 
ROArrayColumn< DoubledelayDir_p
 
ROArrayColumn< DoublephaseDir_p
 
ROArrayColumn< DoublereferenceDir_p
 
ROScalarColumn< IntsourceId_p
 
ROScalarColumn< BoolflagRow_p
 
ROScalarColumn< IntephemerisId_p
 
ROScalarMeasColumn< MEpochtimeMeas_p
 
ROArrayMeasColumn< MDirectiondelayDirMeas_p
 
ROArrayMeasColumn< MDirectionphaseDirMeas_p
 
ROArrayMeasColumn< MDirectionreferenceDirMeas_p
 
ROScalarQuantColumn< DoubletimeQuant_p
 

Detailed Description

A class to provide easy access to MSField columns.

Intended use:

Public interface

Review Status

Reviewed By:
Bob Garwood
Date Reviewed:
1997/02/01

Prerequisite

Etymology

ROMSFieldColumns stands for Read-Only MeasurementSet Field Table columns.

Synopsis

This class provides read-only access to the columns in the MSField Table. It does the declaration of all the Scalar and ArrayColumns with the correct types, so the application programmer doesn't have to worry about getting those right. There is an access function for every predefined column. Access to non-predefined columns will still have to be done with explicit declarations. See ROMSColumns for an example.

Motivation

See MSColumns for the motivation.

Definition at line 86 of file MSFieldColumns.h.

Constructor & Destructor Documentation

§ ROMSFieldColumns() [1/3]

casacore::ROMSFieldColumns::ROMSFieldColumns ( const MSField msField)

Construct from the supplied Table.

§ ~ROMSFieldColumns()

casacore::ROMSFieldColumns::~ROMSFieldColumns ( )

The desctructor does nothing special.

§ ROMSFieldColumns() [2/3]

casacore::ROMSFieldColumns::ROMSFieldColumns ( )
protected

Referenced by nrow().

§ ROMSFieldColumns() [3/3]

casacore::ROMSFieldColumns::ROMSFieldColumns ( const ROMSFieldColumns )
private

Member Function Documentation

§ attach()

void casacore::ROMSFieldColumns::attach ( const MSField msField)
protected

§ attachOptionalCols()

void casacore::ROMSFieldColumns::attachOptionalCols ( const MSField msField)
private

§ code()

const ROScalarColumn<String>& casacore::ROMSFieldColumns::code ( ) const
inline

Read-only access to required columns.

Definition at line 97 of file MSFieldColumns.h.

References code_p.

Referenced by casacore::MSFieldColumns::code().

§ delayDir()

const ROArrayColumn<Double>& casacore::ROMSFieldColumns::delayDir ( ) const
inline

Definition at line 98 of file MSFieldColumns.h.

References delayDir_p.

Referenced by casacore::MSFieldColumns::delayDir().

§ delayDirMeas()

MDirection casacore::ROMSFieldColumns::delayDirMeas ( Int  row,
Double  time = 0 
) const

Access to interpolated directions from polynomials or ephemerides, the default time of zero will return the 0th order element of the polynomial.

or, if there is an ephemeris, the position at the time origin of the ephemeris.

In addtion to the directions, if there is an ephemeris available, also the radial velocity and the distance rho can be accessed.

The method needInterTime returns True if there is a polynomial or ephemeris connected to this field table row, and an interpolation time value should be provided. The method ephemPath returns the absolute path to the ephemeris table connected to the field table row, an empty string if there is none.

Referenced by ephemerisId().

§ delayDirMeasCol()

const ROArrayMeasColumn<MDirection>& casacore::ROMSFieldColumns::delayDirMeasCol ( ) const
inline

Definition at line 99 of file MSFieldColumns.h.

References delayDirMeas_p.

Referenced by casacore::MSFieldColumns::delayDirMeasCol().

§ ephemerisId()

const ROScalarColumn<Int>& casacore::ROMSFieldColumns::ephemerisId ( ) const
inline

Read-only access to optional columns.

Definition at line 118 of file MSFieldColumns.h.

References delayDirMeas(), ephemerisId_p, ephemPath(), needInterTime(), phaseDirMeas(), radVelMeas(), referenceDirMeas(), rho(), and time().

Referenced by casacore::MSFieldColumns::ephemerisId().

§ ephemPath()

String casacore::ROMSFieldColumns::ephemPath ( Int  row) const

Referenced by ephemerisId().

§ extractDirMeas()

MDirection casacore::ROMSFieldColumns::extractDirMeas ( const MDirection offsetDir,
Int  index,
Double interTime,
MEpoch  originEpoch 
) const
protected

Extract the direction Measure from the corresponding ephemeris using the nominal position as an offset.

Note that interTime is assumed to use the same time reference frame as originEpoch.

§ flagRow()

const ROScalarColumn<Bool>& casacore::ROMSFieldColumns::flagRow ( ) const
inline

Definition at line 101 of file MSFieldColumns.h.

References flagRow_p.

Referenced by casacore::MSFieldColumns::flagRow().

§ getMJDs()

void casacore::ROMSFieldColumns::getMJDs ( Double originMJD,
Double interMJD,
const Double  interTime,
const MEpoch  originEpoch 
) const
protected

§ matchDelayDir()

Bool casacore::ROMSFieldColumns::matchDelayDir ( uInt  row,
const MVDirection dirVal,
const Double sepInRad,
MVDirection mvdir,
Double  time = 0 
) const
private

§ matchDirection()

Int casacore::ROMSFieldColumns::matchDirection ( const MDirection referenceDirection,
const MDirection delayDirection,
const MDirection phaseDirection,
const Quantum< Double > &  maxSeparation,
Int  tryRow = -1,
Double  time = 0 
)

returns the last row that has a reference direction, phase direction and delay direction that match, to within the specified angular separation, the supplied values.

Only matches on rows where the direction is constant ie., NUM_POLY is 0 and where FLAG_ROW is False. Throws an exception (AipsError) if the reference frames do not match or if the separation does not have angular units (when compiled in debug mode). Returns -1 if no match could be found. If tryRow is positive, then that row is tested to see if it matches before any others are tested. Setting tryRow to a positive value greater than the table length will throw an exception (AipsError), when compiled in debug mode.

Referenced by nrow().

§ matchPhaseDir()

Bool casacore::ROMSFieldColumns::matchPhaseDir ( uInt  row,
const MVDirection dirVal,
const Double sepInRad,
MVDirection mvdir,
Double  time = 0 
) const
private

§ matchReferenceDir()

Bool casacore::ROMSFieldColumns::matchReferenceDir ( uInt  row,
const MVDirection dirVal,
const Double sepInRad,
MVDirection mvdir,
Double  time = 0 
) const
private

§ measCometIndex()

Int casacore::ROMSFieldColumns::measCometIndex ( int  row) const
protected

Referenced by nrow().

§ name()

const ROScalarColumn<String>& casacore::ROMSFieldColumns::name ( ) const
inline

Definition at line 102 of file MSFieldColumns.h.

References name_p.

Referenced by casacore::MSFieldColumns::name().

§ needInterTime()

Bool casacore::ROMSFieldColumns::needInterTime ( Int  row) const

Referenced by ephemerisId().

§ nrow()

uInt casacore::ROMSFieldColumns::nrow ( ) const
inline

Convenience function that returns the number of rows in any of the columns.

Definition at line 145 of file MSFieldColumns.h.

References attach(), matchDirection(), measCometIndex(), name_p, ROMSFieldColumns(), time(), and updateMeasComets().

§ numPoly()

const ROScalarColumn<Int>& casacore::ROMSFieldColumns::numPoly ( ) const
inline

§ operator=()

ROMSFieldColumns& casacore::ROMSFieldColumns::operator= ( const ROMSFieldColumns )
private

§ phaseDir()

const ROArrayColumn<Double>& casacore::ROMSFieldColumns::phaseDir ( ) const
inline

Definition at line 104 of file MSFieldColumns.h.

References phaseDir_p.

Referenced by casacore::MSFieldColumns::phaseDir().

§ phaseDirMeas()

MDirection casacore::ROMSFieldColumns::phaseDirMeas ( Int  row,
Double  time = 0 
) const

Referenced by ephemerisId().

§ phaseDirMeasCol()

const ROArrayMeasColumn<MDirection>& casacore::ROMSFieldColumns::phaseDirMeasCol ( ) const
inline

Definition at line 105 of file MSFieldColumns.h.

References phaseDirMeas_p.

Referenced by casacore::MSFieldColumns::phaseDirMeasCol().

§ radVelMeas()

MRadialVelocity casacore::ROMSFieldColumns::radVelMeas ( Int  row,
Double  time = 0 
) const

Referenced by ephemerisId().

§ referenceDir()

const ROArrayColumn<Double>& casacore::ROMSFieldColumns::referenceDir ( ) const
inline

Definition at line 107 of file MSFieldColumns.h.

References referenceDir_p.

Referenced by casacore::MSFieldColumns::referenceDir().

§ referenceDirMeas()

MDirection casacore::ROMSFieldColumns::referenceDirMeas ( Int  row,
Double  time = 0 
) const

Referenced by ephemerisId().

§ referenceDirMeasCol()

const ROArrayMeasColumn<MDirection>& casacore::ROMSFieldColumns::referenceDirMeasCol ( ) const
inline

Definition at line 108 of file MSFieldColumns.h.

References referenceDirMeas_p.

Referenced by casacore::MSFieldColumns::referenceDirMeasCol().

§ rho()

Quantity casacore::ROMSFieldColumns::rho ( Int  row,
Double  time = 0 
) const

Referenced by ephemerisId().

§ sourceId()

const ROScalarColumn<Int>& casacore::ROMSFieldColumns::sourceId ( ) const
inline

Definition at line 110 of file MSFieldColumns.h.

References sourceId_p.

Referenced by casacore::MSFieldColumns::sourceId().

§ time()

const ROScalarColumn<Double>& casacore::ROMSFieldColumns::time ( ) const
inline

Definition at line 111 of file MSFieldColumns.h.

References time_p.

Referenced by ephemerisId(), nrow(), and casacore::MSFieldColumns::time().

§ timeMeas()

const ROScalarMeasColumn<MEpoch>& casacore::ROMSFieldColumns::timeMeas ( ) const
inline

Definition at line 113 of file MSFieldColumns.h.

References timeMeas_p.

Referenced by casacore::MSFieldColumns::timeMeas().

§ timeQuant()

const ROScalarQuantColumn<Double>& casacore::ROMSFieldColumns::timeQuant ( ) const
inline

Definition at line 112 of file MSFieldColumns.h.

References timeQuant_p.

Referenced by casacore::MSFieldColumns::timeQuant().

§ updateMeasComets()

void casacore::ROMSFieldColumns::updateMeasComets ( )

Update the MeasComets objects belonging to this FIELD table.

Needed when the entries in the EPHEMERIS_ID column have changed.

Referenced by nrow().

Member Data Documentation

§ code_p

ROScalarColumn<String> casacore::ROMSFieldColumns::code_p
private

Definition at line 221 of file MSFieldColumns.h.

Referenced by code(), and casacore::MSFieldColumns::code().

§ delayDir_p

ROArrayColumn<Double> casacore::ROMSFieldColumns::delayDir_p
private

Definition at line 224 of file MSFieldColumns.h.

Referenced by delayDir(), and casacore::MSFieldColumns::delayDir().

§ delayDirMeas_p

ROArrayMeasColumn<MDirection> casacore::ROMSFieldColumns::delayDirMeas_p
private

Definition at line 234 of file MSFieldColumns.h.

Referenced by delayDirMeasCol(), and casacore::MSFieldColumns::delayDirMeasCol().

§ ephemerisId_p

ROScalarColumn<Int> casacore::ROMSFieldColumns::ephemerisId_p
private

Definition at line 230 of file MSFieldColumns.h.

Referenced by ephemerisId(), and casacore::MSFieldColumns::ephemerisId().

§ ephIdToMeasComet_p

SimpleOrderedMap<Int, Int> casacore::ROMSFieldColumns::ephIdToMeasComet_p
protected

Definition at line 180 of file MSFieldColumns.h.

§ flagRow_p

ROScalarColumn<Bool> casacore::ROMSFieldColumns::flagRow_p
private

Definition at line 228 of file MSFieldColumns.h.

Referenced by flagRow(), and casacore::MSFieldColumns::flagRow().

§ measCometsPath_p

String casacore::ROMSFieldColumns::measCometsPath_p
protected

Definition at line 178 of file MSFieldColumns.h.

§ measCometsV_p

Vector<MeasComet*> casacore::ROMSFieldColumns::measCometsV_p
protected

Definition at line 179 of file MSFieldColumns.h.

§ name_p

ROScalarColumn<String> casacore::ROMSFieldColumns::name_p
private

Definition at line 220 of file MSFieldColumns.h.

Referenced by name(), casacore::MSFieldColumns::name(), and nrow().

§ numPoly_p

ROScalarColumn<Int> casacore::ROMSFieldColumns::numPoly_p
private

Definition at line 223 of file MSFieldColumns.h.

Referenced by numPoly(), and casacore::MSFieldColumns::numPoly().

§ phaseDir_p

ROArrayColumn<Double> casacore::ROMSFieldColumns::phaseDir_p
private

Definition at line 225 of file MSFieldColumns.h.

Referenced by phaseDir(), and casacore::MSFieldColumns::phaseDir().

§ phaseDirMeas_p

ROArrayMeasColumn<MDirection> casacore::ROMSFieldColumns::phaseDirMeas_p
private

Definition at line 235 of file MSFieldColumns.h.

Referenced by phaseDirMeasCol(), and casacore::MSFieldColumns::phaseDirMeasCol().

§ referenceDir_p

ROArrayColumn<Double> casacore::ROMSFieldColumns::referenceDir_p
private

Definition at line 226 of file MSFieldColumns.h.

Referenced by referenceDir(), and casacore::MSFieldColumns::referenceDir().

§ referenceDirMeas_p

ROArrayMeasColumn<MDirection> casacore::ROMSFieldColumns::referenceDirMeas_p
private

§ sourceId_p

ROScalarColumn<Int> casacore::ROMSFieldColumns::sourceId_p
private

Definition at line 227 of file MSFieldColumns.h.

Referenced by sourceId(), and casacore::MSFieldColumns::sourceId().

§ time_p

ROScalarColumn<Double> casacore::ROMSFieldColumns::time_p
private

Definition at line 222 of file MSFieldColumns.h.

Referenced by time(), and casacore::MSFieldColumns::time().

§ timeMeas_p

ROScalarMeasColumn<MEpoch> casacore::ROMSFieldColumns::timeMeas_p
private

Definition at line 233 of file MSFieldColumns.h.

Referenced by timeMeas(), and casacore::MSFieldColumns::timeMeas().

§ timeQuant_p

ROScalarQuantColumn<Double> casacore::ROMSFieldColumns::timeQuant_p
private

Definition at line 239 of file MSFieldColumns.h.

Referenced by timeQuant(), and casacore::MSFieldColumns::timeQuant().


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