Package ptolemy.domains.de.lib
Class Derivative
- java.lang.Object
- 
- All Implemented Interfaces:
- java.lang.Cloneable,- Actor,- Executable,- FiringsRecordable,- Initializable,- SequenceActor,- TimedActor,- TypedActor,- Changeable,- Debuggable,- DebugListener,- Derivable,- Instantiable,- ModelErrorHandler,- MoMLExportable,- Moveable,- Nameable
 
 public class Derivative extends DETransformer Output the discrete derivative of the input, y[n] = (x[n] - x[n-1])/dt, where dt is the time gap between input events. Output is not generated until two inputs have been consumed.The output of this actor is constrained to be a double, and input must be castable to a double. If the input signal is not left-continuous, the derivative will be either infinite or undefined and an exception is thrown. In postfire(), if an event is present on the reset port, this actor resets to its initial state, and will not output until two subsequent inputs have been consumed. This is useful if the input signal is switched on and off, in which case the time gap between events becomes large and would otherwise effect the value of the derivative for one sample. - Since:
- Ptolemy II 8.0
- Version:
- $Id: Derivative.java$
- Author:
- Jeff C. Jensen
- See Also:
- Differential
 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class ptolemy.kernel.EntityEntity.ContainedObjectsIterator
 
- 
 - 
Field SummaryFields Modifier and Type Field Description TypedIOPortresetThe reset port, which has undeclared type.- 
Fields inherited from class ptolemy.domains.de.lib.DETransformerinput, output
 - 
Fields inherited from class ptolemy.actor.TypedAtomicActor_typesValid
 - 
Fields inherited from class ptolemy.actor.AtomicActor_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
 - 
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
 - 
Fields inherited from interface ptolemy.actor.ExecutableCOMPLETED, NOT_READY, STOP_ITERATING
 
- 
 - 
Constructor SummaryConstructors Constructor Description Derivative(CompositeEntity container, java.lang.String name)Construct an actor with the given container and name.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectclone(Workspace workspace)Clone the actor into the specified workspace.voidfire()Consume at most one token from the input port and output its value minus the value of the input read in the previous iteration, divided by the time gap between the two events.voidinitialize()Reset to indicate that no input has yet been seen.booleanpostfire()Record the most recent input as the latest input.- 
Methods inherited from class ptolemy.actor.TypedAtomicActor_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
 - 
Methods inherited from class ptolemy.actor.AtomicActor_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup
 - 
Methods inherited from class ptolemy.kernel.ComponentEntity_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
 - 
Methods inherited from class ptolemy.kernel.Entity_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, 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, 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, toString, validateSettables, workspace
 - 
Methods inherited from class java.lang.Objectequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface ptolemy.actor.ActorcreateReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
 - 
Methods inherited from interface ptolemy.kernel.util.DerivablegetDerivedLevel, getDerivedList, propagateValue
 - 
Methods inherited from interface ptolemy.actor.ExecutableisFireFunctional, isStrict, iterate, prefire, stop, stopFire, terminate
 - 
Methods inherited from interface ptolemy.actor.InitializableaddInitializable, preinitialize, removeInitializable, wrapup
 - 
Methods inherited from interface ptolemy.kernel.util.Nameabledescription, getContainer, getDisplayName, getFullName, getName, getName, setName
 
- 
 
- 
- 
- 
Field Detail- 
resetpublic TypedIOPort reset The reset port, which has undeclared type. If this port receives a token, this actor resets to its initial state, and no output is generated until two inputs have been received.
 
- 
 - 
Constructor Detail- 
Derivativepublic Derivative(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException Construct an actor with the given container and name.- Parameters:
- container- The container.
- name- The name of this actor.
- Throws:
- IllegalActionException- If the actor cannot be contained by the proposed container.
- NameDuplicationException- If the container already has an actor with this name.
 
 
- 
 - 
Method Detail- 
clonepublic java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException Clone the actor into the specified workspace. This calls the base class and then sets the ports.- Overrides:
- clonein class- TypedAtomicActor
- Parameters:
- workspace- The workspace for the new object.
- Returns:
- A new actor.
- Throws:
- java.lang.CloneNotSupportedException- If a derived class has has an attribute that cannot be cloned.
- See Also:
- NamedObj.exportMoML(Writer, int, String),- NamedObj.setDeferringChangeRequests(boolean)
 
 - 
firepublic void fire() throws IllegalActionExceptionConsume at most one token from the input port and output its value minus the value of the input read in the previous iteration, divided by the time gap between the two events. If there has been no previous iteration, no output is sent. If there is no input, then produce no output.- Specified by:
- firein interface- Executable
- Overrides:
- firein class- AtomicActor<TypedIOPort>
- Throws:
- IllegalActionException- If subtraction or division is not supported by the supplied tokens.
 
 - 
initializepublic void initialize() throws IllegalActionExceptionReset to indicate that no input has yet been seen.- Specified by:
- initializein interface- Initializable
- Overrides:
- initializein class- AtomicActor<TypedIOPort>
- Throws:
- IllegalActionException- If the parent class throws it.
 
 - 
postfirepublic boolean postfire() throws IllegalActionExceptionRecord the most recent input as the latest input. If a reset event has been received, process it here.- Specified by:
- postfirein interface- Executable
- Overrides:
- postfirein class- AtomicActor<TypedIOPort>
- Returns:
- True if execution can continue into the next iteration.
- Throws:
- IllegalActionException- If the base class throws it.
 
 
- 
 
-