Loading...
Searching...
No Matches
casacore::MVEpoch Class Reference
casa package (libcasa_casa) » Quanta_module

More...

`#include <MVEpoch.h>`

## Public Member Functions

| MVEpoch ()
| Default constructor, generates default 0 epoch.
| MVEpoch (const MVEpoch &other)
| Copy constructor.
| MVEpoch (Double inday, Double infrac=0)
| Constructor with time in days.
| MVEpoch (const Vector< Double > &inday)
| MVEpoch (const Quantity &in)
| Constructor with Quantities.
| MVEpoch (const Quantity &in1, const Quantity &in2)
| MVEpoch (const Quantum< Vector< Double > > &in)
| MVEpoch (const Vector< Quantity > &in)
| ~MVEpoch ()
MVEpoch & | operator= (const MVEpoch &other)
| Copy assignment.
MVEpoch & | operator+= (const MVEpoch &other)
| Add times.
MVEpoch | operator+ (const MVEpoch &other) const
MVEpoch & | operator-= (const MVEpoch &other)
| Difference times.
MVEpoch | operator- (const MVEpoch &other) const
Bool | operator== (const MVEpoch &other) const
| Comparisons.
Bool | operator!= (const MVEpoch &other) const
Bool | near (const MVEpoch &other, Double tol=1e-13) const
Bool | nearAbs (const MVEpoch &other, Double tol=1e-13) const
virtual void | adjust ()
| Adjust the time to its constituent parts.
virtual void | adjust (Double &res)
| Adjust value and return a normalisation value.
Double | get () const
| Get value in days.
Quantity | getTime () const
| Get value with units.
Quantity | getTime (const Unit &unit) const
Double | getDay () const
| Get value of integer days.
Double | getDayFraction () const
| Get fraction of days.
virtual void | print (ostream &os) const
| Print a value.
virtual MeasValue * | clone () const
| Clone a value.
virtual Vector< Double > | getVector () const
| Get the value in internal units.
virtual void | putVector (const Vector< Double > &in)
| Set the value from internal units (set 0 for empty vector).
virtual Vector< Quantum< Double > > | getRecordValue () const
| Get the internal value as a Vector<Quantity>.
virtual Bool | putValue (const Vector< Quantum< Double > > &in)
| Set the internal value if correct values and dimensions.
Public Member Functions inherited from casacore::MeasValue
void | dummy_constr () const
| Each derived class should have at least the following constructors:
virtual | ~MeasValue ()
| Destructor.
void | dummy_operator () const
| The following operators should be present at least.
virtual Vector< Quantum< Double > > | getXRecordValue () const
virtual Vector< Quantum< Double > > | getTMRecordValue () const
virtual void | readjust (Double val)
| Re-adjust, i.e.

## Static Public Member Functions

static void | assure (const MeasValue &in)
| Tell me your type.

## Static Public Attributes

static const Double | secInDay
| Constants.
static const Unit | unitDay

## Private Member Functions

Double | makeDay (const Quantity &in) const
| Make days from quantity.
void | addTime (Double in)
| Add time from days.

## Private Attributes

Double | wday
| Whole days Note that if higher precision is needed, the splitting could be in 0.001 days and fractions thereof.
Double | frday
| Fraction of days.

## Detailed Description

A class for high precision time

### Intended use:

Public interface

### Review Status

Reviewed By:
  tcornwel
Date Reviewed:
  1996/02/22
Test programs:
  tMeasMath

### Prerequisite

- MeasValue class

### Etymology

MVEpoch from Measure, Value and Epoch

### Synopsis

MVEpoch is a class for high precision (10-16 s) epochs over a period of 6*1010 a.
MVEpochs can be compared, a time interval can be added or subtracted, and the time difference can be found. The following constructors:

- MVEpoch() default; assuming 0
- MVEpoch(Double) with time given in days
- MVEpoch(Double, Double=0) with times given in days
- MVEpoch(Quantity, Quantity=0) with times given
- MVEpoch(Quantum<Vector<Double> >) with times given
- MVEpoch(Vector<Double>) with times in days
- MVEpoch(Vector<Quantity>) with times

### Example

See MEpoch

### Motivation

To have high precision timing

### To Do

- A proper high precision time, including multiplication etc should be considered. E.g. a multi-byte number with 6 bytes day and 8 bytes fractional day.

Definition at line 87 of file MVEpoch.h.

## Constructor & Destructor Documentation

## MVEpoch() [1/8]

casacore::MVEpoch::MVEpoch | ( |  | ) |

Default constructor, generates default 0 epoch.

Referenced by MVEpoch(), near(), nearAbs(), operator!=(), operator+(), operator+=(), operator-(), operator-=(), operator=(), and operator==().

## MVEpoch() [2/8]

casacore::MVEpoch::MVEpoch | ( | const MVEpoch & | other | ) |

Copy constructor.

References MVEpoch().

## MVEpoch() [3/8]

casacore::MVEpoch::MVEpoch | ( | Double | inday,
|  | Double | infrac = 0 )

Constructor with time in days.

## MVEpoch() [4/8]

casacore::MVEpoch::MVEpoch | ( | const Vector< Double > & | inday | ) |

## MVEpoch() [5/8]

