29 #ifndef MEASURES_MEASTABLE_H
30 #define MEASURES_MEASTABLE_H
454 const Double coeff[3][6]);
456 const Double coeff[3][6]);
474 static std::vector<Polynomial<Double> >
calcAberArg();
494 static std::vector<Polynomial<Double> >
calcPosArg();
570 static std::vector<Vector<Double> >
dIGRF;
static MeasTableMulPosSunZ theirMulPosSunZ
static Double dTDT(Double ut1)
TDB-TDT (in s) for MJD ut1 UT1.
static std::vector< Vector< Double > > calcMulSunAber()
A Measure: astronomical direction.
static const Polynomial< Double > & fundArg1950(uInt which)
static const Double * mulAber1950Arg(uInt which)
static const Vector< Double > & velocityLSRGal(uInt which)
Velocity of LSR with respect to galactic centre.
A Measure: position on Earth.
static std::once_flag theirPlanetaryConstantsInitOnceFlag
static Vector< MFrequency > linePos
static Polynomial< Double > calcUTtoST()
static const Vector< Double > & velocityLSR(uInt which)
LSR (dynamical, IAU definition).
static void doInitLines()
static Statics_dUTC calc_dUTC()
static const Double * mulAberArg(uInt which)
Generate the 'which' vector of the aberration series arguments.
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)
static const Polynomial< Double > & posArgDeriv(uInt which)
Precomputed derivative of PosArg.
static std::vector< Polynomial< Double > > calcPosArgDeriv()
static const Polynomial< Double > & aber1950ArgDeriv(uInt which)
static const Polynomial< Double > & aberArgDeriv(uInt which)
static Vector< String > antResponsesPath
TableExprNode time(const TableExprNode &node)
static MeasTableMulPosSunXY theirMulPosSunXY
static std::vector< Vector< Double > > calcVelocityCMB()
static const Vector< Double > & mulEarthAber(uInt which)
static const Double * mulPlanArg2000A(uInt which)
static MeasTableMulAber theirMulAber
static Polynomial< Double > calcERA00()
static Vector< String > srcNams
static std::vector< Polynomial< Double > > calcPlanArg00(const Double coeff[8][2])
static const Double * mulAberSunArg(uInt which)
static std::vector< Vector< Double > > calcAberETerm()
static const RotMatrix & galToSupergal()
Get the rotation matrix from galactic to supergalactic.
static Double UTtoST(Double ut1)
Ratio UT1/MST at MJD ut1 UT1.
static const Polynomial< Double > & fundArg2000(uInt which)
Class calculating the B1950 aberration multipliers.
static Double WGS84(uInt which)
Position related routines.
static std::vector< Polynomial< Double > > calcAber1950ArgDeriv()
static std::vector< Vector< Double > > calcVelocityLSRK()
Calculate velocity data.
static std::once_flag theirObsInitOnceFlag
Observatories table data.
Class calculating the B1950 nutation multipliers.
static std::vector< Polynomial< Double > > calcFundArg(const Double coeff[6][4])
Calculate fundArg.
static CountedPtr< Matrix< Double > > mulAber1950(Double time, Double epsilon)
Class calculating the J2000B nutation multipliers.
Calculate time related conversion data.
static Double diurnalAber(Double radius, Double T)
Diurnal aberration factor.
static CountedPtr< Matrix< Double > > mulSC2000B(Double time, Double epsilon)
static void initObservatories()
Observatory positions.
static std::once_flag theirLinesInitOnceFlag
Spectral line table data.
static MeasTableMulSC2000B theirMulSC2000B
static const Polynomial< Double > & aber1950Arg(uInt which)
static const Polynomial< Double > & aberArg(uInt which)
Aberration related data.
static Bool AntennaResponsesPath(String &antRespPath, const String &nam)
Get absolute path to AntennaResponses table of observatory nam.
Light velocity used in AU/d.
static void precessionCoef2000(Polynomial< Double > result[3])
Generate the precession polynomials for IAU2000 system.
static const Double * mulPosSunZArg(uInt which)
static void calcPrecesCoef2000(Polynomial< Double > result[3], const Double coeff[3][6])
static const Vector< String > & Observatories()
Get list of all observatories.
static MeasTableMulSC theirMulSC
Multipliers for nutation, etc.
static Double ERA00(Double ut1)
Earth Rotation Angle (IAU2000) in rad.
static std::vector< Polynomial< Double > > calcAberArgDeriv()
static Euler polarMotion(Double ut)
Polar motion related routines.
static Bool useIAU2000A()
If IAU2000 model, do we use the high precision 2000A model? Note that an Aipsrc::reRead() is not refl...
static const Double * mulArgEqEqCT2000(uInt which)
Generate the which' vector of the equation of equinoxes (IAU2000) complementary terms series argument...
static Double GMST00(Double ut1, Double tt)
GMST (IAU2000) including the ERA (IAU2000 Earth Rotation Angle) in rad.
Class calculating the XY earth position multipliers.
Class calculating the Z solar position multipliers.
static void calcPlanetary(MeasJPL::Files *fil)
Calculate planetary data.
A Measure: wave characteristics.
Types
Types to be used in different calls.
static std::once_flag theirSrcInitOnceFlag
Sources table data.
Class calculating the J2000A nutation multipliers.
static MeasTableMulAber1950 theirMulAber1950
static RotMatrix frameBias00()
Get the frame bias matrix for IAU2000 model.
Class calculating the XY solar position multipliers.
static Bool useIAU2000()
Selection related data.
static CountedPtr< Matrix< Double > > mulPosEarthXY(Double time, Double epsilon)
Generate the which' vector of the position series multipliers at T, measured in Julian centuries sinc...
static const Double * mulArg2000A(uInt which)
static const RotMatrix & ICRSToJ2000()
Get the rotation matrix from ICRS to J2000/FK5.
Referenced counted pointer for constant data.
Solar mass (GM0)/c2 in AU.
static MeasTableMulPosEarthXY theirMulPosEarthXY
static std::vector< Polynomial< Double > > calcAber1950Arg()
static const RotMatrix & rectToPos()
Get the rotation matrix to change position from rectangular to ecliptic for Soma et al...
static void doInitObservatories()
static Double dUTC(Double utc)
Time related routines Note: WARNING given if correction not obtainable
static Vector< String > lineNams
static void initLines()
Rest frequencies.
Class calculating the Z earth position multipliers.
static Double precRate00(const uInt which)
Precession related data.
static std::vector< Vector< Double > > calcMulEarthAber()
static Double dPsiEps(uInt which, Double T)
Get nutation angles corrections for UTC T in rad.
static Bool Source(MDirection &obs, const String &nam)
Get position of source nam (False if not present)
static Double sprime00(Double tt)
s' (IAU2000) in rad (approximate value)
bool Bool
Define the standard types used by Casacore.
static CountedPtr< Matrix< Double > > mulPosEarthZ(Double time, Double epsilon)
static const Double * mulPosEarthZArg(uInt which)
static const Double * mulArg(uInt which)
Generate the which' vector of the nutation series arguments.
static std::once_flag theirPlanetaryInitOnceFlag
Planetary table data.
static const Double * mulPlanSC2000A(uInt which)
static Bool Observatory(MPosition &obs, const String &nam)
Get position of observatory nam (False if not present)
JPLconst
Codes for JPL constants: order should be same as in MeasJPL, length less than or equal.
static Vector< MDirection > srcPos
static CountedPtr< Matrix< Double > > mulSC1950(Double time, Double epsilon)
static Double dTDB(Double tai)
TCB-TDB (in s) for MJD tai TAI.
static void calcPlanetaryConstants(Double cn[MeasTable::N_JPLconst])
static const Vector< String > & Lines()
Get list of all frequencies.
static std::vector< Vector< Double > > coefIGRF
static std::vector< Polynomial< Double > > calcFundArg00(const Double coeff[6][5])
static RotMatrix calcRectToPos()
Calculate some of the rotation matrices for coordinate conversion.
MeasTable provides Measure computing database data.
static const Double * mulArg1950(uInt which)
static Double dTAI(Double tai=0.0)
TDT-TAI (in s) for MJD tai TAI.
static void initIGRF()
Initialise list of IGRF data Called using theirIGRFInitOnce.
static const RotMatrix & posToRect()
Get the rotation matrix to change position from ecliptic to rectangular for Soma et al...
static std::once_flag theirIGRFInitOnceFlag
IGRF data.
static CountedPtr< Matrix< Double > > mulAber(Double time, Double epsilon)
Generate the 'which' vector of the aberration series multipliers at T, measured in Julian centuries s...
static std::vector< Vector< Double > > calcVelocityLGROUP()
Class calculating the standard aberration multipliers.
static CountedPtr< Matrix< Double > > mulSC2000A(Double time, Double epsilon)
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...
static Vector< String > obsNams
static void precessionCoef(Double T, Polynomial< Double > result[3])
Generate the precession calculation polynomials for a fixed Epoch T in the result area specified...
static MeasTableMulSC1950 theirMulSC1950
static CountedPtr< Matrix< Double > > mulPosSunXY(Double time, Double epsilon)
static const Double * mulSCEqEqCT2000(uInt which)
Generate the which' vector of the equation of equinoxes (IAU2000) complementary terms series multipli...
static const Vector< Double > & velocityLSRK(uInt which)
LSR (kinematical) velocity conversion: 0 gives J2000; 1 gives B1950.
static const Polynomial< Double > & fundArg(uInt which)
Nutation related data.
static const Polynomial< Double > & posArg(uInt which)
Earth and Sun position related data.
static const Vector< Double > & AberETerm(uInt which)
Get the E-terms of Aberration correction (0 for position, 1 for velocity)
static const Double * mulAberEarthArg(uInt which)
static std::vector< Vector< Double > > dIGRF
static MeasTableMulPosEarthZ theirMulPosEarthZ
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.
static Double GMST0(Double ut1)
GMST1 at MJD ut1 UT1.
String: the storage and methods of handling collections of characters.
static const Double * mulPosEarthXYArg(uInt which)
Generate the which' vector of the position series arguments.
static MeasTableMulSC2000A theirMulSC2000A
MeasTable & operator=(const MeasTable &other)
Copy assign, NOT defined.
static Vector< Double > Planetary(MeasTable::Types which, Double T)
Planetary (JPL DE) related data.
static const Vector< Double > & velocityCMB(uInt which)
Velocity of Local Group wrt bary center (F.Ghigo): 308km/s towards l,b = 105,-7.
static Polynomial< Double > calcGMST00()
static std::vector< Polynomial< Double > > calcPosArg()
Calculate Earth and Sun position data.
static const Double * mulArg2000B(uInt which)
static Double GMUT0(Double gmst1)
UT1 at GMSD gmst1 GMST1.
static Polynomial< Double > calcGMUT0()
static CountedPtr< Matrix< Double > > mulPosSunZ(Double time, Double epsilon)
static const Vector< String > & Sources()
Get list of all sources.
static Polynomial< Double > calcGMST0()
static Vector< MPosition > obsPos
static std::vector< Vector< Double > > calcVelocityLSR()
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() caller...
static std::vector< Polynomial< Double > > calcAberArg()
Calculate aberration data.
static void initSources()
Source list positions.
static Bool Line(MFrequency &obs, const String &nam)
Get frequency of line name (False if not present)
Class calculating the standard nutation multipliers.
Earth-Moon system barycentre.
static RotMatrix calcICRSToJ2000()
static CountedPtr< Matrix< Double > > mulSC(Double time, Double epsilon)
Generate the which' vector of the nutation series multipliers at T, measured in Julian centuries sinc...
static std::vector< Vector< Double > > calcVelocityLSRGal()
static const Vector< Double > & mulSunAber(uInt which)
static void doInitSources()
static Double dUT1(Double utc)
UT1-UTC (in s) for MJD tai TAI.
static Vector< Double > IGRF(Double t)
Earth magnetic field (IGRF) data Get the harmonic terms for specified time (mjd)
static Double dTCG(Double tai)
TCG-TT (in s) for MJD tai TAI.
static const Double * mulPosSunXYArg(uInt which)
Vector of Euler rotation angles.