casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
casacore::Aberration Class Reference

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...
 
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

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

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 ( )

Member Function Documentation

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 ( )

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.

Member Data Documentation

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
staticprivate

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
staticprivate

JPL use.

Definition at line 169 of file Aberration.h.


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