casacore::MVEpoch::MVEpoch | ( | const Quantity & | in | ) |

Constructor with Quantities.

## MVEpoch() [6/8]

casacore::MVEpoch::MVEpoch | ( | const Quantity & | in1,
|  | const Quantity & | in2 )

## MVEpoch() [7/8]

casacore::MVEpoch::MVEpoch | ( | const Quantum< Vector< Double > > & | in | ) |

## MVEpoch() [8/8]

casacore::MVEpoch::MVEpoch | ( | const Vector< Quantity > & | in | ) |

## ~MVEpoch()

casacore::MVEpoch::~MVEpoch | ( |  | ) |

## Member Function Documentation

## addTime()

void casacore::MVEpoch::addTime | ( | Double | in | ) |

private

Add time from days.

## adjust() [1/2]

virtual void casacore::MVEpoch::adjust | ( |  | ) |

virtual

Adjust the time to its constituent parts.

The returned result is always 1.0

Reimplemented from casacore::MeasValue.

## adjust() [2/2]

virtual void casacore::MVEpoch::adjust | ( | Double & | val | ) |

virtual

Adjust value and return a normalisation value.

Reimplemented from casacore::MeasValue.

## assure()

void casacore::MVEpoch::assure | ( | const MeasValue & | in | ) |

static

Tell me your type.

## clone()

virtual MeasValue * casacore::MVEpoch::clone | ( |  | ) | const

virtual

Clone a value.

Implements casacore::MeasValue.

## get()

Double casacore::MVEpoch::get | ( |  | ) | const

Get value in days.

## getDay()

Double casacore::MVEpoch::getDay | ( |  | ) | const

Get value of integer days.

## getDayFraction()

Double casacore::MVEpoch::getDayFraction | ( |  | ) | const

Get fraction of days.

## getRecordValue()

virtual Vector< Quantum< Double > > casacore::MVEpoch::getRecordValue | ( |  | ) | const

virtual

Get the internal value as a Vector<Quantity>.

Usable in records. The getXRecordValue() gets additional information for records. Note that the Vectors could be empty.

Implements casacore::MeasValue.

## getTime() [1/2]

Quantity casacore::MVEpoch::getTime | ( |  | ) | const

Get value with units.

## getTime() [2/2]

Quantity casacore::MVEpoch::getTime | ( | const Unit & | unit | ) | const

## getVector()

virtual Vector< Double > casacore::MVEpoch::getVector | ( |  | ) | const

virtual

Get the value in internal units.

Implements casacore::MeasValue.

## makeDay()

Double casacore::MVEpoch::makeDay | ( | const Quantity & | in | ) | const

private

Make days from quantity.

## near()

Bool casacore::MVEpoch::near | ( | const MVEpoch & | other,
|  | Double | tol = 1e-13 ) const

References MVEpoch().

## nearAbs()

Bool casacore::MVEpoch::nearAbs | ( | const MVEpoch & | other,
|  | Double | tol = 1e-13 ) const

References MVEpoch().

## operator!=()

Bool casacore::MVEpoch::operator!= | ( | const MVEpoch & | other | ) | const

References MVEpoch().

## operator+()

MVEpoch casacore::MVEpoch::operator+ | ( | const MVEpoch & | other | ) | const

References MVEpoch().

## operator+=()

MVEpoch & casacore::MVEpoch::operator+= | ( | const MVEpoch & | other | ) |

Add times.

References MVEpoch().

## operator-()

MVEpoch casacore::MVEpoch::operator- | ( | const MVEpoch & | other | ) | const

References MVEpoch().

## operator-=()

MVEpoch & casacore::MVEpoch::operator-= | ( | const MVEpoch & | other | ) |

Difference times.

References MVEpoch().

## operator=()

MVEpoch & casacore::MVEpoch::operator= | ( | const MVEpoch & | other | ) |

Copy assignment.

References MVEpoch().

## operator==()

Bool casacore::MVEpoch::operator== | ( | const MVEpoch & | other | ) | const

Comparisons.

References MVEpoch().

## print()

virtual void casacore::MVEpoch::print | ( | ostream & | os | ) | const

virtual

Print a value.

Implements casacore::MeasValue.

## putValue()

virtual Bool casacore::MVEpoch::putValue | ( | const Vector< Quantum< Double > > & | in | ) |

virtual

Set the internal value if correct values and dimensions.

Implements casacore::MeasValue.

## putVector()

virtual void casacore::MVEpoch::putVector | ( | const Vector< Double > & | in | ) |

virtual

Set the value from internal units (set 0 for empty vector).

Implements casacore::MeasValue.

## Member Data Documentation

## frday

Double casacore::MVEpoch::frday

private

Fraction of days.

Definition at line 195 of file MVEpoch.h.

## secInDay

const Double casacore::MVEpoch::secInDay

static

Constants.

Definition at line 140 of file MVEpoch.h.

## unitDay

const Unit casacore::MVEpoch::unitDay

static

Definition at line 141 of file MVEpoch.h.

## wday

Double casacore::MVEpoch::wday

private

Whole days Note that if higher precision is needed, the splitting could be in 0.001 days and fractions thereof.

Definition at line 193 of file MVEpoch.h.

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

- casa/Quanta/MVEpoch.h