casacore
|
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. More... | |
Aberration (const Aberration &other) | |
Copy constructor. More... | |
Aberration (AberrationTypes type) | |
Constructor with type. More... | |
Aberration & | operator= (const Aberration &other) |
Copy assignment. More... | |
~Aberration () | |
const MVPosition & | operator() (Double epoch) |
Operator () calculates the Aberration direction cosine vector. More... | |
const MVPosition & | derivative (Double epoch) |
Return derivative of Aberration (d-1) w.r.t. More... | |
void | init () |
Re-initialise Aberration object. More... | |
void | init (AberrationTypes type) |
void | refresh () |
Refresh calculations. More... | |
Static Public Attributes | |
static const Double | INTV |
Interval to be used for linear approximation (in days) More... | |
Private Member Functions | |
void | copy (const Aberration &other) |
Copy. More... | |
void | fill () |
Fill an empty copy. More... | |
void | calcAber (Double t) |
Calculate Aberration angles for time t. More... | |
Private Attributes | |
AberrationTypes | method |
Method to be used. More... | |
Double | checkEpoch |
Check epoch for linear approximation. More... | |
Double | aval [3] |
Cached calculated angles. More... | |
Double | dval [3] |
Cached derivatives. More... | |
Int | lres |
To be able to use referenced results in simple calculations, a circular result buffer is used. More... | |
MVPosition | result [4] |
Last calculation. More... | |
Static Private Attributes | |
static uInt | interval_reg |
Interpolation interval. More... | |
static uInt | usejpl_reg |
JPL use. More... | |
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)
Enumerator | |
---|---|
STANDARD | |
NONE | |
B1950 |
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 | ( | ) |
|
private |
Calculate Aberration angles for time t.
|
private |
Copy.
const MVPosition& casacore::Aberration::derivative | ( | Double | epoch | ) |
Return derivative of Aberration (d-1) w.r.t.
time
|
private |
Fill an empty copy.
void casacore::Aberration::init | ( | ) |
Re-initialise Aberration object.
void casacore::Aberration::init | ( | AberrationTypes | type | ) |
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.
|
private |
Cached calculated angles.
Definition at line 157 of file Aberration.h.
|
private |
Check epoch for linear approximation.
Definition at line 155 of file Aberration.h.
|
private |
Cached derivatives.
Definition at line 159 of file Aberration.h.
|
staticprivate |
Interpolation interval.
Definition at line 167 of file Aberration.h.
|
static |
Interval to be used for linear approximation (in days)
Definition at line 114 of file Aberration.h.
|
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.
|
private |
Method to be used.
Definition at line 153 of file Aberration.h.
|
private |
Last calculation.
Definition at line 165 of file Aberration.h.
|
staticprivate |
JPL use.
Definition at line 169 of file Aberration.h.