ca.nengo.model.impl
Class FunctionInput
java.lang.Object
ca.nengo.model.impl.FunctionInput
- All Implemented Interfaces:
- Node, Probeable, Resettable, SimulationMode.ModeConfigurable, VisiblyMutable, java.io.Serializable, java.lang.Cloneable
public class FunctionInput
- extends java.lang.Object
- implements Node, Probeable
- See Also:
- Serialized Form
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ORIGIN_NAME
public static final java.lang.String ORIGIN_NAME
- See Also:
- Constant Field Values
STATE_NAME
public static final java.lang.String STATE_NAME
- See Also:
- Constant Field Values
FunctionInput
public FunctionInput(java.lang.String name,
Function[] functions,
Units units)
throws StructuralException
- Parameters:
name
- The name of this Nodefunctions
- Functions of time (simulation time) that produce the values
that will be output by this Node. Each given function corresponds to
a dimension in the output vectors. Each function must have input dimension 1.units
- The units in which the output values are to be interpreted
- Throws:
StructuralException
setFunctions
public void setFunctions(Function[] functions)
throws StructuralException
- Parameters:
functions
- New list of functions (of simulation time) that define the output of this Node.
(Must have the same length as existing Function list.)
- Throws:
StructuralException
getFunctions
public Function[] getFunctions()
- Returns:
- array of functions
getName
public java.lang.String getName()
- Specified by:
getName
in interface Node
- Returns:
- Name of Node (must be unique in a Network)
- See Also:
Node.getName()
setName
public void setName(java.lang.String name)
throws StructuralException
- Specified by:
setName
in interface Node
- Parameters:
name
- The new name
- Throws:
StructuralException
run
public void run(float startTime,
float endTime)
- Description copied from interface:
Node
- Runs the Node (including all its components), updating internal state and outputs as needed.
Runs should be short (eg 1ms), because inputs can not be changed during a run, and outputs
will only be communicated to other Nodes after a run.
- Specified by:
run
in interface Node
- Parameters:
startTime
- simulation time at which running starts (s)endTime
- simulation time at which running ends (s)- See Also:
Node.run(float, float)
reset
public void reset(boolean randomize)
- This method does nothing, as the FunctionInput has no state.
- 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)
setMode
public void setMode(SimulationMode mode)
- This call has no effect. DEFAULT mode is always used.
- Specified by:
setMode
in interface SimulationMode.ModeConfigurable
- Parameters:
mode
- SimulationMode in which it is desired that the object runs.- See Also:
SimulationMode.ModeConfigurable.setMode(ca.nengo.model.SimulationMode)
getMode
public SimulationMode getMode()
- Specified by:
getMode
in interface SimulationMode.ModeConfigurable
- Returns:
- SimulationMode.DEFAULT
- See Also:
SimulationMode.ModeConfigurable.getMode()
getHistory
public TimeSeries getHistory(java.lang.String stateName)
throws SimulationException
- Description copied from interface:
Probeable
- Note that the units of TimeSeries' for a given state do not change over time (ie at different
time steps).
CAUTION: The TimeSeries should not contain a reference to any arrays that you are going to change
later. The caller owns what you return.
- Specified by:
getHistory
in interface Probeable
- Parameters:
stateName
- A state variable name
- Returns:
- History of values for the named state variable. The history must cover the most recent
network time step, and no more. There should be no overlap in the time points returned
for different steps.
- Throws:
SimulationException
- if the Probeable does not have the requested state- See Also:
Probeable.getHistory(java.lang.String)
listStates
public java.util.Properties listStates()
- Specified by:
listStates
in interface Probeable
- Returns:
- List of state variable names, eg "V", and associated descriptions
eg "membrane potential (mV)"
- See Also:
Probeable.listStates()
getOrigin
public Origin getOrigin(java.lang.String name)
throws StructuralException
- Specified by:
getOrigin
in interface Node
- Parameters:
name
- Name of an Origin on this Node
- Returns:
- The named Origin if it exists
- Throws:
StructuralException
- if the named Origin does not exist- See Also:
Node.getOrigin(java.lang.String)
getOrigins
public Origin[] getOrigins()
- Specified by:
getOrigins
in interface Node
- Returns:
- Sets of ouput channels (eg spiking outputs, gap junctional outputs, etc.)
- See Also:
Node.getOrigins()
getTermination
public Termination getTermination(java.lang.String name)
throws StructuralException
- Specified by:
getTermination
in interface Node
- Parameters:
name
- Name of a Termination onto this Node
- Returns:
- The named Termination if it exists
- Throws:
StructuralException
- if the named Termination does not exist- See Also:
Node.getTermination(java.lang.String)
getTerminations
public Termination[] getTerminations()
- Specified by:
getTerminations
in interface Node
- Returns:
- Sets of input channels (these have the same dimension as corresponding Origins
to which they are connected).
- See Also:
Node.getTerminations()
getDocumentation
public java.lang.String getDocumentation()
- Specified by:
getDocumentation
in interface Node
- Returns:
- User-specified documentation for the Node, if any
- See Also:
Node.getDocumentation()
setDocumentation
public void setDocumentation(java.lang.String text)
- Specified by:
setDocumentation
in interface Node
- Parameters:
text
- New user-specified documentation for the Node- See Also:
Node.setDocumentation(java.lang.String)
addChangeListener
public void addChangeListener(VisiblyMutable.Listener listener)
- Specified by:
addChangeListener
in interface VisiblyMutable
- Parameters:
listener
- Listener to add- See Also:
VisiblyMutable.addChangeListener(ca.nengo.util.VisiblyMutable.Listener)
removeChangeListener
public void removeChangeListener(VisiblyMutable.Listener listener)
- Specified by:
removeChangeListener
in interface VisiblyMutable
- Parameters:
listener
- Listener to remove- See Also:
VisiblyMutable.removeChangeListener(ca.nengo.util.VisiblyMutable.Listener)
clone
public Node clone()
throws java.lang.CloneNotSupportedException
- Specified by:
clone
in interface Node
- Overrides:
clone
in class java.lang.Object
- Returns:
- An independent copy of the Node
- Throws:
java.lang.CloneNotSupportedException