casacore
Classes | Public Types | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Static Private Attributes | List of all members

More...

#include <MeasTable.h>

Classes

struct  Statics_dUTC
 Calculate time related conversion data. More...
 

Public Types

enum  Types {
  MERCURY ,
  VENUS ,
  EARTH ,
  MARS ,
  JUPITER ,
  SATURN ,
  URANUS ,
  NEPTUNE ,
  PLUTO ,
  MOON ,
  SUN ,
  BARYSOLAR ,
  BARYEARTH ,
  NUTATION ,
  LIBRATION ,
  N_Types
}
 Types to be used in different calls. More...
 
enum  JPLconst {
  CAU ,
  GMS ,
  AU ,
  RADS ,
  N_JPLconst
}
 Codes for JPL constants: order should be same as in MeasJPL, length less than or equal. More...
 

Static Public Member Functions

static Bool useIAU2000 ()
 Selection related data. More...
 
static Bool useIAU2000A ()
 If IAU2000 model, do we use the high precision 2000A model? Note that an Aipsrc::reRead() is not reflected in the return value here. More...
 
static Double precRate00 (const uInt which)
 Precession related data. More...
 
static RotMatrix frameBias00 ()
 Get the frame bias matrix for IAU2000 model. More...
 
static void precessionCoef (Double T, Polynomial< Double > result[3])
 Generate the precession calculation polynomials for a fixed Epoch T in the result area specified. More...
 
static void precessionCoef2000 (Polynomial< Double > result[3])
 Generate the precession polynomials for IAU2000 system. More...
 
static void precessionCoef1950 (Double T, Polynomial< Double > result[3])
 Generate the precession polynomials for 1950 system for a fixed Epoch T in the area specified. More...
 
static const Polynomial< Double > & fundArg (uInt which)
 Nutation related data. More...
 
static const Polynomial< Double > & fundArg1950 (uInt which)
 
static const Polynomial< Double > & fundArg2000 (uInt which)
 
