Aberration.h

Classes

Aberration -- Aberration class and calculations (full description)

class Aberration

Types

enum AberrationTypes

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)

Description

Review Status

Date Reviewed:
yyyy/mm/dd
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: Epochs can be specified as the MJD (with defined constants MeasData::MJD2000 and MeasData::MJDB1950 or the actual MJD), leading to the following constructors: 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:

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

enum AberrationTypes

Types of known Aberration calculations (at 1995/09/04 STANDARD == IAU1980)

Aberration()

Default constructor, generates default J2000 Aberration identification

Aberration(const Aberration &other)

Copy constructor

Aberration(AberrationTypes type)

Constructor with type

Aberration &operator=(const Aberration &other)

Copy assignment

~Aberration()

const MVPosition &operator()(Double epoch)

Operator () calculates the Aberration direction cosine vector

const MVPosition &derivative (Double epoch)

Return derivative of Aberration (d-1)

void init()
void init(AberrationTypes type)

Re-initialise Aberration object

void refresh()

Refresh calculations

void copy(const Aberration &other)

Copy

void fill()

Fill an empty copy

void calcAber(Double t)

Calculate Aberration angles for time t