Nengo.ca

ca.nengo.model.neuron
Interface SynapticIntegrator

All Superinterfaces:
java.lang.Cloneable, Resettable, java.io.Serializable
All Known Subinterfaces:
ExpandableSynapticIntegrator
All Known Implementing Classes:
LinearSynapticIntegrator

public interface SynapticIntegrator
extends Resettable, java.io.Serializable, java.lang.Cloneable

Model of synaptic integration in a dendritic tree and soma.

The model receives input from external sources (normally other neurons) and produces a net current which can be fed into a SpikeGenerator and/or can produce other outputs of a Neuron.


Method Summary
 SynapticIntegrator clone()
           
 Termination getTermination(java.lang.String name)
           
 Termination[] getTerminations()
           
 TimeSeries1D run(float startTime, float endTime)
          Runs the model for a given time interval.
 void setNode(Node node)
          This method should be called by the neuron that incorporates this SynapticIntegrator (Terminations need a reference to this).
 
Methods inherited from interface ca.nengo.model.Resettable
reset
 

Method Detail

getTerminations

Termination[] getTerminations()
Returns:
List of distinct inputs (eg sets of synapses from different ensembles).

getTermination

Termination getTermination(java.lang.String name)
                           throws StructuralException
Parameters:
name - Name of a Termination onto this SynapticIntegrator
Returns:
The named Termination if it exists
Throws:
StructuralException - if the named Termination does not exist

setNode

void setNode(Node node)
This method should be called by the neuron that incorporates this SynapticIntegrator (Terminations need a reference to this).

Parameters:
node - The node to which the SynapticIntegrator belongs

run

TimeSeries1D run(float startTime,
                 float endTime)

Runs the model for a given time interval. Input to each Termination should be set prior to calling this method, and is held constant during a run.

The model is responsible for maintaining its internal state, and the state is assumed to be consistent with the start time. That is, if a caller calls run(0, 1, ...) and then run(5, 6, ...), the results may not make any sense, but this is not the model's responsibility. Start and end times are provided to support explicitly time-varying models, and for the convenience of Probeable models.

Note that a run(...) is expected to cover a very short interval of time, e.g. 1/2 ms, during which inputs can be assumed to be constant. Normally a number of neurons in a network will run for this short length of time, possibly with diverse or varying internal time steps, and at the end of this time will communicate spikes to each other and then start again.

Parameters:
startTime - Simulation time at which running starts (s)
endTime - Simulation time at which running ends (s)
Returns:
Time series of net current, including at least the start and end times, and optionally other times. Generally speaking additional values should be provided if the current varies substantially during the interval, but it is left to the implementation to interpret 'substantially'.

clone

SynapticIntegrator clone()
                         throws java.lang.CloneNotSupportedException
Returns:
Valid clone
Throws:
java.lang.CloneNotSupportedException - if clone can't be made

Nengo.ca