Aberration.h
Classes
- Aberration -- Aberration class and calculations (full description)
Types
- STANDARD
-
- NONE
-
- B1950
-
Interface
- Public Members
- Aberration()
- Aberration(const Aberration &other)
- Aberration(AberrationTypes type)
- Aberration &operator=(const Aberration &other)
- ~Aberration()
- const MVPosition &operator()(Double epoch)
- const MVPosition &derivative (Double epoch)
- void init()
- void init(AberrationTypes type)
- void refresh()
- Private Members
- void copy(const Aberration &other)
- void fill()
- void calcAber(Double t)
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
- Programs:
- Tests:
Prerequisite
Etymology
Aberration
Synopsis
Aberration forms the class for Aberration calculations. It is a simple
container with the selected method, and the mean epoch.
The method is selected from one of the following:
- Aberration::STANDARD (at 1995/09/04 the IAU1980 definition)
- Aberration::NONE
- Aberration::B1950
Epochs can be specified as the MJD (with defined constants MeasData::MJD2000
and MeasData::MJDB1950 or the actual MJD),
leading to the following constructors:
- Aberration() default; assuming JD2000, IAU1980
- Aberration(method) assuming the correct default epoch of
JD2000 or B1950
- Aberration(method,epoch) with epoch Double(MJD).
Actual Aberration for a certain Epoch is calculated by the () operator
as Aberration(epoch), with epoch Double MJD, values returned as an
MVPosition.
The derivative (d-1) can be obtained as well by
derivative(epoch).
The following details can be set with the
Aipsrc mechanism:
- measures.aberration.d_interval: approximation interval as time
(fraction of days is default unit) over which linear approximation
is used
- measures.aberration.b_usejpl: use the JPL database values for IAU1980.
Else analytical expression, relative error about 10-9
Note that the JPL database to be used can be set with
measures.jpl.ephemeris (at the moment of writing DE200 (default),
or DE405). If using the JPL database, the d_interval (and the
output of derivative()) are irrelevant.
Example
Motivation
To calculate the Aberration angles. An alternate route could have been
a global function, but having a simple container allows
caching of some calculations for speed.
Using MJD (JD-2400000.5) rather than JD is for precision reasons.
To Do
Member Description
Types of known Aberration calculations (at 1995/09/04 STANDARD == IAU1980)
Default constructor, generates default J2000 Aberration identification
Aberration(const Aberration &other)
Copy constructor
Constructor with type
Aberration &operator=(const Aberration &other)
Copy assignment
Operator () calculates the Aberration direction cosine vector
Return derivative of Aberration (d-1)
Re-initialise Aberration object
Refresh calculations
void copy(const Aberration &other)
Copy
Fill an empty copy
Calculate Aberration angles for time t