ptolemy.data.ontologies.lattice.unit

## Class BaseUnitConcept

• All Implemented Interfaces:
java.lang.Cloneable, InequalityTerm, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

```public class BaseUnitConcept
extends UnitConcept```
A concept in the unitSystem ontology for a specific unit for a specific physical dimension. A unit for a base dimension is defined by the physical dimension it measures and the multiplication factor and offset values required to convert a value in its unit measurement to a unit measurement in the SI unit for this dimension. For example, to represent the units for measuring temperature in degrees Fahrenheit, the multiplication factor and offset are specified as what is needed to convert Fahrenheit to Kelvin:
• unitFactor = 5.0/9.0
• unitOffset = 459.67

To convert a temperature measurement value in degrees F to degrees K, apply the formula:
`value in K = (value in F + unitOffset) * unitFactor`

Inversely, to convert a measurement from the SI unit (K) to this unit (F), apply this formula:
`value in F = (value in K) / unitFactor - unitOffset`

So far temperature is the only dimension that requires an offset. All the other dimensions only require a multiplication factor, so their offset is always zero. For example, To represent the position dimension units in kilometers (km):

• unitFactor = 1000.0
• unitOffset = 0.0

The SI unit for position is meters (m) so the kilometers unitFactor is 1000.0 and there is zero offset.

This class is an infinite concept so that an arbitrary number of different unit measurements can be represented for any physical dimension. All that is required is specify the name of units and the multiplication factor and offset needed to convert the unit to the SI unit for that dimension.

Since:
Ptolemy II 10.0
Version:
\$Id: BaseUnitConcept.java 70398 2014-10-22 23:44:32Z cxh \$
Author:
Charles Shelton
`BaseDimensionRepresentativeConcept`
Accepted Rating:
 Red (cshelton)
Proposed Rating:
 Red (cshelton)

• ### Nested classes/interfaces inherited from class ptolemy.kernel.Entity

`Entity.ContainedObjectsIterator`

• ### Fields inherited from class ptolemy.data.ontologies.lattice.unit.UnitConcept

`_unitFactor, _unitOffset`
• ### Fields inherited from class ptolemy.data.ontologies.FlatTokenInfiniteConcept

`_representative, _tokenValue`
• ### Fields inherited from class ptolemy.data.ontologies.Concept

`isAcceptable`
• ### Fields inherited from class ptolemy.kernel.util.NamedObj

`_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS`
• ### Constructor Summary

Constructors
Modifier Constructor and Description
`protected ` ```BaseUnitConcept(Ontology ontology, BaseDimensionRepresentativeConcept representative, RecordToken unitInfo)```
Create a new BaseUnitConcept, belonging to the given ontology.
• ### Method Summary

All Methods
Modifier and Type Method and Description
`static BaseUnitConcept` ```createBaseUnitConcept(Ontology ontology, BaseDimensionRepresentativeConcept representative, RecordToken unitInfo)```
Create a new base unit concept, belonging to the given ontology, with an automatically generated name.
• ### Methods inherited from class ptolemy.data.ontologies.lattice.unit.UnitConcept

`canBeConvertedTo, getDimension, getUnitFactor, getUnitName, getUnitOffset, toString`
• ### Methods inherited from class ptolemy.data.ontologies.FlatTokenInfiniteConcept

`compare, createFlatTokenInfiniteConcept, equals, getColor, getRepresentative, getTokenValue, greatestLowerBound, hashCode, leastUpperBound`
• ### Methods inherited from class ptolemy.data.ontologies.Concept

`getAssociatedObject, getOntology, getValue, getVariables, initialize, isAboveOrEqualTo, isSettable, isValueAcceptable, setValue`
• ### Methods inherited from class ptolemy.kernel.ComponentEntity

`_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, clone, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, newPort, propagateExistence, setContainer, setName`
• ### Methods inherited from class ptolemy.kernel.Entity

`_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, connectionsChanged, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName`
• ### Methods inherited from class ptolemy.kernel.InstantiableNamedObj

`_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition`
• ### Methods inherited from class ptolemy.kernel.util.NamedObj

`_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeChanged, attributeDeleted, attributeList, attributeList, attributeTypeChanged, clone, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, validateSettables, workspace`
• ### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`
• ### Methods inherited from interface ptolemy.kernel.util.Derivable

`getDerivedLevel, getDerivedList, propagateValue`
• ### Methods inherited from interface ptolemy.kernel.util.Nameable

`description, getDisplayName, getFullName, getName, getName`
• ### Constructor Detail

• #### BaseUnitConcept

```protected BaseUnitConcept(Ontology ontology,
BaseDimensionRepresentativeConcept representative,
RecordToken unitInfo)
throws IllegalActionException,
NameDuplicationException```
Create a new BaseUnitConcept, belonging to the given ontology.
Parameters:
`ontology` - The ontology to which this concept belongs.
`representative` - The finite concept that represents the physical dimension for the set infinite concepts that represent units for this dimension in the ontology lattice.
`unitInfo` - The record token value that has the name and scale factor information for this unit.
Throws:
`NameDuplicationException` - Should never be thrown.
`IllegalActionException` - If the base class throws it.
• ### Method Detail

• #### createBaseUnitConcept

```public static BaseUnitConcept createBaseUnitConcept(Ontology ontology,
BaseDimensionRepresentativeConcept representative,
RecordToken unitInfo)
throws IllegalActionException```
Create a new base unit concept, belonging to the given ontology, with an automatically generated name.
Parameters:
`ontology` - The ontology to which this concept belongs.
`representative` - The finite concept that represents where the infinite token concepts belong in the ontology lattice.
`unitInfo` - The token value for this BaseUnitConcept.
Returns:
The newly created RecordConcept.
Throws:
`IllegalActionException` - If the base class throws it.