Nengo.ca

ca.nengo.model.impl
Class BasicTermination

java.lang.Object
  extended by ca.nengo.model.impl.BasicTermination
All Implemented Interfaces:
Resettable, Termination, java.io.Serializable, java.lang.Cloneable

public class BasicTermination
extends java.lang.Object
implements Termination, Resettable

A basic implementation of Termination with configurable dynamics and no special integrative features.

See Also:
Serialized Form

Constructor Summary
BasicTermination(Node node, DynamicalSystem dynamics, Integrator integrator, java.lang.String name)
           
 
Method Summary
 BasicTermination clone()
           
 BasicTermination clone(Node node)
          Clone method that changes necessary parameters to point to a new parent, for use in cloning ensembles, etc.
 int getDimensions()
           
 InstantaneousOutput getInput()
           
 boolean getModulatory()
           
 java.lang.String getName()
           
 Node getNode()
           
 TimeSeries getOutput()
          Note: typically called by the Node to which the Termination belongs.
 float getTau()
           
 void reset(boolean randomize)
           
 void run(float startTime, float endTime)
          Runs the Termination, making a TimeSeries of output from this Termination available from getOutput().
 void setModulatory(boolean modulatory)
           
 void setTau(float tau)
           
 void setValues(InstantaneousOutput values)
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BasicTermination

public BasicTermination(Node node,
                        DynamicalSystem dynamics,
                        Integrator integrator,
                        java.lang.String name)
Parameters:
node - Node that owns this termination
dynamics - Dynamical System that defines the dynamics
integrator - Integrator for the DS
name - Name of the termination
Method Detail

getDimensions

public int getDimensions()
Specified by:
getDimensions in interface Termination
Returns:
Dimensionality of information entering this Termination (eg number of axons, or dimension of decoded function of variables represented by sending Ensemble)
See Also:
Termination.getDimensions()

getName

public java.lang.String getName()
Specified by:
getName in interface Termination
Returns:
Name of this Termination (unique in the scope of the object the which the Termination is connected, eg the Neuron or Ensemble).
See Also:
Termination.getName()

setValues

public void setValues(InstantaneousOutput values)
               throws SimulationException
Specified by:
setValues in interface Termination
Parameters:
values - InstantaneousOutput (eg from another Ensemble) to apply to this Termination.
Throws:
SimulationException - if the given values have the wrong dimension
See Also:
Termination.setValues(ca.nengo.model.InstantaneousOutput)

run

public void run(float startTime,
                float endTime)
         throws SimulationException
Runs the Termination, making a TimeSeries of output from this Termination available from getOutput().

Parameters:
startTime - simulation time at which running starts (s)
endTime - simulation time at which running ends (s)
Throws:
SimulationException - if a problem is encountered while trying to run

getOutput

public TimeSeries getOutput()
Note: typically called by the Node to which the Termination belongs.

Returns:
The most recent input multiplied

getNode

public Node getNode()
Specified by:
getNode in interface Termination
Returns:
The Node to which this Termination belongs
See Also:
Termination.getNode()

reset

public void reset(boolean randomize)
Specified by:
reset in interface Resettable
Parameters:
randomize - True indicates that the object should be reset to a randomly selected initial state (the object must be aware of the distribution from which to draw from). False indicates that the object should be reset to a fixed initial state (which it must also know). Some objects may not support randomization of the initial state, in which case a fixed state will be used in either case.
See Also:
Resettable.reset(boolean)

getModulatory

public boolean getModulatory()
Specified by:
getModulatory in interface Termination
Returns:
Whether the Termination is modulatory, in the sense of neuromodulation, ie true if input via this Termination is not summed to drive a node, but influences node activity in some other way
See Also:
Termination.getModulatory()

getTau

public float getTau()
Specified by:
getTau in interface Termination
Returns:
Time constant of dominant dynamics
See Also:
Termination.getTau()

setModulatory

public void setModulatory(boolean modulatory)
Specified by:
setModulatory in interface Termination
Parameters:
modulatory - True if the Termination is to be modulatory
See Also:
Termination.setModulatory(boolean)

setTau

public void setTau(float tau)
            throws StructuralException
Specified by:
setTau in interface Termination
Parameters:
tau - Time constant of dominant dynamics
Throws:
StructuralException - if the time constant cannot be changed
See Also:
Termination.setTau(float)

getInput

public InstantaneousOutput getInput()
Specified by:
getInput in interface Termination
Returns:
Extract the input to the termination.

clone

public BasicTermination clone()
                       throws java.lang.CloneNotSupportedException
Specified by:
clone in interface Termination
Overrides:
clone in class java.lang.Object
Returns:
Valid clone
Throws:
java.lang.CloneNotSupportedException - if clone can't be made

clone

public BasicTermination clone(Node node)
                       throws java.lang.CloneNotSupportedException
Description copied from interface: Termination
Clone method that changes necessary parameters to point to a new parent, for use in cloning ensembles, etc.

Specified by:
clone in interface Termination
Parameters:
node - New parent node
Returns:
A clone of the termination for the new parent ensemble
Throws:
java.lang.CloneNotSupportedException - if clone cannot be made

Nengo.ca