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

Class to distinguish external and Measure internal Double. More...

#include <MVDouble.h>

Inheritance diagram for casacore::MVDouble:
casacore::MeasValue

Public Member Functions

 MVDouble ()
 Default constructor: generate a zero value. More...
 
 MVDouble (const MVDouble &other)
 Copy constructor. More...
 
MVDoubleoperator= (const MVDouble &other)
 Copy assignment. More...
 
 MVDouble (Double d)
 Constructor from Double. More...
 
 MVDouble (const Quantity &other)
 Constructor from Quantum : value taken will be the canonical value. More...
 
 MVDouble (const Quantum< Vector< Double > > &other)
 
 MVDouble (const Vector< Double > &other)
 Constructor from Vector. More...
 
 MVDouble (const Vector< Quantity > &other)
 
 ~MVDouble ()
 Destructor. More...
 
 operator Double () const
 Conversion operator. More...
 
MVDoubleoperator+= (const MVDouble &other)
 Addition. More...
 
MVDoubleoperator-= (const MVDouble &other)
 
Bool operator== (const MVDouble &other) const
 Comparisons. More...
 
Bool operator!= (const MVDouble &other) const
 
Bool near (const MVDouble &other, Double tol=1e-13) const
 
Bool nearAbs (const MVDouble &other, Double tol=1e-13) const
 
virtual uInt type () const
 Tell me your type. More...
 
virtual void print (ostream &os) const
 Print data. More...
 
virtual MeasValueclone () const
 Clone. More...
 
virtual Vector< DoublegetVector () const
 Adjust value: taken from base class, a NOP. 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 adjust ()
 Some of the Measure values used need the occasional adjustments to proper values. More...
 
virtual void adjust (Double &val)
 Adjust value and return a normalisation value. More...
 
virtual void readjust (Double val)
 Re-adjust, i.e. More...
 

Static Public Member Functions

static void assure (const MeasValue &in)
 

Private Attributes

Double val
 Value. More...
 

Detailed Description

Class to distinguish external and Measure internal Double.

Intended use:

Public interface

Review Status

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

Prerequisite

Etymology

From Measure, Value and Double

Synopsis

An MVDouble is a simple Double, to be used in simple, single value Measures. Requirements can be found in the MeasValue base class.
The only reasonable constructor is (but all MeasValue constructors are present) MVDouble(Double); and an operator Double takes care of all other possibilities. Its external use is for MeasConvert, to distinguish between input in internal Measure units, and values which have to have units applied.

Example

See e.g. MFrequency

Motivation

To aid coordinate transformations possibilities

Definition at line 83 of file MVDouble.h.

Constructor & Destructor Documentation

casacore::MVDouble::MVDouble ( )

Default constructor: generate a zero value.

casacore::MVDouble::MVDouble ( const MVDouble other)

Copy constructor.

casacore::MVDouble::MVDouble ( Double  d)

Constructor from Double.

casacore::MVDouble::MVDouble ( const Quantity other)

Constructor from Quantum : value taken will be the canonical value.

casacore::MVDouble::MVDouble ( const Quantum< Vector< Double > > &  other)
casacore::MVDouble::MVDouble ( const Vector< Double > &  other)

Constructor from Vector.

A zero value will be taken for an empty vector, the canonical value for a quantum vector.

Thrown Exceptions

casacore::MVDouble::MVDouble ( const Vector< Quantity > &  other)
casacore::MVDouble::~MVDouble ( )

Destructor.

Member Function Documentation

static void casacore::MVDouble::assure ( const MeasValue in)
static
virtual MeasValue* casacore::MVDouble::clone ( ) const
virtual

Clone.

Implements casacore::MeasValue.

virtual Vector<Quantum<Double> > casacore::MVDouble::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.

virtual Vector<Double> casacore::MVDouble::getVector ( ) const
virtual

Adjust value: taken from base class, a NOP.

Get the value in internal units

Implements casacore::MeasValue.

Bool casacore::MVDouble::near ( const MVDouble other,
Double  tol = 1e-13 
) const
Bool casacore::MVDouble::nearAbs ( const MVDouble other,
Double  tol = 1e-13 
) const
casacore::MVDouble::operator Double ( ) const

Conversion operator.

Bool casacore::MVDouble::operator!= ( const MVDouble other) const
MVDouble& casacore::MVDouble::operator+= ( const MVDouble other)

Addition.

MVDouble& casacore::MVDouble::operator-= ( const MVDouble other)
MVDouble& casacore::MVDouble::operator= ( const MVDouble other)

Copy assignment.

Bool casacore::MVDouble::operator== ( const MVDouble other) const

Comparisons.

virtual void casacore::MVDouble::print ( ostream &  os) const
virtual

Print data.

Implements casacore::MeasValue.

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

Set the internal value if correct values and dimensions.

Implements casacore::MeasValue.

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

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

Implements casacore::MeasValue.

virtual uInt casacore::MVDouble::type ( ) const
virtual

Tell me your type.

Implements casacore::MeasValue.

Member Data Documentation

Double casacore::MVDouble::val
private

Value.

Definition at line 158 of file MVDouble.h.


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