26#ifndef MEASURES_PRECESSION_H
27#define MEASURES_PRECESSION_H
31#include <casacore/casa/aips.h>
32#include <casacore/casa/Quanta/Euler.h>
33#include <casacore/scimath/Functionals/Polynomial.h>
void init()
Re-initialise Precession object.
Euler result_p[4]
Last calculation.
Precession(PrecessionTypes type, Double catepoch=0)
Constructor with epoch in Julian days.
static std::once_flag initialize_once_flag
Double cent_p
Length of century (depending on Bessel or Julian days).
void calcPrec(Double t)
Calculate precession angles for time t.
void copy(const Precession &other)
Make a copy.
void refresh()
Refresh calculations.
PrecessionTypes
Types of known precession calculations (at 1995/09/04 STANDARD == IAU1976), from 2004/01/01 will be I...
Int lres_p
To reference results, and use a few in interim calculations, results are saced in a circular buffer.
static uInt myInterval_reg
Interpolation interval aipsrc registration.
Precession()
Default constructor, generates default J2000 precession identification.
void fillEpoch()
Create correct default fixedEpoch and catalogue epoch data.
Double pval_p[3]
Cached calculated angles.
Double T_p
Fixed epoch in centuries from base epoch.
void init(PrecessionTypes type, Double catepoch=0)
static constexpr Double INTV
Default interval to be used for linear approximation (in days).
Double refEpoch_p
Reference epoch;.
Precession(const Precession &other)
Copy constructor (deep copy).
const Euler & operator()(Double epoch)
Return the precession angles (for IAU2000 including the IAU 2000 corrections) at the specified epoch ...
Double fixedEpoch_p
Fixed epoch to be used (MJD).
Double dval_p[3]
Cached derivatives.
const Euler & derivative(Double epoch)
Return derivative of precession (d-1).
PrecessionTypes method_p
Method to be used.
Polynomial< Double > zeta_p[3]
Polynomial coefficients for zeta,z,theta.
Double checkEpoch_p
Check epoch.
Precession & operator=(const Precession &other)
Copy assignment (deep copy).
this file contains all the compiler specific defines