#include <LifNeuron.h>
Public Member Functions | |
LifNeuron (float Rm=1e6, float Cm=3e-8, float Vresting=-0.06, float Vthresh=-0.045, float Vreset=-0.06, float Vinit=-0.06, float Trefract=3e-3, float Inoise=0.0, float Iinject=0.0) | |
virtual | ~LifNeuron () |
virtual int | adjust (double dt) |
Recalculate exp. Euler constants. | |
virtual int | advance (AdvanceInfo const &) |
Advance the leaky I&F neuron. | |
virtual void | clearSynapticInput (void) |
virtual void | currentInput (double Isyn) |
A standard leaky-integrate-and-fire neuron model is implemented where the membrane potential of a neuron is given by
where is the membrane time constant, is the membrane resistance, is the current supplied by the synapses, is a non-specific background current and is a Gaussion random variable with zero mean and a given variance noise.
At time ist set to . If exceeds the threshold voltage it is reset to and hold there for the length of the absolute refractory period.
The exponential Euler method is used for numerical integration.
Definition at line 169 of file LifNeuron.h.
LifNeuron::LifNeuron | ( | float | Rm = 1e6 , |
|
float | Cm = 3e-8 , |
|||
float | Vresting = -0.06 , |
|||
float | Vthresh = -0.045 , |
|||
float | Vreset = -0.06 , |
|||
float | Vinit = -0.06 , |
|||
float | Trefract = 3e-3 , |
|||
float | Inoise = 0.0 , |
|||
float | Iinject = 0.0 | |||
) |
Definition at line 39 of file LifNeuron.cpp.
virtual LifNeuron::~LifNeuron | ( | ) | [inline, virtual] |
Definition at line 184 of file LifNeuron.h.
Recalculate exp. Euler constants.
Reimplemented from SimObject.
Definition at line 46 of file LifNeuron.cpp.
References LifNeuronBase::_dt, LifNeuronBase::C1, LifNeuronBase::C2, LifNeuronBase::Cm, LifNeuronBase::I0, LifNeuronBase::Iinject, LifNeuronBase::noise_gen, LifNeuronBase::Rm, ThreadSpecificRandomDistribution< Dist >::set(), and LifNeuronBase::Vresting.
int LifNeuron::advance | ( | AdvanceInfo const & | ai | ) | [virtual] |
Advance the leaky I&F neuron.
Reimplemented from SimObject.
Reimplemented in EvLifNeuron, and CompositeNeuron< LifNeuron >.
Definition at line 70 of file LifNeuron.cpp.
References ADVANCEFLAG_HASSPIKED, LifNeuronBase::C1, LifNeuronBase::C2, clearSynapticInput(), LifNeuronBase::currentNoiseInput(), AdvanceInfo::dt, LifNeuronBase::I0, Time::in_sec(), LifNeuronBase::Inoise, LifNeuronBase::noise_gen, LifNeuronBase::nStepsInRefr, SingleOutputSpikeSender::out_port, SpikeOutputPort::setSpike(), LifNeuronBase::Trefract, LifNeuronBase::Vm, LifNeuronBase::Vreset, and LifNeuronBase::Vthresh.
Referenced by EvLifNeuron::advance().
void LifNeuron::clearSynapticInput | ( | void | ) | [inline, virtual] |
void LifNeuron::currentInput | ( | double | Isyn | ) | [inline, virtual] |
Reimplemented from CurrentInputTarget.
Reimplemented in EvLifNeuron.
Definition at line 210 of file LifNeuron.h.
Referenced by EvLifNeuron::currentInput().