ptolemy.actor.lib
Class ArrayLevelCrossing
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.ArrayLevelCrossing
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class ArrayLevelCrossing
- extends TypedAtomicActor
Search an array from the specified starting index and report the
index of the first item in the array that is below or above the
specified threshold. If there is no such item, then -1 is
returned. The threshold can be absolute or relative to the value
at the starting index. If it is relative, it can be given on a
linear scale or in decibels. If the threshold is relative and we
are looking for values above the threshold, then values that are
above the value at the starting index by more than the threshold
are reported. If the threshold is relative and we are looking for
values below the threshold, then values that are below the value at
the starting index by more than the threshold are reported.
This actor is a generalization of Matlab code developed by John
Signorotti of Southwest Research Institute. The original function
was called UFDipSearch.
- Since:
- Ptolemy II 4.0
- Version:
- $Id: ArrayLevelCrossing.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Edward A. Lee, Steve Neuendorffer
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Field Summary |
Parameter |
above
An indicator of whether to look for values above or below the
specified threshold. |
TypedIOPort |
array
The array to search for a threshold crossing. |
Parameter |
forwards
The direction to search from the start. |
TypedIOPort |
output
The output port producing the index of the first bin to break
the threshold. |
StringParameter |
scale
An indicator of whether threshold should be interpreted
as absolute or relative, and if relative, then on a linear
scale, in amplitude decibels, or power decibels. |
PortParameter |
start
The index from which to start looking for a threshold crossing. |
PortParameter |
threshold
The threshold to look for. |
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Method Summary |
void |
fire()
Consume at most one array from the input ports and produce
the index of the first bin that breaks the threshold. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, initialize, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, 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 |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, 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, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
above
public Parameter above
- An indicator of whether to look for values above or below the
specified threshold. This is a boolean that defaults to false,
which specifies to find values below the threshold.
array
public TypedIOPort array
- The array to search for a threshold crossing.
This has type {double}.
forwards
public Parameter forwards
- The direction to search from the start. If true, search forwards.
Otherwise, search backwards. This is a boolean that defaults to true.
output
public TypedIOPort output
- The output port producing the index of the first bin to break
the threshold. This has type int.
scale
public StringParameter scale
- An indicator of whether threshold should be interpreted
as absolute or relative, and if relative, then on a linear
scale, in amplitude decibels, or power decibels. If decibels
are used, then the corresponding linear threshold is
10^(threshold/N), where N is 20 (for
amplitude decibels) or 10 (for power decibels).
This parameter is a string with possible values "absolute",
"relative linear", "relative amplitude decibels" or "relative
power decibels". The default value is "absolute".
start
public PortParameter start
- The index from which to start looking for a threshold crossing.
This is an integer that defaults to 0.
threshold
public PortParameter threshold
- The threshold to look for. This is a double that can be
interpreted on an absolute or relative scale, and if relative,
on a linear or decibel scale, depending on the scale
parameter. It defaults to 0.0.
ArrayLevelCrossing
public ArrayLevelCrossing(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.
fire
public void fire()
throws IllegalActionException
- Consume at most one array from the input ports and produce
the index of the first bin that breaks the threshold.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- If there is no director.