casacore
Public Member Functions | Protected Attributes | List of all members
casacore::QBase Class Referenceabstract

More...

#include <QBase.h>

Public Member Functions

 QBase ()
 Default constructor, generates "". More...
 
 QBase (const Unit &s)
 Construct dimensioned QBase (e.g. More...
 
virtual ~QBase ()
 Destructor. More...
 
const StringgetUnit () const
 Get units of QBase
More...
 
void setUnit (const Unit &s)
 Re-specify parts of a QBase
More...
 
void setUnit (const QBase &other)
 Set new unit, copied from specified QBase, without changing value. More...
 
Bool isConform (const Unit &s) const
 Check for conformal matching units (e.g. More...
 
Bool isConform (const QBase &other) const
 Using units specified in QBase. More...
 
virtual QBaseclone () const =0
 Get a copy of Quantum. More...
 
virtual const UnitgetFullUnit () const =0
 Get the unit attached to the Quantum (use getUnit() if only interested in the String part of the unit) More...
 
virtual void print (ostream &os) const =0
 Print a Quantum. More...
 
virtual uInt type () const =0
 Get the type of derived Quantum (using QuantumType). More...
 

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
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
Quantum< Double > Quantity
Definition: Quantum.h:38
double Double
Definition: aipstype.h:55

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

◆ QBase() [1/2]

casacore::QBase::QBase ( )

Default constructor, generates "".

◆ QBase() [2/2]

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

Construct dimensioned QBase (e.g.

'km/Mpc')

Thrown Exceptions

◆ ~QBase()

virtual casacore::QBase::~QBase ( )
virtual

Destructor.

Member Function Documentation

◆ clone()

virtual QBase* casacore::QBase::clone ( ) const
pure virtual

◆ getFullUnit()

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< casacore::Vector< Double > >, and casacore::Quantum< Vector< T > >.

◆ getUnit()

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

Get units of QBase

Return the string representation of the current units attached to QBase

◆ isConform() [1/2]

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

Using units specified in QBase.

◆ isConform() [2/2]

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

Check for conformal matching units (e.g.

dam and Mpc)
Using specified units

◆ print()

virtual void casacore::QBase::print ( ostream &  os) const
pure virtual

◆ setUnit() [1/2]

void casacore::QBase::setUnit ( const QBase other)

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

◆ setUnit() [2/2]

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

Re-specify parts of a QBase

Set new unit, without changing value

◆ type()

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< casacore::Vector< Double > >, and casacore::Quantum< Vector< T > >.

Member Data Documentation

◆ qUnit

Unit casacore::QBase::qUnit
protected

Definition at line 135 of file QBase.h.


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