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 |
Get the full name for the specified dimension.
Get the tag for specified dimension.
|
protected |
Referenced by UnitDim().
|
protected |
Compare for unequal dimensions.
Division subtracts the unit dimensions of all SI units.
|
friend |
Output the SI dimensions (e.g.
'km/s/g' as 'm kg-1 s-1')
|
private |