ptolemy.domains.sdf.lib
Class VariableRecursiveLattice
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.Transformer
ptolemy.actor.lib.RecursiveLattice
ptolemy.domains.sdf.lib.VariableRecursiveLattice
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, ExplicitChangeContext, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class VariableRecursiveLattice
- extends RecursiveLattice
- implements ExplicitChangeContext
This actor implements a recursive (all-pole) filter with a lattice
structure where the reflection coefficients are supplied at an input port.
The blockSize parameter specifies the number of inputs
of the filter that are processed per coefficient set provided on the
newCoefficients input. If no coefficients are provided on that
input port, then the default coefficients defined in the base class
are used. In all other respects, the behavior of
this actor is the same as that of the base class.
- Since:
- Ptolemy II 1.0
- Version:
- $Id: VariableRecursiveLattice.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Edward A. Lee
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
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 |
attributeChanged(Attribute attribute)
Ensure that the blockSize parameter is positive. |
java.lang.Object |
clone(Workspace workspace)
Clone the actor into the specified workspace. |
void |
fire()
Consume the inputs and produce the outputs of the filter. |
Entity |
getContext()
Return the change context being made explicit. |
java.util.List |
getModifiedVariables()
Return a list of variables that this entity modifies. |
boolean |
prefire()
Return false if the input does not have enough tokens to fire. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, 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, 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 |
blockSize
public Parameter blockSize
- The number of inputs that use each each coefficient set.
This is an integer that defaults to 1.
newCoefficients
public TypedIOPort newCoefficients
- The input for new coefficient values. The type is an array
of doubles.
input_tokenConsumptionRate
public Parameter input_tokenConsumptionRate
- The number of tokens consumed from the input port.
output_tokenProductionRate
public Parameter output_tokenProductionRate
- The number of tokens produced from the output port.
_blockSizeValue
private int _blockSizeValue
VariableRecursiveLattice
public VariableRecursiveLattice(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.
attributeChanged
public void attributeChanged(Attribute attribute)
throws IllegalActionException
- Ensure that the blockSize parameter is positive.
- Overrides:
attributeChanged
in class RecursiveLattice
- Parameters:
attribute
- The attribute that changed.
- Throws:
IllegalActionException
- If the block size is invalid,
or if the base class throws it.
clone
public java.lang.Object clone(Workspace workspace)
throws java.lang.CloneNotSupportedException
- Clone the actor into the specified workspace. This calls the
base class and then resets the type constraints.
- Overrides:
clone
in class RecursiveLattice
- Parameters:
workspace
- The workspace for the new object.
- Returns:
- A new actor.
- Throws:
java.lang.CloneNotSupportedException
- If a derived class contains
an attribute that cannot be cloned.- See Also:
NamedObj.exportMoML(Writer, int, String)
,
NamedObj.setDeferringChangeRequests(boolean)
fire
public void fire()
throws IllegalActionException
- Consume the inputs and produce the outputs of the filter.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class RecursiveLattice
- Throws:
IllegalActionException
- If parameter values are invalid,
or if there is no director.
getModifiedVariables
public java.util.List getModifiedVariables()
throws IllegalActionException
- Return a list of variables that this entity modifies. The
variables are assumed to have a change context of the given
entity.
- Specified by:
getModifiedVariables
in interface ExplicitChangeContext
- Returns:
- A list of variables.
- Throws:
IllegalActionException
- If the list of modified
variables cannot be returned.
getContext
public Entity getContext()
throws IllegalActionException
- Return the change context being made explicit. In simple cases, this
will simply be the entity implementing this interface. However, in
more complex cases, directors may implement this interface, or entities
may modify parameters according to a different change context (i.e. HDF)
- Specified by:
getContext
in interface ExplicitChangeContext
- Returns:
- The change context being made explicit.
- Throws:
IllegalActionException
- Not thrown in this base class.
prefire
public boolean prefire()
throws IllegalActionException
- Return false if the input does not have enough tokens to fire.
Otherwise, return true.
- Specified by:
prefire
in interface Executable
- Overrides:
prefire
in class RecursiveLattice
- Returns:
- False if the number of input tokens available is not at least
equal to the blockSize parameter.
- Throws:
IllegalActionException
- If the superclass throws it.