casacore::QBase Class Reference

Base for Quantities (i.e. dimensioned values). More...

#include <QBase.h>

Inheritance diagram for casacore::QBase:
casacore::Quantum< Qtype > casacore::Quantum< Vector< T > > casacore::QVector< T >

List of all members.

Public Member Functions

 QBase ()
 Default constructor, generates "".
 QBase (const QBase &other)
 Copy constructor.
 QBase (const Unit &s)
 Construct dimensioned QBase (e.g.
virtual ~QBase ()
 Destructor.
QBaseoperator= (const QBase &other)
 Assignment (copy).
virtual QBaseclone () const =0
 Get a copy of Quantum.
virtual const UnitgetFullUnit () const =0
 Get the unit attached to the Quantum (use getUnit() if only interested in the String part of the unit).
virtual void print (ostream &os) const =0
 Print a Quantum.
virtual uInt type () const =0
 Get the type of derived Quantum (using QuantumType).



const StringgetUnit () const
 Get units of QBase.
void setUnit (const Unit &s)
 Re-specify parts of a QBase.
void setUnit (const QBase &other)
 Set new unit, copied from specified QBase, without changing value.
Bool isConform (const Unit &s) const
 Check for conformal matching units (e.g.
Bool isConform (const QBase &other) const
 Using units specified in QBase.

Protected Attributes

Unit qUnit

Detailed Description

Base for Quantities (i.e. dimensioned values).

Intended use:

Internal

Review Status

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

Prerequisite

Etymology

QBase is the base class for Quantum .

Synopsis

Quantities are values with a unit. Their basic specification can be one of two forms:

 Quantity( Double value, String unit);  // or: Unit unit
 Quantum<Type> ( Type value, String unit)       // or: Unit unit

See Quantum for details.

Motivation

To provide the possibilty of mixing units from different Quantum<T1>, Quantum<T2>

To Do

Definition at line 80 of file QBase.h.


Constructor & Destructor Documentation

casacore::QBase::QBase (  ) 

Default constructor, generates "".

casacore::QBase::QBase ( const QBase other  ) 

Copy constructor.

casacore::QBase::QBase ( const Unit s  ) 

Construct dimensioned QBase (e.g.

'km/Mpc')

Thrown Exceptions

virtual casacore::QBase::~QBase (  )  [virtual]

Destructor.


Member Function Documentation

virtual QBase* casacore::QBase::clone (  )  const [pure virtual]
virtual const Unit& casacore::QBase::getFullUnit (  )  const [pure virtual]

Get the unit attached to the Quantum (use getUnit() if only interested in the String part of the unit).

Implemented in casacore::Quantum< Qtype >, casacore::Quantum< Double >, casacore::Quantum< Vector< Double > >, and casacore::Quantum< Vector< T > >.

const String& casacore::QBase::getUnit (  )  const

Get units of QBase.

Return the string representation of the current units attached to QBase

Bool casacore::QBase::isConform ( const QBase other  )  const

Using units specified in QBase.

Bool casacore::QBase::isConform ( const Unit s  )  const

Check for conformal matching units (e.g.

dam and Mpc) Using specified units

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

Assignment (copy).

Reimplemented in casacore::Quantum< Qtype >.

virtual void casacore::QBase::print ( ostream &  os  )  const [pure virtual]
void casacore::QBase::setUnit ( const QBase other  ) 

Set new unit, copied from specified QBase, without changing value.

void casacore::QBase::setUnit ( const Unit s  ) 

Re-specify parts of a QBase.

Set new unit, without changing value

virtual uInt casacore::QBase::type (  )  const [pure virtual]

Get the type of derived Quantum (using QuantumType).

All should have: static uInt myType();

Implemented in casacore::Quantum< Qtype >, casacore::Quantum< Double >, casacore::Quantum< Vector< Double > >, and casacore::Quantum< Vector< T > >.


Member Data Documentation

Definition at line 141 of file QBase.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1