ptolemy.actor.lib.colt
Class ColtRandomSource

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.kernel.InstantiableNamedObj
          extended by ptolemy.kernel.Entity
              extended by ptolemy.kernel.ComponentEntity
                  extended by ptolemy.actor.AtomicActor
                      extended by ptolemy.actor.TypedAtomicActor
                          extended by ptolemy.actor.lib.Source
                              extended by ptolemy.actor.lib.RandomSource
                                  extended by ptolemy.actor.lib.colt.ColtRandomSource
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
Direct Known Subclasses:
ColtBeta, ColtBinomial, ColtBinomialSelector, ColtBreitWigner, ColtChiSquare, ColtExponential, ColtExponentialPower, ColtGamma, ColtHyperGeometric, ColtLogarithmic, ColtNegativeBinomial, ColtNormal, ColtPoisson, ColtPoissonSlow, ColtStudentT, ColtVonMises, ColtZeta

public abstract class ColtRandomSource
extends RandomSource

Base class for Colt random sources. This base class manages the choice of random number generator class. When the random number generator class is set for any one actor in a model, it gets set to match in all other actors within the same top-level container (unless this actor is within an EntityLibrary).

Since:
Ptolemy II 4.1
Version:
$Id: ColtRandomSource.java 57040 2010-01-27 20:52:32Z cxh $
Author:
David Bauer, Kostas Oikonomou, and Edward A. Lee
See Also:
Serialized Form
Accepted Rating:
Red (cxh)
Proposed Rating:
Yellow (eal)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
 
Field Summary
private  java.lang.String _generatorClassName
          The class name of the current _randomNumberGenerator.
protected  edu.cornell.lassp.houle.RngPack.RandomElement _randomNumberGenerator
          The low-level random number generator.
 SharedParameter generatorClass
          The low-level random number generator (RNG) class name.
 
Fields inherited from class ptolemy.actor.lib.RandomSource
_generatorSeed, _needNew, _needNewGenerator, _random, resetOnEachRun, seed
 
Fields inherited from class ptolemy.actor.lib.Source
output, trigger
 
Fields inherited from class ptolemy.actor.AtomicActor
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
 
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
 
Fields inherited from interface ptolemy.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
 
Constructor Summary
ColtRandomSource(CompositeEntity container, java.lang.String name)
          Construct an actor with the given container and name.
 
Method Summary
protected abstract  void _createdNewRandomNumberGenerator()
          Method that is called after _randomNumberGenerator is changed.
protected  void _createGenerator()
          Create the random number generator using current parameter values.
 void attributeChanged(Attribute attribute)
          If the attribute is generatorClass then create the base random number generator.
 
Methods inherited from class ptolemy.actor.lib.RandomSource
_generateRandomNumber, clone, fire, initialize, postfire
 
Methods inherited from class ptolemy.actor.lib.Source
prefire
 
Methods inherited from class ptolemy.actor.TypedAtomicActor
_addPort, _fireAt, _fireAt, attributeTypeChanged, clone, newPort, typeConstraintList, typeConstraints
 
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.InstantiableNamedObj
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
 
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
 
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
 
Methods inherited from interface ptolemy.actor.Executable
isFireFunctional, isStrict, iterate, stop, stopFire, terminate
 
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, preinitialize, removeInitializable, wrapup
 
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
 
Methods inherited from interface ptolemy.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
 

Field Detail

generatorClass

public SharedParameter generatorClass
The low-level random number generator (RNG) class name. This is a string that defaults to "DRand". Below are possible values for this parameter and links to pages that define the meaning of the parameter. This is a "shared parameter", which means that changing this parameter in any one actor will cause a similar change to be applied to all other Colt actors within the same top level (unless this is in a library).
  • "DRand" (Definition)
  • "MersenneTwister (MT19937)" (Definition)
  • "Ranecu"" (Definition)
  • "Ranlux" (Definition)
  • "Ranmar" (Definition)

  • _randomNumberGenerator

    protected edu.cornell.lassp.houle.RngPack.RandomElement _randomNumberGenerator
    The low-level random number generator.


    _generatorClassName

    private java.lang.String _generatorClassName
    The class name of the current _randomNumberGenerator.

    Constructor Detail

    ColtRandomSource

    public ColtRandomSource(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

    attributeChanged

    public void attributeChanged(Attribute attribute)
                          throws IllegalActionException
    If the attribute is generatorClass then create the base random number generator.

    Overrides:
    attributeChanged in class RandomSource
    Parameters:
    attribute - The attribute that changed.
    Throws:
    IllegalActionException - If the change is not acceptable to this container (not thrown in this base class).

    _createdNewRandomNumberGenerator

    protected abstract void _createdNewRandomNumberGenerator()
    Method that is called after _randomNumberGenerator is changed.


    _createGenerator

    protected void _createGenerator()
                             throws IllegalActionException
    Create the random number generator using current parameter values.

    Overrides:
    _createGenerator in class RandomSource
    Throws:
    IllegalActionException - If thrown while reading the seed Token.