casa
$Rev:20696$
|
Aberration class and calculations. More...
#include <Aberration.h>
Public Types | |
enum | AberrationTypes { STANDARD, NONE, B1950 } |
Types of known Aberration calculations (at 1995/09/04 STANDARD == IAU1980) More... | |
Public Member Functions | |
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) w.r.t. | |
void | init () |
Re-initialise Aberration object. | |
void | init (AberrationTypes type) |
void | refresh () |
Refresh calculations. | |
Static Public Attributes | |
static const Double | INTV |
Interval to be used for linear approximation (in days) | |
Private Member Functions | |
void | copy (const Aberration &other) |
Copy. | |
void | fill () |
Fill an empty copy. | |
void | calcAber (Double t) |
Calculate Aberration angles for time t. | |
Private Attributes | |
AberrationTypes | method |
Method to be used. | |
Double | checkEpoch |
Check epoch for linear approximation. | |
Double | aval [3] |
Cached calculated angles. | |
Double | dval [3] |
Cached derivatives. | |
Int | lres |
To be able to use referenced results in simple calculations, a circular result buffer is used. | |
MVPosition | result [4] |
Last calculation. | |
Static Private Attributes | |
static uInt | interval_reg |
Interpolation interval. | |
static uInt | usejpl_reg |
JPL use. |
Aberration class and calculations.
Public interface
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:
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.
Definition at line 109 of file Aberration.h.
Types of known Aberration calculations (at 1995/09/04 STANDARD == IAU1980)
Definition at line 118 of file Aberration.h.
Default constructor, generates default J2000 Aberration identification.
casa::Aberration::Aberration | ( | const Aberration & | other | ) |
Copy constructor.
Constructor with type.
void casa::Aberration::calcAber | ( | Double | t | ) | [private] |
Calculate Aberration angles for time t.
void casa::Aberration::copy | ( | const Aberration & | other | ) | [private] |
Copy.
const MVPosition& casa::Aberration::derivative | ( | Double | epoch | ) |
Return derivative of Aberration (d-1) w.r.t.
time
void casa::Aberration::fill | ( | ) | [private] |
Fill an empty copy.
void casa::Aberration::init | ( | ) |
Re-initialise Aberration object.
void casa::Aberration::init | ( | AberrationTypes | type | ) |
const MVPosition& casa::Aberration::operator() | ( | Double | epoch | ) |
Operator () calculates the Aberration direction cosine vector.
Aberration& casa::Aberration::operator= | ( | const Aberration & | other | ) |
Copy assignment.
void casa::Aberration::refresh | ( | ) |
Refresh calculations.
Double casa::Aberration::aval[3] [private] |
Cached calculated angles.
Definition at line 157 of file Aberration.h.
Double casa::Aberration::checkEpoch [private] |
Check epoch for linear approximation.
Definition at line 155 of file Aberration.h.
Double casa::Aberration::dval[3] [private] |
Cached derivatives.
Definition at line 159 of file Aberration.h.
uInt casa::Aberration::interval_reg [static, private] |
Interpolation interval.
Definition at line 167 of file Aberration.h.
const Double casa::Aberration::INTV [static] |
Interval to be used for linear approximation (in days)
Definition at line 114 of file Aberration.h.
Int casa::Aberration::lres [private] |
To be able to use referenced results in simple calculations, a circular result buffer is used.
Current buffer pointer.
Definition at line 163 of file Aberration.h.
AberrationTypes casa::Aberration::method [private] |
Method to be used.
Definition at line 153 of file Aberration.h.
MVPosition casa::Aberration::result[4] [private] |
Last calculation.
Definition at line 165 of file Aberration.h.
uInt casa::Aberration::usejpl_reg [static, private] |
JPL use.
Definition at line 169 of file Aberration.h.