26#ifndef MEASURES_SOLARPOS_H
27#define MEASURES_SOLARPOS_H
32#include <casacore/casa/aips.h>
33#include <casacore/casa/Quanta/MVPosition.h>
SolarPos(const SolarPos &other)
Copy constructor.
void init(SolarPosTypes type)
const MVPosition & barySunDerivative(Double epoch)
MVPosition result[6]
Last calculation.
void refresh()
Refresh calculations.
const MVPosition & baryEarth(Double epoch)
Barycentric position of Earth.
void calcSun(Double t)
Calculate heliocentric barycentre position.
Double sval[3]
Cached calculated Sun positions.
Int lres
To be able to use references in simple calculations, results are calculated in a circular buffer.
static constexpr Double INTV
Interval to be used for linear approximation (in days).
void copy(const SolarPos &other)
Double checkEpoch
Check epoch for linear approximation.
const MVPosition & operator()(Double epoch)
Operator () calculates the geocentric Solar Position in AU.
void init()
Re-initialise SolarPos object.
SolarPosTypes
Types of known SolarPos calculations (at 1995/09/04 STANDARD == IAU1980).
static uInt interval_reg
Interpolation interval.
const MVPosition & derivative(Double epoch)
Return derivatives of SolarPos (d-1).
static std::once_flag initialize_once_flag
static uInt usejpl_reg
JPL use.
Double dsval[3]
Cached derivatives.
SolarPos & operator=(const SolarPos &other)
Copy assignment.
static void initialize_statics()
const MVPosition & barySun(Double epoch)
Barycentric position of Sun.
SolarPosTypes method
Method to be used.
const MVPosition & baryEarthDerivative(Double epoch)
void calcEarth(Double t)
Calculate heliocentric Earth position for time t.
SolarPos(SolarPosTypes type)
Constructor with type.
SolarPos()
Default constructor, generates default J2000 SolarPos identification.
Double deval[3]
Cached derivatives.
Double eval[3]
Cached calculated Earth positions.
this file contains all the compiler specific defines