casacore
Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
casacore::Aberration Class Reference

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...
 
Aberrationoperator= (const Aberration &other)
 Copy assignment. More...
 
 ~Aberration ()
 
const MVPositionoperator() (Double epoch)
 Operator () calculates the Aberration direction cosine vector. More...
 
const MVPositionderivative (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...
 

Detailed Description

Aberration class and calculations

Intended use:

Public interface

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25
Test programs:
tMeasMath

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.

Definition at line 109 of file Aberration.h.

Member Enumeration Documentation

◆ AberrationTypes

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

Enumerator
STANDARD 
NONE 
B1950 

Definition at line 118 of file Aberration.h.

Constructor & Destructor Documentation

◆ Aberration() [1/3]

casacore::Aberration::Aberration ( )

Default constructor, generates default J2000 Aberration identification.

◆ Aberration() [2/3]

casacore::Aberration::Aberration ( const Aberration other)

Copy constructor.

◆ Aberration() [3/3]

casacore::Aberration::Aberration ( AberrationTypes  type)

Constructor with type.

◆ ~Aberration()

casacore::Aberration::~Aberration ( )

Member Function Documentation

◆ calcAber()

void casacore::Aberration::calcAber ( Double  t)
private

Calculate Aberration angles for time t.

◆ copy()

void casacore::Aberration::copy ( const Aberration other)
private

Copy.

◆ derivative()

const MVPosition& casacore::Aberration::derivative ( Double  epoch)

Return derivative of Aberration (d-1) w.r.t.

time

◆ fill()

void casacore::Aberration::fill ( )
private

Fill an empty copy.

◆ init() [1/2]

void casacore::Aberration::init ( )

Re-initialise Aberration object.

◆ init() [2/2]

void casacore::Aberration::init ( AberrationTypes  type)

◆ operator()()

const MVPosition& casacore::Aberration::operator() ( Double  epoch)

Operator () calculates the Aberration direction cosine vector.

◆ operator=()

Aberration& casacore::Aberration::operator= ( const Aberration other)

Copy assignment.

◆ refresh()

void casacore::Aberration::refresh ( )

Refresh calculations.

Member Data Documentation

◆ aval

Double casacore::Aberration::aval[3]
private

Cached calculated angles.

Definition at line 157 of file Aberration.h.

◆ checkEpoch

Double casacore::Aberration::checkEpoch
private

Check epoch for linear approximation.

Definition at line 155 of file Aberration.h.

◆ dval

Double casacore::Aberration::dval[3]
private

Cached derivatives.

Definition at line 159 of file Aberration.h.

◆ interval_reg

uInt casacore::Aberration::interval_reg
staticprivate

Interpolation interval.

Definition at line 167 of file Aberration.h.

◆ INTV

const Double casacore::Aberration::INTV
static

Interval to be used for linear approximation (in days)

Definition at line 114 of file Aberration.h.

◆ lres

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.

◆ method

AberrationTypes casacore::Aberration::method
private

Method to be used.

Definition at line 153 of file Aberration.h.

◆ result

MVPosition casacore::Aberration::result[4]
private

Last calculation.

Definition at line 165 of file Aberration.h.

◆ usejpl_reg

uInt casacore::Aberration::usejpl_reg
staticprivate

JPL use.

Definition at line 169 of file Aberration.h.


The documentation for this class was generated from the following file: