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.
| casacore::Aberration::Aberration | ( | ) |
Default constructor, generates default J2000 Aberration identification.
| casacore::Aberration::Aberration | ( | const Aberration & | other | ) |
Copy constructor.
| casacore::Aberration::Aberration | ( | AberrationTypes | type | ) |
Constructor with type.
| casacore::Aberration::~Aberration | ( | ) |
| void casacore::Aberration::calcAber | ( | Double | t | ) | [private] |
Calculate Aberration angles for time t.
| void casacore::Aberration::copy | ( | const Aberration & | other | ) | [private] |
Copy.
| const MVPosition& casacore::Aberration::derivative | ( | Double | epoch | ) |
Return derivative of Aberration (d-1) w.r.t.
time
| void casacore::Aberration::fill | ( | ) | [private] |
Fill an empty copy.
| void casacore::Aberration::init | ( | AberrationTypes | type | ) |
| void casacore::Aberration::init | ( | ) |
Re-initialise Aberration object.
| const MVPosition& casacore::Aberration::operator() | ( | Double | epoch | ) |
Operator () calculates the Aberration direction cosine vector.
| Aberration& casacore::Aberration::operator= | ( | const Aberration & | other | ) |
Copy assignment.
| void casacore::Aberration::refresh | ( | ) |
Refresh calculations.
Double casacore::Aberration::aval[3] [private] |
Cached calculated angles.
Definition at line 157 of file Aberration.h.
Double casacore::Aberration::checkEpoch [private] |
Check epoch for linear approximation.
Definition at line 155 of file Aberration.h.
Double casacore::Aberration::dval[3] [private] |
Cached derivatives.
Definition at line 159 of file Aberration.h.
uInt casacore::Aberration::interval_reg [static, private] |
Interpolation interval.
Definition at line 167 of file Aberration.h.
const Double casacore::Aberration::INTV [static] |
Interval to be used for linear approximation (in days).
Definition at line 114 of file Aberration.h.
Int casacore::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 casacore::Aberration::method [private] |
Method to be used.
Definition at line 153 of file Aberration.h.
MVPosition casacore::Aberration::result[4] [private] |
Last calculation.
Definition at line 165 of file Aberration.h.
uInt casacore::Aberration::usejpl_reg [static, private] |
JPL use.
Definition at line 169 of file Aberration.h.
1.6.1