casacore
|
A class for high precision time. More...
#include <MVEpoch.h>
Public Member Functions | |
MVEpoch () | |
Default constructor, generates default 0 epoch. More... | |
MVEpoch (const MVEpoch &other) | |
Copy constructor. More... | |
MVEpoch (Double inday, Double infrac=0) | |
Constructor with time in days. More... | |
MVEpoch (const Vector< Double > &inday) | |
MVEpoch (const Quantity &in) | |
Constructor with Quantities. More... | |
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. More... | |
MVEpoch & | operator+= (const MVEpoch &other) |
Add times. More... | |
MVEpoch | operator+ (const MVEpoch &other) const |
MVEpoch & | operator-= (const MVEpoch &other) |
Difference times. More... | |
MVEpoch | operator- (const MVEpoch &other) const |
Bool | operator== (const MVEpoch &other) const |
Comparisons. More... | |
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. More... | |
virtual void | adjust (Double &res) |
Adjust value and return a normalisation value. More... | |
Double | get () const |
Get value in days. More... | |
Quantity | getTime () const |
Get value with units. More... | |
Quantity | getTime (const Unit &unit) const |
Double | getDay () const |
Get value of integer days. More... | |
Double | getDayFraction () const |
Get fraction of days. More... | |
virtual void | print (ostream &os) const |
Print a value. More... | |
virtual MeasValue * | clone () const |
Clone a value. More... | |
virtual Vector< Double > | getVector () const |
Get the value in internal units. More... | |
virtual void | putVector (const Vector< Double > &in) |
Set the value from internal units (set 0 for empty vector) More... | |
virtual Vector< Quantum< Double > > | getRecordValue () const |
Get the internal value as a Vector<Quantity> . More... | |
virtual Bool | putValue (const Vector< Quantum< Double > > &in) |
Set the internal value if correct values and dimensions. More... | |
Public Member Functions inherited from casacore::MeasValue | |
void | dummy_constr () const |
Each derived class should have at least the following constructors: More... | |
virtual | ~MeasValue () |
Destructor. More... | |
void | dummy_operator () const |
The following operators should be present at least. More... | |
virtual Vector< Quantum< Double > > | getXRecordValue () const |
virtual Vector< Quantum< Double > > | getTMRecordValue () const |
virtual void | readjust (Double val) |
Re-adjust, i.e. More... | |
Static Public Member Functions | |
static void | assure (const MeasValue &in) |
Tell me your type. More... | |
Static Public Attributes | |
static const Double | secInDay |
Constants. More... | |
static const Unit | unitDay |
Private Member Functions | |
Double | makeDay (const Quantity &in) const |
Make days from quantity. More... | |
void | addTime (Double in) |
Add time from days. More... | |
Private Attributes | |
Double | wday |
Whole days Note that if higher precision is needed, the splitting could be in 0.001 days and fractions thereof. More... | |
Double | frday |
Fraction of days. More... | |
A class for high precision time.
Public interface
MVEpoch from Measure, Value and Epoch
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 See MEpoch
To have high precision timing
casacore::MVEpoch::MVEpoch | ( | ) |
Default constructor, generates default 0 epoch.
casacore::MVEpoch::MVEpoch | ( | const MVEpoch & | other | ) |
Copy constructor.
casacore::MVEpoch::MVEpoch | ( | const Quantity & | in | ) |
Constructor with Quantities.
casacore::MVEpoch::~MVEpoch | ( | ) |
|
private |
Add time from days.
|
virtual |
Adjust the time to its constituent parts.
The returned result is always 1.0
Reimplemented from casacore::MeasValue.
|
virtual |
Adjust value and return a normalisation value.
Reimplemented from casacore::MeasValue.
|
static |
Tell me your type.
|
virtual |
Clone a value.
Implements casacore::MeasValue.
Double casacore::MVEpoch::get | ( | ) | const |
Get value in days.
Double casacore::MVEpoch::getDay | ( | ) | const |
Get value of integer days.
Double casacore::MVEpoch::getDayFraction | ( | ) | const |
Get fraction of days.
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.
Quantity casacore::MVEpoch::getTime | ( | ) | const |
Get value with units.
Get the value in internal units.
Implements casacore::MeasValue.
|
virtual |
Print a value.
Implements casacore::MeasValue.
Set the internal value if correct values and dimensions.
Implements casacore::MeasValue.
Set the value from internal units (set 0 for empty vector)
Implements casacore::MeasValue.
|
static |
|
private |