casacore
|
describes a unit in basic SI unit dimensions More...
#include <UnitDim.h>
Public Types | |
enum | Dim { Dm, Dkg, Ds, DA, DK, Dcd, Dmol, Drad, Dsr, Dnon, Dnumber } |
Enumeration of the order and number of the defining SI units. More... | |
Public Member Functions | |
~UnitDim () | |
Destructor. More... | |
Protected Member Functions | |
void | init () |
void | init (Int pos) |
Private Member Functions | |
UnitDim () | |
Construct a unit with zero dimension in all SI units. More... | |
UnitDim (const UnitDim &other) | |
Copy constructor. More... | |
UnitDim (Int pos) | |
Construct a unit dimension with a one in the indicated position (as Dim enumerator) and zeroes in all other units. More... | |
UnitDim & | operator= (const UnitDim &other) |
Assignment (copy semantics) More... | |
UnitDim | pow (Int p) |
Raise all SI defining units to an integer power. More... | |
UnitDim & | operator*= (const UnitDim &other) |
Operators to combine unit dimensions. More... | |
UnitDim | operator* (const UnitDim &other) const |
UnitDim & | operator/= (const UnitDim &other) |
Division subtracts the unit dimensions of all SI units. More... | |
UnitDim | operator/ (const UnitDim &other) const |
Bool | operator== (const UnitDim &other) const |
Compare dimension of units. More... | |
Bool | operator!= (const UnitDim &other) const |
Compare for unequal dimensions. More... | |
Static Private Member Functions | |
static const String & | dimName (uInt which) |
Get the tag for specified dimension. More... | |
static const String & | dimFull (uInt which) |
Get the full name for the specified dimension. More... | |
Private Attributes | |
Long | unitLong [UNITDIM_DLNUMBER] |
1-byte vector to contain the dimensions of the defining SI units (using same storage as Long vector for speed reasons) More... | |
Char * | unitDim |
Friends | |
class | UnitVal |
class | UnitMap |
ostream & | operator<< (ostream &os, const UnitDim &du) |
Output the SI dimensions (e.g. More... | |
describes a unit in basic SI unit dimensions
Internal
Based on Unit and the Dimension of a unit in SI defining units
Physical units are strings consisting of one or more names of known basic units, separated by '.' or ' ' (for multiplication) or '/' (for division). Each name can optionally be preceded by a standard decimal prefix, and/or followed by an (optionally signed) exponent. Example: km/s/(Mpc.s)2 is identical to km.s-1.Mpc-2.s-2
See the Unit for more details.
The UnitDim class is a private class for use by the Unit classes. It contains the dimensions in the 9 basic defining SI units of a unit.
The UnitDim class has been separated to keep the interface between a complex unit description string and the basic SI units clean.
casacore::UnitDim::~UnitDim | ( | ) |
Destructor.
|
inlineprivate |
|
private |
Copy constructor.
|
inlineprivate |
Construct a unit dimension with a one in the indicated position (as Dim enumerator) and zeroes in all other units.
Definition at line 120 of file UnitDim.h.
References dimFull(), dimName(), init(), operator!=(), operator*(), operator*=(), operator/(), operator/=(), operator=(), operator==(), and pow().
Get the full name for the specified dimension.
Referenced by UnitDim().
Get the tag for specified dimension.
Referenced by UnitDim().
|
protected |
Referenced by UnitDim().
|
protected |
Compare for unequal dimensions.
Referenced by UnitDim().
Referenced by UnitDim().
Operators to combine unit dimensions.
Multiplication adds the unit dimensions of all SI units
Referenced by UnitDim().
Referenced by UnitDim().
Division subtracts the unit dimensions of all SI units.
Referenced by UnitDim().
Assignment (copy semantics)
Referenced by UnitDim().
Raise all SI defining units to an integer power.
Referenced by UnitDim().
|
friend |
Output the SI dimensions (e.g.
'km/s/g' as 'm kg-1 s-1')
|
private |