static const Polynomial< Double > & planetaryArg2000 (uInt which)
 Get the planetary arguments (L, L', F, D, Om, Me, Ve, E, Ma, Ju Sa, Ur, Ne, pre)
More...
 
static const DoublemulArg (uInt which)
 Generate the which' vector of the nutation series arguments. More...
 
static const DoublemulArg1950 (uInt which)
 
static const DoublemulArg2000A (uInt which)
 
static const DoublemulArg2000B (uInt which)
 
static const DoublemulPlanArg2000A (uInt which)
 
static const DoublemulArgEqEqCT2000 (uInt which)
 Generate the which' vector of the equation of equinoxes (IAU2000) complementary terms series arguments. More...
 
static CountedPtr< Matrix< Double > > mulSC (Double time, Double epsilon)
 Generate the which' vector of the nutation series multipliers at T, measured in Julian centuries since J2000.0, respectively B1900.0. More...
 
static CountedPtr< Matrix< Double > > mulSC1950 (Double time, Double epsilon)
 
static CountedPtr< Matrix< Double > > mulSC2000A (Double time, Double epsilon)
 
static CountedPtr< Matrix< Double > > mulSC2000B (Double time, Double epsilon)
 
static const DoublemulPlanSC2000A (uInt which)
 
static const DoublemulSCEqEqCT2000 (uInt which)
 Generate the which' vector of the equation of equinoxes (IAU2000) complementary terms series multipliers at T, measured in Julian centuries since J2000.0, respectively B1900.0. More...
 
static Double dPsiEps (uInt which, Double T)
 Get nutation angles corrections for UTC T in rad. More...
 
static Vector< DoublePlanetary (MeasTable::Types which, Double T)
 Planetary (JPL DE) related data. More...
 
static Double Planetary (MeasTable::JPLconst what)
 Get the JPL DE constant indicated. More...
 
static void initObservatories ()
 Observatory positions. More...
 
static const Vector< String > & Observatories ()
 Get list of all observatories. More...
 
static Bool Observatory (MPosition &obs, const String &nam)
 Get position of observatory nam (False if not present) More...
 
static Bool AntennaResponsesPath (String &antRespPath, const String &nam)
 Get absolute path to AntennaResponses table of observatory nam. More...
 
static void initSources ()
 Source list positions. More...
 
static const Vector< String > & Sources ()
 Get list of all sources. More...
 
static Bool Source (MDirection &obs, const String &nam)
 Get position of source nam (False if not present) More...
 
static void initLines ()
 Rest frequencies. More...
 
static const Vector< String > & Lines ()
 Get list of all frequencies. More...
 
static Bool Line (MFrequency &obs, const String &nam)
 Get frequency of line name (False if not present) More...
 
static void initIGRF ()
 Initialise list of IGRF data Called using theirIGRFInitOnce. More...
 
static Vector< DoubleIGRF (Double t)
 Earth magnetic field (IGRF) data Get the harmonic terms for specified time (mjd) More...
 
static const Polynomial< Double > & aberArg (uInt which)
 Aberration related data. More...
 
static const Polynomial< Double > & aberArgDeriv (uInt which)
 
static const Polynomial< Double > & aber1950Arg (uInt which)
 
static const Polynomial< Double > & aber1950ArgDeriv (uInt which)
 
static const DoublemulAberArg (uInt which)
 Generate the 'which' vector of the aberration series arguments. More...
 
static const DoublemulAber1950Arg (uInt which)
 
static const DoublemulAberSunArg (uInt which)
 
static const DoublemulAberEarthArg (uInt which)
 
static CountedPtr< Matrix< Double > > mulAber (Double time, Double epsilon)
 Generate the 'which' vector of the aberration series multipliers at T, measured in Julian centuries since J2000.0 (or J1900.0, yes, J1900.0, for B1950). More...
 
static CountedPtr< Matrix< Double > > mulAber1950 (Double time, Double epsilon)
 
static const Vector< Double > & mulSunAber (uInt which)
 
static const Vector< Double > & mulEarthAber (uInt which)
 
static const Vector< Double > & AberETerm (uInt which)
 Get the E-terms of Aberration correction (0 for position, 1 for velocity) More...
 
static Double diurnalAber (Double radius, Double T)
 Diurnal aberration factor. More...
 
static const Vector< Double > & velocityLSRK (uInt which)
 LSR (kinematical) velocity conversion: 0 gives J2000; 1 gives B1950. More...
 
static const Vector< Double > & velocityLSR (uInt which)
 LSR (dynamical, IAU definition). More...
 
static const Vector< Double > & velocityLSRGal (uInt which)
 Velocity of LSR with respect to galactic centre. More...
 
static const Vector< Double > & velocityCMB (uInt which)
 Velocity of Local Group wrt bary center (F.Ghigo): 308km/s towards l,b = 105,-7. More...
 
static const Vector< Double > & velocityLGROUP (uInt which)
 Velocity of CMB wrt bary center (F.Ghigo): 369.5km/s towards l,b = 264.4,48.4. More...
 
static const Polynomial< Double > & posArg (uInt which)
 Earth and Sun position related data. More...
 
static const Polynomial< Double > & posArgDeriv (uInt which)
 Precomputed derivative of PosArg. More...
 
static const DoublemulPosEarthXYArg (uInt which)
 Generate the which' vector of the position series arguments. More...
 
static const DoublemulPosEarthZArg (uInt which)
 
static const DoublemulPosSunXYArg (uInt which)
 
static const DoublemulPosSunZArg (uInt which)
 
static CountedPtr< Matrix< Double > > mulPosEarthXY (Double time, Double epsilon)
 Generate the which' vector of the position series multipliers at T, measured in Julian centuries since J2000.0. More...
 
static CountedPtr< Matrix< Double > > mulPosEarthZ (Double time, Double epsilon)
 
static CountedPtr< Matrix< Double > > mulPosSunXY (Double time, Double epsilon)
 
static CountedPtr< Matrix< Double > > mulPosSunZ (Double time, Double epsilon)
 
static const RotMatrixposToRect ()
 Get the rotation matrix to change position from ecliptic to rectangular for Soma et al. More...
 
static const RotMatrixrectToPos ()
 Get the rotation matrix to change position from rectangular to ecliptic for Soma et al. More...
 
static const RotMatrixgalToSupergal ()
 Get the rotation matrix from galactic to supergalactic. More...
 
static const RotMatrixICRSToJ2000 ()
 Get the rotation matrix from ICRS to J2000/FK5. More...
 
static Double WGS84 (uInt which)
 Position related routines. More...
 
static Euler polarMotion (Double ut)
 Polar motion related routines. More...
 
static Double dUTC (Double utc)
 Time related routines
Note: WARNING given if correction not obtainable
More...
 
static Double dUT1 (Double utc)
 UT1-UTC (in s) for MJD tai TAI. More...
 
static Double dTAI (Double tai=0.0)
 TDT-TAI (in s) for MJD tai TAI. More...
 
static Double dTDT (Double ut1)
 TDB-TDT (in s) for MJD ut1 UT1. More...
 
static Double dTDB (Double tai)
 TCB-TDB (in s) for MJD tai TAI. More...
 
static Double dTCG (Double tai)
 TCG-TT (in s) for MJD tai TAI. More...
 
static Double GMST0 (Double ut1)
 GMST1 at MJD ut1 UT1. More...
 
static Double GMST00 (Double ut1, Double tt)
 GMST (IAU2000) including the ERA (IAU2000 Earth Rotation Angle) in rad. More...
 
static Double ERA00 (Double ut1)
 Earth Rotation Angle (IAU2000) in rad. More...
 
static Double sprime00 (Double tt)
 s' (IAU2000) in rad (approximate value) More...
 
static Double GMUT0 (Double gmst1)
 UT1 at GMSD gmst1 GMST1. More...
 
static Double UTtoST (Double ut1)
 Ratio UT1/MST at MJD ut1 UT1. More...
 

Private Member Functions

MeasTableoperator= (const MeasTable &other)
 Copy assign, NOT defined. More...
 

Static Private Member Functions

static void doInitObservatories ()
 
static void doInitLines ()
 
static void doInitSources ()
 
static void doInitIGRF ()
 
static void calcPrecesCoef (Double T, Polynomial< Double > result[3], const Double coeff[3][6])
 The calcNNN() functions are helpers to initialize function scope static variables in the NNN() callers. More...
 
static void calcPrecesCoef2000 (Polynomial< Double > result[3], const Double coeff[3][6])
 
static std::vector< Polynomial< Double > > calcFundArg (const Double coeff[6][4])
 Calculate fundArg. More...
 
static std::vector< Polynomial< Double > > calcFundArg00 (const Double coeff[6][5])
 
static std::vector< Polynomial< Double > > calcPlanArg00 (const Double coeff[8][2])
 
static void calcPlanetary (MeasJPL::Files *fil)
 Calculate planetary data. More...
 
static void calcPlanetaryConstants (Double cn[MeasTable::N_JPLconst])
 
static std::vector< Polynomial< Double > > calcAberArg ()
 Calculate aberration data. More...
 
static std::vector< Polynomial< Double > > calcAberArgDeriv ()
 
static std::vector< Polynomial< Double > > calcAber1950Arg ()
 
static std::vector< Polynomial< Double > > calcAber1950ArgDeriv ()
 
static std::vector< Vector< Double > > calcMulSunAber ()
 
static std::vector< Vector< Double > > calcMulEarthAber ()
 
static std::vector< Vector< Double > > calcAberETerm ()
 
static std::vector< Vector< Double > > calcVelocityLSRK ()
 Calculate velocity data. More...
 
static std::vector< Vector< Double > > calcVelocityLSR ()
 
static std::vector< Vector< Double > > calcVelocityLSRGal ()
 
static std::vector< Vector< Double > > calcVelocityLGROUP ()
 
static std::vector< Vector< Double > > calcVelocityCMB ()
 
static std::vector< Polynomial< Double > > calcPosArg ()
 Calculate Earth and Sun position data. More...
 
static std::vector< Polynomial< Double > > calcPosArgDeriv ()
 
static RotMatrix calcRectToPos ()
 Calculate some of the rotation matrices for coordinate conversion. More...
 
static RotMatrix calcICRSToJ2000 ()
 
static Statics_dUTC calc_dUTC ()
 
static Polynomial< DoublecalcGMST0 ()
 
static Polynomial< DoublecalcGMST00 ()
 
static Polynomial< DoublecalcERA00 ()
 
static Polynomial< DoublecalcGMUT0 ()
 
static Polynomial< DoublecalcUTtoST ()
 

Static Private Attributes

static std::once_flag theirPlanetaryInitOnceFlag
 Planetary table data. More...
 
static std::once_flag theirPlanetaryConstantsInitOnceFlag
 
static MeasTableMulSC theirMulSC
 Multipliers for nutation, etc. More...
 
static MeasTableMulSC1950 theirMulSC1950
 
static MeasTableMulSC2000A theirMulSC2000A
 
static MeasTableMulSC2000B theirMulSC2000B
 
static MeasTableMulAber theirMulAber
 
static MeasTableMulAber1950 theirMulAber1950
 
static MeasTableMulPosSunXY theirMulPosSunXY
 
static MeasTableMulPosSunZ theirMulPosSunZ
 
static MeasTableMulPosEarthXY theirMulPosEarthXY
 
static MeasTableMulPosEarthZ theirMulPosEarthZ
 
static std::once_flag theirObsInitOnceFlag
 Observatories table data. More...
 
static Vector< StringobsNams
 
static Vector< MPositionobsPos
 
static Vector< StringantResponsesPath
 
static std::once_flag theirLinesInitOnceFlag
 Spectral line table data. More...
 
static Vector< StringlineNams
 
static Vector< MFrequencylinePos
 
static std::once_flag theirSrcInitOnceFlag
 Sources table data. More...
 
static Vector< StringsrcNams
 
static Vector< MDirectionsrcPos
 
static std::once_flag theirIGRFInitOnceFlag
 IGRF data. More...
 
static Double dtimeIGRF
 
static Double firstIGRF
 
static Double lastIGRF
 
static Double time0IGRF
 
static Double timeIGRF
 
static std::vector< Vector< Double > > coefIGRF
 
static std::vector< Vector< Double > > dIGRF
 

Detailed Description

MeasTable provides Measure computing database data

Intended use:

Internal

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25
Test programs:
tMeasMath

Prerequisite

Etymology

MeasTable from Measure and Table

Synopsis

MeasTable contains the database interface for all data necessary for precession, nutation and other Measure related calculations.
All data are obtained by calls to a method. E.g. fundArg(1) will provide the first fundamental argument for nutation calculations, i.e. 'l'.
This class contains no constructors or destructors, only static methods and (static) constants.
References:
Explanatory supplements to the Astronomical Almanac
C. Ron and J. Vondrak, Bull. Astron. Inst. Czechosl. 37, p96, 1986
M. Soma, Th. Hirayama and H. Kinoshita, Celest. Mech. 41, p389, 1988
V.S. Gubanov, Astron. Zh. 49, p1112, 1972

Where strings are passed in as arguments (observatory names, sources), they will be case insensitive, and minimum match.

Example

Usage examples can be found in Precession

Motivation

To create a clean interface between the actual calculations and the methods to obtain the parameters for these calculations. Note that the tables are in general in the format and units found in the literature. This is to be able to easy check and change them. However, in the future re-arrangement could produce faster and more compact code.

To Do

Definition at line 104 of file MeasTable.h.

Member Enumeration Documentation

◆ JPLconst

Codes for JPL constants: order should be same as in MeasJPL, length less than or equal.

Enumerator
CAU 

Light velocity used in AU/d.

GMS 

Solar mass (GM0)/c2 in AU.

AU 

AU in km.

RADS 

Solar radius in AU.

N_JPLconst 

of codes

Definition at line 136 of file MeasTable.h.

◆ Types

Types to be used in different calls.

Enumerator
MERCURY 

Planetary information.

VENUS 
EARTH 
MARS 
JUPITER 
SATURN 
URANUS 
NEPTUNE 
PLUTO 
MOON 
SUN 
BARYSOLAR 

Solar system barycentre.

BARYEARTH 

Earth-Moon system barycentre.

NUTATION 

Nutations.

LIBRATION 

Librations.

N_Types 

Number of types.

Definition at line 110 of file MeasTable.h.

Member Function Documentation

◆ aber1950Arg()

static const Polynomial<Double>& casacore::MeasTable::aber1950Arg ( uInt  which)
static

◆ aber1950ArgDeriv()

static const Polynomial<Double>& casacore::MeasTable::aber1950ArgDeriv ( uInt  which)
static

◆ aberArg()

static const Polynomial<Double>& casacore::MeasTable::aberArg ( uInt  which)
static

Aberration related data.

Generate the polynomial for the fundamental arguments (l1-l8, w, D, l, l', F) for the Ron/Vondrak aberration calculations as a function of Julian centuries(J2000), or the comparable ones for the Gubanov expansion (B1950).

◆ aberArgDeriv()

static const Polynomial<Double>& casacore::MeasTable::aberArgDeriv ( uInt  which)
static

◆ AberETerm()

static const Vector<Double>& casacore::MeasTable::AberETerm ( uInt  which)
static

Get the E-terms of Aberration correction (0 for position, 1 for velocity)

◆ AntennaResponsesPath()

static Bool casacore::MeasTable::AntennaResponsesPath ( String antRespPath,
const String nam 
)
static

Get absolute path to AntennaResponses table of observatory nam.

It returns False if no valid path can be found or the observatory is unknown. If the observatory is known, antRespPath will be set to the entry in the AntennaResponses column of the Observatories table even if it doesn't describe a valid path; if the entry is not an absolute path, the data directory name will be prepended and validity verified.

◆ calc_dUTC()

static Statics_dUTC casacore::MeasTable::calc_dUTC ( )
staticprivate

◆ calcAber1950Arg()

static std::vector<Polynomial<Double> > casacore::MeasTable::calcAber1950Arg ( )
staticprivate

◆ calcAber1950ArgDeriv()

static std::vector<Polynomial<Double> > casacore::MeasTable::calcAber1950ArgDeriv ( )
staticprivate

◆ calcAberArg()

static std::vector<Polynomial<Double> > casacore::MeasTable::calcAberArg ( )
staticprivate

Calculate aberration data.

◆ calcAberArgDeriv()

static std::vector<Polynomial<Double> > casacore::MeasTable::calcAberArgDeriv ( )
staticprivate

◆ calcAberETerm()

static std::vector<Vector<Double> > casacore::MeasTable::calcAberETerm ( )
staticprivate

◆ calcERA00()

static Polynomial<Double> casacore::MeasTable::calcERA00 ( )
staticprivate

◆ calcFundArg()

static std::vector<Polynomial<Double> > casacore::MeasTable::calcFundArg ( const Double  coeff[6][4])
staticprivate

Calculate fundArg.

◆ calcFundArg00()

static std::vector<Polynomial<Double> > casacore::MeasTable::calcFundArg00 ( const Double  coeff[6][5])
staticprivate

◆ calcGMST0()

static Polynomial<Double> casacore::MeasTable::calcGMST0 ( )
staticprivate

◆ calcGMST00()

static Polynomial<Double> casacore::MeasTable::calcGMST00 ( )
staticprivate

◆ calcGMUT0()

static Polynomial<Double> casacore::MeasTable::calcGMUT0 ( )
staticprivate

◆ calcICRSToJ2000()

static RotMatrix casacore::MeasTable::calcICRSToJ2000 ( )
staticprivate

◆ calcMulEarthAber()

static std::vector<Vector<Double> > casacore::MeasTable::calcMulEarthAber ( )
staticprivate

◆ calcMulSunAber()

static std::vector<Vector<Double> > casacore::MeasTable::calcMulSunAber ( )
staticprivate

◆ calcPlanArg00()

static std::vector<Polynomial<Double> > casacore::MeasTable::calcPlanArg00 ( const Double  coeff[8][2])
staticprivate

◆ calcPlanetary()

static void casacore::MeasTable::calcPlanetary ( MeasJPL::Files fil)
staticprivate

Calculate planetary data.

◆ calcPlanetaryConstants()

static void casacore::MeasTable::calcPlanetaryConstants ( Double  cn[MeasTable::N_JPLconst])
staticprivate

◆ calcPosArg()

static std::vector<Polynomial<Double> > casacore::MeasTable::calcPosArg ( )
staticprivate

Calculate Earth and Sun position data.

◆ calcPosArgDeriv()

static std::vector<Polynomial<Double> > casacore::MeasTable::calcPosArgDeriv ( )
staticprivate

◆ calcPrecesCoef()

static void casacore::MeasTable::calcPrecesCoef ( Double  T,
Polynomial< Double result[3],
const Double  coeff[3][6] 
)
staticprivate

The calcNNN() functions are helpers to initialize function scope static variables in the NNN() callers.

Calculate precessionCoef

◆ calcPrecesCoef2000()

static void casacore::MeasTable::calcPrecesCoef2000 ( Polynomial< Double result[3],
const Double  coeff[3][6] 
)
staticprivate

◆ calcRectToPos()

static RotMatrix casacore::MeasTable::calcRectToPos ( )
staticprivate

Calculate some of the rotation matrices for coordinate conversion.

◆ calcUTtoST()

static Polynomial<Double> casacore::MeasTable::calcUTtoST ( )
staticprivate

◆ calcVelocityCMB()

static std::vector<Vector<Double> > casacore::MeasTable::calcVelocityCMB ( )
staticprivate

◆ calcVelocityLGROUP()

static std::vector<Vector<Double> > casacore::MeasTable::calcVelocityLGROUP ( )
staticprivate

◆ calcVelocityLSR()

static std::vector<Vector<Double> > casacore::MeasTable::calcVelocityLSR ( )
staticprivate

◆ calcVelocityLSRGal()

static std::vector<Vector<Double> > casacore::MeasTable::calcVelocityLSRGal ( )
staticprivate

◆ calcVelocityLSRK()

static std::vector<Vector<Double> > casacore::MeasTable::calcVelocityLSRK ( )
staticprivate

Calculate velocity data.

◆ diurnalAber()

static Double casacore::MeasTable::diurnalAber ( Double  radius,
Double  T 
)
static

Diurnal aberration factor.

◆ doInitIGRF()

static void casacore::MeasTable::doInitIGRF ( )
staticprivate

◆ doInitLines()

static void casacore::MeasTable::doInitLines ( )
staticprivate

◆ doInitObservatories()

static void casacore::MeasTable::doInitObservatories ( )
staticprivate

◆ doInitSources()

static void casacore::MeasTable::doInitSources ( )
staticprivate

◆ dPsiEps()

static Double casacore::MeasTable::dPsiEps ( uInt  which,
Double  T 
)
static

Get nutation angles corrections for UTC T in rad.

which = 0 : dPsi as given by IERS for IAU nutation theory; = 1: dEps as same.

◆ dTAI()

static Double casacore::MeasTable::dTAI ( Double  tai = 0.0)
static

TDT-TAI (in s) for MJD tai TAI.

Note this is equal to TT2000-TAI

◆ dTCG()

static Double casacore::MeasTable::dTCG ( Double  tai)
static

TCG-TT (in s) for MJD tai TAI.

◆ dTDB()

static Double casacore::MeasTable::dTDB ( Double  tai)
static

TCB-TDB (in s) for MJD tai TAI.

◆ dTDT()

static Double casacore::MeasTable::dTDT ( Double  ut1)
static

TDB-TDT (in s) for MJD ut1 UT1.

◆ dUT1()

static Double casacore::MeasTable::dUT1 ( Double  utc)
static

UT1-UTC (in s) for MJD tai TAI.

◆ dUTC()

static Double casacore::MeasTable::dUTC ( Double  utc)
static

Time related routines
Note: WARNING given if correction not obtainable

Thrown Exceptions

Give TAI-UTC (in s) for MJD utc UTC

◆ ERA00()

static Double casacore::MeasTable::ERA00 ( Double  ut1)
static

Earth Rotation Angle (IAU2000) in rad.

◆ frameBias00()

static RotMatrix casacore::MeasTable::frameBias00 ( )
static

Get the frame bias matrix for IAU2000 model.

◆ fundArg()

static const Polynomial<Double>& casacore::MeasTable::fundArg ( uInt  which)
static

Nutation related data.

Generate the polynomial for the fundamental arguments (eps, l, l', F, D, omega) as a function of Julian centuries

◆ fundArg1950()

static const Polynomial<Double>& casacore::MeasTable::fundArg1950 ( uInt  which)
static

◆ fundArg2000()

static const Polynomial<Double>& casacore::MeasTable::fundArg2000 ( uInt  which)
static

◆ galToSupergal()

static const RotMatrix& casacore::MeasTable::galToSupergal ( )
static

Get the rotation matrix from galactic to supergalactic.

Based on De Vaucouleurs 1976: Pole at 47.37/6.32 deg; 137.37 l0 Euler angles: 90, 83.68, 47.37 degrees

◆ GMST0()

static Double casacore::MeasTable::GMST0 ( Double  ut1)
static

GMST1 at MJD ut1 UT1.

◆ GMST00()

static Double casacore::MeasTable::GMST00 ( Double  ut1,
Double  tt 
)
static

GMST (IAU2000) including the ERA (IAU2000 Earth Rotation Angle) in rad.

◆ GMUT0()

static Double casacore::MeasTable::GMUT0 ( Double  gmst1)
static

UT1 at GMSD gmst1 GMST1.

◆ ICRSToJ2000()

static const RotMatrix& casacore::MeasTable::ICRSToJ2000 ( )
static

Get the rotation matrix from ICRS to J2000/FK5.

Based on the IAU 2000 resolutions (the bias matrix)

◆ IGRF()

static Vector<Double> casacore::MeasTable::IGRF ( Double  t)
static

Earth magnetic field (IGRF) data Get the harmonic terms for specified time (mjd)

◆ initIGRF()

static void casacore::MeasTable::initIGRF ( )
static

Initialise list of IGRF data Called using theirIGRFInitOnce.

◆ initLines()

static void casacore::MeasTable::initLines ( )
static

Rest frequencies.

Initialise list from internal Table for now Called using theirLinesInitOnce.

◆ initObservatories()

static void casacore::MeasTable::initObservatories ( )
static

Observatory positions.

Initialise list of all observatories from Observatories table Called using theirObsInitOnce.

◆ initSources()

static void casacore::MeasTable::initSources ( )
static

Source list positions.

Initialise list of all source from Sources table Called using theirSrcInitOnce.

◆ Line()

static Bool casacore::MeasTable::Line ( MFrequency obs,
const String nam 
)
static

Get frequency of line name (False if not present)

◆ Lines()

static const Vector<String>& casacore::MeasTable::Lines ( )
static

Get list of all frequencies.

◆ mulAber()

static CountedPtr<Matrix<Double> > casacore::MeasTable::mulAber ( Double  time,
Double  epsilon 
)
static

Generate the 'which' vector of the aberration series multipliers at T, measured in Julian centuries since J2000.0 (or J1900.0, yes, J1900.0, for B1950).

◆ mulAber1950()

static CountedPtr<Matrix<Double> > casacore::MeasTable::mulAber1950 ( Double  time,
Double  epsilon 
)
static

◆ mulAber1950Arg()

static const Double* casacore::MeasTable::mulAber1950Arg ( uInt  which)
static

◆ mulAberArg()

static const Double* casacore::MeasTable::mulAberArg ( uInt  which)
static

Generate the 'which' vector of the aberration series arguments.

◆ mulAberEarthArg()

static const Double* casacore::MeasTable::mulAberEarthArg ( uInt  which)
static

◆ mulAberSunArg()

static const Double* casacore::MeasTable::mulAberSunArg ( uInt  which)
static

◆ mulArg()

static const Double* casacore::MeasTable::mulArg ( uInt  which)
static

Generate the which' vector of the nutation series arguments.

◆ mulArg1950()

static const Double* casacore::MeasTable::mulArg1950 ( uInt  which)
static

◆ mulArg2000A()

static const Double* casacore::MeasTable::mulArg2000A ( uInt  which)
static

◆ mulArg2000B()

static const Double* casacore::MeasTable::mulArg2000B ( uInt  which)
static

◆ mulArgEqEqCT2000()

static const Double* casacore::MeasTable::mulArgEqEqCT2000 ( uInt  which)
static

Generate the which' vector of the equation of equinoxes (IAU2000) complementary terms series arguments.

◆ mulEarthAber()

static const Vector<Double>& casacore::MeasTable::mulEarthAber ( uInt  which)
static

◆ mulPlanArg2000A()

static const Double* casacore::MeasTable::mulPlanArg2000A ( uInt  which)
static

◆ mulPlanSC2000A()

static const Double* casacore::MeasTable::mulPlanSC2000A ( uInt  which)
static

◆ mulPosEarthXY()

static CountedPtr<Matrix<Double> > casacore::MeasTable::mulPosEarthXY ( Double  time,
Double  epsilon 
)
static

Generate the which' vector of the position series multipliers at T, measured in Julian centuries since J2000.0.

◆ mulPosEarthXYArg()

static const Double* casacore::MeasTable::mulPosEarthXYArg ( uInt  which)
static

Generate the which' vector of the position series arguments.

◆ mulPosEarthZ()

static CountedPtr<Matrix<Double> > casacore::MeasTable::mulPosEarthZ ( Double  time,
Double  epsilon 
)
static

◆ mulPosEarthZArg()

static const Double* casacore::MeasTable::mulPosEarthZArg ( uInt  which)
static

◆ mulPosSunXY()

static CountedPtr<Matrix<Double> > casacore::MeasTable::mulPosSunXY ( Double  time,
Double  epsilon 
)
static

◆ mulPosSunXYArg()

static const Double* casacore::MeasTable::mulPosSunXYArg ( uInt  which)
static

◆ mulPosSunZ()

static CountedPtr<Matrix<Double> > casacore::MeasTable::mulPosSunZ ( Double  time,
Double  epsilon 
)
static

◆ mulPosSunZArg()

static const Double* casacore::MeasTable::mulPosSunZArg ( uInt  which)
static

◆ mulSC()

static CountedPtr<Matrix<Double> > casacore::MeasTable::mulSC ( Double  time,
Double  epsilon 
)
static

Generate the which' vector of the nutation series multipliers at T, measured in Julian centuries since J2000.0, respectively B1900.0.

◆ mulSC1950()

static CountedPtr<Matrix<Double> > casacore::MeasTable::mulSC1950 ( Double  time,
Double  epsilon 
)
static

◆ mulSC2000A()

static CountedPtr<Matrix<Double> > casacore::MeasTable::mulSC2000A ( Double  time,
Double  epsilon 
)
static

◆ mulSC2000B()

static CountedPtr<Matrix<Double> > casacore::MeasTable::mulSC2000B ( Double  time,
Double  epsilon 
)
static

◆ mulSCEqEqCT2000()

static const Double* casacore::MeasTable::mulSCEqEqCT2000 ( uInt  which)
static

Generate the which' vector of the equation of equinoxes (IAU2000) complementary terms series multipliers at T, measured in Julian centuries since J2000.0, respectively B1900.0.

◆ mulSunAber()

static const Vector<Double>& casacore::MeasTable::mulSunAber ( uInt  which)
static

◆ Observatories()

static const Vector<String>& casacore::MeasTable::Observatories ( )
static

Get list of all observatories.

◆ Observatory()

static Bool casacore::MeasTable::Observatory ( MPosition obs,
const String nam 
)
static

Get position of observatory nam (False if not present)

◆ operator=()

MeasTable& casacore::MeasTable::operator= ( const MeasTable other)
private

Copy assign, NOT defined.

◆ Planetary() [1/2]

static Double casacore::MeasTable::Planetary ( MeasTable::JPLconst  what)
static

Get the JPL DE constant indicated.

◆ Planetary() [2/2]

static Vector<Double> casacore::MeasTable::Planetary ( MeasTable::Types  which,
Double  T 
)
static

Planetary (JPL DE) related data.

Get the position (AU or rad) and velocity (AU/d or rad/d) for specified code at TDB T. The ephemeris to use (now DE200 or DE405) can be selected with the 'measures.jpl.ephemeris' aipsrc resource (default DE200).

◆ planetaryArg2000()

static const Polynomial<Double>& casacore::MeasTable::planetaryArg2000 ( uInt  which)
static

Get the planetary arguments (L, L', F, D, Om, Me, Ve, E, Ma, Ju Sa, Ur, Ne, pre)

◆ polarMotion()

static Euler casacore::MeasTable::polarMotion ( Double  ut)
static

Polar motion related routines.

Get the polar motion (-x,-y,0)(2,1,3) angles at the given epoch

◆ posArg()

static const Polynomial<Double>& casacore::MeasTable::posArg ( uInt  which)
static

Earth and Sun position related data.

Fundamental arguments for Soma et al. methods

◆ posArgDeriv()

static const Polynomial<Double>& casacore::MeasTable::posArgDeriv ( uInt  which)
static

Precomputed derivative of PosArg.

◆ posToRect()

static const RotMatrix& casacore::MeasTable::posToRect ( )
static

Get the rotation matrix to change position from ecliptic to rectangular for Soma et al.

analytical expression

◆ precessionCoef()

static void casacore::MeasTable::precessionCoef ( Double  T,
Polynomial< Double result[3] 
)
static

Generate the precession calculation polynomials for a fixed Epoch T in the result area specified.

T is given in Julian centuries since J2000.0.

◆ precessionCoef1950()

static void casacore::MeasTable::precessionCoef1950 ( Double  T,
Polynomial< Double result[3] 
)
static

Generate the precession polynomials for 1950 system for a fixed Epoch T in the area specified.

T is given in Tropical centuries since B1850.0

◆ precessionCoef2000()

static void casacore::MeasTable::precessionCoef2000 ( Polynomial< Double result[3])
static

Generate the precession polynomials for IAU2000 system.

◆ precRate00()

static Double casacore::MeasTable::precRate00 ( const uInt  which)
static

Precession related data.

Get the precession-rate part of the IAU2000 precession-nutation models (which 0=dpsi (long) and 1=deps (obliquity) and 2 =0)

◆ rectToPos()

static const RotMatrix& casacore::MeasTable::rectToPos ( )
static

Get the rotation matrix to change position from rectangular to ecliptic for Soma et al.

analytical expression

◆ Source()

static Bool casacore::MeasTable::Source ( MDirection obs,
const String nam 
)
static

Get position of source nam (False if not present)

◆ Sources()

static const Vector<String>& casacore::MeasTable::Sources ( )
static

Get list of all sources.

◆ sprime00()

static Double casacore::MeasTable::sprime00 ( Double  tt)
static

s' (IAU2000) in rad (approximate value)

◆ useIAU2000()

static Bool casacore::MeasTable::useIAU2000 ( )
static

Selection related data.

Are the IAU2000 precession/nutation to be used or not (IAU1984) Note that an Aipsrc::reRead() is not reflected in the return value here.

◆ useIAU2000A()

static Bool casacore::MeasTable::useIAU2000A ( )
static

If IAU2000 model, do we use the high precision 2000A model? Note that an Aipsrc::reRead() is not reflected in the return value here.

◆ UTtoST()

static Double casacore::MeasTable::UTtoST ( Double  ut1)
static

Ratio UT1/MST at MJD ut1 UT1.

◆ velocityCMB()

static const Vector<Double>& casacore::MeasTable::velocityCMB ( uInt  which)
static

Velocity of Local Group wrt bary center (F.Ghigo): 308km/s towards l,b = 105,-7.

0 for J2000, 1 for B1950

◆ velocityLGROUP()

static const Vector<Double>& casacore::MeasTable::velocityLGROUP ( uInt  which)
static

Velocity of CMB wrt bary center (F.Ghigo): 369.5km/s towards l,b = 264.4,48.4.

0 for J2000, 1 for B1950

◆ velocityLSR()

static const Vector<Double>& casacore::MeasTable::velocityLSR ( uInt  which)
static

LSR (dynamical, IAU definition).

Velocity (9,12,7) km/s in galactic coordinates. Or 16.552945 towards l,b = 53.13, +25.02 deg. 0 gives J2000, 1 gives B1950 velocities.

◆ velocityLSRGal()

static const Vector<Double>& casacore::MeasTable::velocityLSRGal ( uInt  which)
static

Velocity of LSR with respect to galactic centre.

220 km/s in direction l,b = 270, +0 deg. 0 returns J2000, 1 B1950

◆ velocityLSRK()

static const Vector<Double>& casacore::MeasTable::velocityLSRK ( uInt  which)
static

LSR (kinematical) velocity conversion: 0 gives J2000; 1 gives B1950.

In both cases a velocity of 20.0 km/s is assumed, and a B1900 RA/Dec direction of (270,30) degrees. This value has been defined between the groups doing HI radio work in the mid 1950s.

◆ WGS84()

static Double casacore::MeasTable::WGS84 ( uInt  which)
static

Position related routines.

Equatorial radius (0) and flattening(1) of geodetic reference spheroids

Member Data Documentation

◆ antResponsesPath

Vector<String> casacore::MeasTable::antResponsesPath
staticprivate

Definition at line 547 of file MeasTable.h.

◆ coefIGRF

std::vector<Vector<Double> > casacore::MeasTable::coefIGRF
staticprivate

Definition at line 569 of file MeasTable.h.

◆ dIGRF

std::vector<Vector<Double> > casacore::MeasTable::dIGRF
staticprivate

Definition at line 570 of file MeasTable.h.

◆ dtimeIGRF

Double casacore::MeasTable::dtimeIGRF
staticprivate

Definition at line 564 of file MeasTable.h.

◆ firstIGRF

Double casacore::MeasTable::firstIGRF
staticprivate

Definition at line 565 of file MeasTable.h.

◆ lastIGRF

Double casacore::MeasTable::lastIGRF
staticprivate

Definition at line 566 of file MeasTable.h.

◆ lineNams

Vector<String> casacore::MeasTable::lineNams
staticprivate

Definition at line 552 of file MeasTable.h.

◆ linePos

Vector<MFrequency> casacore::MeasTable::linePos
staticprivate

Definition at line 553 of file MeasTable.h.

◆ obsNams

Vector<String> casacore::MeasTable::obsNams
staticprivate

Definition at line 545 of file MeasTable.h.

◆ obsPos

Vector<MPosition> casacore::MeasTable::obsPos
staticprivate

Definition at line 546 of file MeasTable.h.

◆ srcNams

Vector<String> casacore::MeasTable::srcNams
staticprivate

Definition at line 558 of file MeasTable.h.

◆ srcPos

Vector<MDirection> casacore::MeasTable::srcPos
staticprivate

Definition at line 559 of file MeasTable.h.

◆ theirIGRFInitOnceFlag

std::once_flag casacore::MeasTable::theirIGRFInitOnceFlag
staticprivate

IGRF data.

Definition at line 563 of file MeasTable.h.

◆ theirLinesInitOnceFlag

std::once_flag casacore::MeasTable::theirLinesInitOnceFlag
staticprivate

Spectral line table data.

Definition at line 551 of file MeasTable.h.

◆ theirMulAber

MeasTableMulAber casacore::MeasTable::theirMulAber
staticprivate

Definition at line 534 of file MeasTable.h.

◆ theirMulAber1950

MeasTableMulAber1950 casacore::MeasTable::theirMulAber1950
staticprivate

Definition at line 535 of file MeasTable.h.

◆ theirMulPosEarthXY

MeasTableMulPosEarthXY casacore::MeasTable::theirMulPosEarthXY
staticprivate

Definition at line 538 of file MeasTable.h.

◆ theirMulPosEarthZ

MeasTableMulPosEarthZ casacore::MeasTable::theirMulPosEarthZ
staticprivate

Definition at line 539 of file MeasTable.h.

◆ theirMulPosSunXY

MeasTableMulPosSunXY casacore::MeasTable::theirMulPosSunXY
staticprivate

Definition at line 536 of file MeasTable.h.

◆ theirMulPosSunZ

MeasTableMulPosSunZ casacore::MeasTable::theirMulPosSunZ
staticprivate

Definition at line 537 of file MeasTable.h.

◆ theirMulSC

MeasTableMulSC casacore::MeasTable::theirMulSC
staticprivate

Multipliers for nutation, etc.

Definition at line 530 of file MeasTable.h.

◆ theirMulSC1950

MeasTableMulSC1950 casacore::MeasTable::theirMulSC1950
staticprivate

Definition at line 531 of file MeasTable.h.

◆ theirMulSC2000A

MeasTableMulSC2000A casacore::MeasTable::theirMulSC2000A
staticprivate

Definition at line 532 of file MeasTable.h.

◆ theirMulSC2000B

MeasTableMulSC2000B casacore::MeasTable::theirMulSC2000B
staticprivate

Definition at line 533 of file MeasTable.h.

◆ theirObsInitOnceFlag

std::once_flag casacore::MeasTable::theirObsInitOnceFlag
staticprivate

Observatories table data.

Definition at line 544 of file MeasTable.h.

◆ theirPlanetaryConstantsInitOnceFlag

std::once_flag casacore::MeasTable::theirPlanetaryConstantsInitOnceFlag
staticprivate

Definition at line 525 of file MeasTable.h.

◆ theirPlanetaryInitOnceFlag

std::once_flag casacore::MeasTable::theirPlanetaryInitOnceFlag
staticprivate

Planetary table data.

Definition at line 524 of file MeasTable.h.

◆ theirSrcInitOnceFlag

std::once_flag casacore::MeasTable::theirSrcInitOnceFlag
staticprivate

Sources table data.

Definition at line 557 of file MeasTable.h.

◆ time0IGRF

Double casacore::MeasTable::time0IGRF
staticprivate

Definition at line 567 of file MeasTable.h.

◆ timeIGRF

Double casacore::MeasTable::timeIGRF
staticprivate

Definition at line 568 of file MeasTable.h.


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