ca.nengo.model.neuron
Interface SpikeGenerator

All Superinterfaces:
java.lang.Cloneable, Resettable, java.io.Serializable, SimulationMode.ModeConfigurable
All Known Implementing Classes:
ALIFSpikeGenerator, DynamicalSystemSpikeGenerator, HodgkinHuxleySpikeGenerator, IzhikevichSpikeGenerator, LIFSpikeGenerator, PoissonSpikeGenerator, RateFunctionSpikeGenerator

public interface SpikeGenerator
extends Resettable, java.io.Serializable, SimulationMode.ModeConfigurable, java.lang.Cloneable

Spike generation model, ie a component of a neuron model that receives driving current and generates spikes.

Author:
Bryan Tripp

Method Summary
 SpikeGenerator clone()
           
 InstantaneousOutput run(float[] time, float[] current)
          Runs the model for a given time segment.
 
Methods inherited from interface ca.nengo.model.Resettable
reset
 
Methods inherited from interface ca.nengo.model.SimulationMode.ModeConfigurable
getMode, setMode
 

Method Detail

run

InstantaneousOutput run(float[] time,
                        float[] current)
Runs the model for a given time segment. The total time is meant to be short (eg 1/2ms), in that the output of the model is either a spike or no spike during this period of simulation time.

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({.001 .002}, ...) and then run({.501 .502}, ...), the results may not make any sense, but this is not the model's responsibility. Absolute times are provided to support explicitly time-varying models, and for the convenience of Probeable models.

Parameters:
time - Array of points in time at which input current is defined. This includes at least the start and end times, and possibly intermediate times. (The SpikeGenerator model can use its own time step -- these times are only used to define the input.)
current - Driving current at each given point in time (assumed to be constant until next time point)
Returns:
true If there is a spike between the first and last times, false otherwise

clone

SpikeGenerator clone()
                     throws java.lang.CloneNotSupportedException
Throws:
java.lang.CloneNotSupportedException