#include <LinearPoissonNeuron.h>
Public Member Functions | |
LinearPoissonNeuron (float C=1, float Rm=1e8, float Trefract=3e-3, float Inoise=0.0, float Iinject=0.0) | |
virtual | ~LinearPoissonNeuron () |
virtual int | reset (double dt) |
Reset the neuron. | |
bool | refractoryQ () |
Returns true iff the neuron is in its absolute refactory period. | |
virtual void | clearSynapticInput (void) |
virtual double | getManagedDelay () const |
virtual int | nSpikeInputPorts () const |
virtual int | nSpikeOutputPorts () const |
virtual int | nAnalogInputPorts () const |
virtual int | nAnalogOutputPorts () const |
virtual PortType | outputPortType (port_t o) const |
virtual PortType | inputPortType (port_t i) const |
virtual int | adjust (double dt) |
Recalculate exp. Euler constants. | |
virtual int | advance (AdvanceInfo const &) |
Advance the leaky I&F neuron. | |
virtual void | currentInput (double Isyn) |
virtual void | conductanceInput (double g, double Erev) |
Public Attributes | |
float | C |
The slope of the firing rate function [range=(0,1e3);]. | |
float | Rm |
The membrane resistance [units=Ohm; range=(0,1e30)]. | |
float | Trefract |
The length of the absolute refractory period. [units=sec; range=(0,1);]. | |
float | Inoise |
The standard deviation of the noise to be added each integration time constant. [range=(0,1); units=A;]. | |
float | Iinject |
A constant current to be injected into the LIF neuron. [units=A; range=(-1,1);]. | |
Protected Attributes | |
double | Vm |
The membrane voltage [readonly; units=V;]. | |
int | nStepsInRefr |
If positive then this counter tells us how many time steps we are still in the absolute refractory period. | |
double | Isyn |
Summation point for all synaptic input currents. | |
double | Gsyn |
Summation point for all synaptic conductances. | |
double | Twindow |
The time window within the current time-step where the neuron is active (not in refractory period). | |
Static Protected Attributes | |
static ThreadSpecificRandomDistribution < UniformDistribution > | spike_gen |
static ThreadSpecificRandomDistribution < NormalDistribution > | noise_gen |
Random number generator for the noise. |
Definition at line 38 of file LinearPoissonNeuron.h.
LinearPoissonNeuron::LinearPoissonNeuron | ( | float | C = 1 , |
|
float | Rm = 1e8 , |
|||
float | Trefract = 3e-3 , |
|||
float | Inoise = 0.0 , |
|||
float | Iinject = 0.0 | |||
) | [inline] |
Definition at line 43 of file LinearPoissonNeuron.h.
virtual LinearPoissonNeuron::~LinearPoissonNeuron | ( | ) | [inline, virtual] |
Definition at line 53 of file LinearPoissonNeuron.h.
Reset the neuron.
Reimplemented from SimObject.
Definition at line 8 of file LinearPoissonNeuron.cpp.
References clearSynapticInput(), noise_gen, nStepsInRefr, SingleOutputSpikeSender::reset(), ThreadSpecificRandomDistribution< Dist >::set(), spike_gen, and Twindow.
bool LinearPoissonNeuron::refractoryQ | ( | ) | [inline] |
Returns true iff the neuron is in its absolute refactory period.
Definition at line 62 of file LinearPoissonNeuron.h.
References nStepsInRefr.
void LinearPoissonNeuron::clearSynapticInput | ( | void | ) | [virtual] |
virtual double LinearPoissonNeuron::getManagedDelay | ( | ) | const [inline, virtual] |
virtual int LinearPoissonNeuron::nSpikeInputPorts | ( | ) | const [inline, virtual] |
virtual int LinearPoissonNeuron::nSpikeOutputPorts | ( | ) | const [inline, virtual] |
virtual int LinearPoissonNeuron::nAnalogInputPorts | ( | ) | const [inline, virtual] |
Reimplemented from SimObject.
Reimplemented in DARecvLinearPoissonNeuron.
Definition at line 85 of file LinearPoissonNeuron.h.
virtual int LinearPoissonNeuron::nAnalogOutputPorts | ( | ) | const [inline, virtual] |
Reimplemented from SimObject.
Definition at line 87 of file LinearPoissonNeuron.h.
References SimObject::spiking, and SimObject::undefined.
Reimplemented from SimObject.
Reimplemented in DARecvLinearPoissonNeuron.
Definition at line 91 of file LinearPoissonNeuron.h.
References SimObject::undefined.
Recalculate exp. Euler constants.
Reimplemented from SimObject.
Definition at line 96 of file LinearPoissonNeuron.h.
int LinearPoissonNeuron::advance | ( | AdvanceInfo const & | ai | ) | [virtual] |
Advance the leaky I&F neuron.
Advance the Linear Stochastic neuron.
Reimplemented from SimObject.
Definition at line 22 of file LinearPoissonNeuron.cpp.
References ADVANCEFLAG_HASSPIKED, C, clearSynapticInput(), AdvanceInfo::dt, Gsyn, Iinject, Time::in_sec(), Inoise, Isyn, noise_gen, nStepsInRefr, SingleOutputSpikeSender::out_port, Rm, SpikeOutputPort::setSpike(), spike_gen, AdvanceInfo::t, Trefract, Twindow, and Vm.
void LinearPoissonNeuron::currentInput | ( | double | Isyn | ) | [virtual] |
Reimplemented from CurrentInputTarget.
Definition at line 75 of file LinearPoissonNeuron.cpp.
References Isyn.
The slope of the firing rate function [range=(0,1e3);].
Definition at line 68 of file LinearPoissonNeuron.h.
Referenced by advance().
The membrane resistance [units=Ohm; range=(0,1e30)].
Definition at line 71 of file LinearPoissonNeuron.h.
Referenced by advance().
The length of the absolute refractory period. [units=sec; range=(0,1);].
Definition at line 74 of file LinearPoissonNeuron.h.
Referenced by advance().
The standard deviation of the noise to be added each integration time constant. [range=(0,1); units=A;].
Definition at line 77 of file LinearPoissonNeuron.h.
Referenced by advance().
A constant current to be injected into the LIF neuron. [units=A; range=(-1,1);].
Definition at line 80 of file LinearPoissonNeuron.h.
Referenced by advance().
double LinearPoissonNeuron::Vm [protected] |
The membrane voltage [readonly; units=V;].
Definition at line 108 of file LinearPoissonNeuron.h.
Referenced by advance().
int LinearPoissonNeuron::nStepsInRefr [protected] |
If positive then this counter tells us how many time steps we are still in the absolute refractory period.
Definition at line 111 of file LinearPoissonNeuron.h.
Referenced by advance(), refractoryQ(), and reset().
double LinearPoissonNeuron::Isyn [protected] |
Summation point for all synaptic input currents.
Definition at line 114 of file LinearPoissonNeuron.h.
Referenced by advance(), clearSynapticInput(), conductanceInput(), and currentInput().
double LinearPoissonNeuron::Gsyn [protected] |
Summation point for all synaptic conductances.
Definition at line 117 of file LinearPoissonNeuron.h.
Referenced by advance(), clearSynapticInput(), and conductanceInput().
double LinearPoissonNeuron::Twindow [protected] |
The time window within the current time-step where the neuron is active (not in refractory period).
Needed for exact time poisson spike generation
Definition at line 123 of file LinearPoissonNeuron.h.
ThreadSpecificRandomDistribution< UniformDistribution > LinearPoissonNeuron::spike_gen [static, protected] |
ThreadSpecificRandomDistribution< NormalDistribution > LinearPoissonNeuron::noise_gen [static, protected] |