Class BaseUnitConcept
- java.lang.Object
-
- ptolemy.kernel.util.NamedObj
-
- ptolemy.kernel.InstantiableNamedObj
-
- ptolemy.kernel.Entity<T>
-
- ptolemy.kernel.ComponentEntity
-
- ptolemy.data.ontologies.Concept
-
- ptolemy.data.ontologies.InfiniteConcept
-
- ptolemy.data.ontologies.FlatTokenInfiniteConcept
-
- ptolemy.data.ontologies.lattice.unit.UnitConcept
-
- ptolemy.data.ontologies.lattice.unit.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$
- Author:
- Charles Shelton
- See Also:
BaseDimensionRepresentativeConcept
- Pt.AcceptedRating:
- Red (cshelton)
- Pt.ProposedRating:
- Red (cshelton)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
-
-
Field Summary
-
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 Description protected
BaseUnitConcept(Ontology ontology, BaseDimensionRepresentativeConcept representative, RecordToken unitInfo)
Create a new BaseUnitConcept, belonging to the given ontology.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method 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.
-
-