CARLsim  4.1.0
CARLsim: a GPU-accelerated SNN simulator
SpikeGenerator Class Referenceabstract

#include <callback.h>

Inheritance diagram for SpikeGenerator:
InteractiveSpikeGenerator PeriodicSpikeGenerator PrePostGroupSpikeGenerator SpikeGeneratorFromFile SpikeGeneratorFromVector

Public Member Functions

virtual ~SpikeGenerator ()
 
virtual int nextSpikeTime (CARLsim *s, int grpId, int i, int currentTime, int lastScheduledSpikeTime, int endOfTimeSlice)=0
 controls spike generation using a callback mechanism More...
 

Detailed Description

Spike generation can be performed using spike generators. Spike generators are dummy-neurons that have their spikes specified externally either defined by a Poisson firing rate or via a spike injection mechanism. Spike generators can have post-synaptic connections with STDP and STP, but unlike Izhikevich neurons, they do not receive any pre-synaptic input. For more information on spike generators see Section Neuron groups: Spike generators in the Tutorial.

For fine-grained control over spike generation, individual spike times can be specified per neuron in each group. This is accomplished using a callback mechanism, which is called at each time step, to specify whether a neuron has fired or not.

Definition at line 63 of file callback.h.

Constructor & Destructor Documentation

◆ ~SpikeGenerator()

virtual ~SpikeGenerator ( )
inlinevirtual

Definition at line 66 of file callback.h.

Member Function Documentation

◆ nextSpikeTime()

virtual int nextSpikeTime ( CARLsim s,
int  grpId,
int  i,
int  currentTime,
int  lastScheduledSpikeTime,
int  endOfTimeSlice 
)
pure virtual
Attention
The virtual method should never be called directly
Parameters
spointer to the simulator object
grpIdthe group id
ithe neuron index in the group
currentTimethe current simluation time
lastScheduledSpikeTimethe last spike time which was scheduled
endOfTimeSlicethe end of the current scheduling time slice. Spike times after this will not be scheduled.

Implemented in SpikeGeneratorFromFile, PeriodicSpikeGenerator, SpikeGeneratorFromVector, InteractiveSpikeGenerator, and PrePostGroupSpikeGenerator.


The documentation for this class was generated from the following file: