LifNeuron Class Reference

A leaky-integrate-and-fire (I&F) neuron. More...

#include <LifNeuron.h>

Inheritance diagram for LifNeuron:

Inheritance graph
[legend]
Collaboration diagram for LifNeuron:

Collaboration graph
[legend]

List of all members.

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)


Detailed Description

A leaky-integrate-and-fire (I&F) neuron.

Model

A standard leaky-integrate-and-fire neuron model is implemented where the membrane potential $V_m$ of a neuron is given by

\[ \tau_m \frac{d V_m}{dt} = -(V_m-V_{resting}) + R_m \cdot (I_{syn}(t)+I_{inject}+I_{noise}) \]

where $\tau_m=C_m\cdot R_m$ is the membrane time constant, $R_m$ is the membrane resistance, $I_{syn}(t)$ is the current supplied by the synapses, $I_{inject}$ is a non-specific background current and $I_{noise}$ is a Gaussion random variable with zero mean and a given variance noise.

At time $t=0$ $V_m$ ist set to $V_{init}$. If $V_m$ exceeds the threshold voltage $V_{thresh}$ it is reset to $V_{reset}$ and hold there for the length $T_{refract}$ of the absolute refractory period.

Implementation

The exponential Euler method is used for numerical integration.

Definition at line 169 of file LifNeuron.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

int LifNeuron::adjust ( double  dt  )  [virtual]

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.

Here is the call graph for this function:

int LifNeuron::advance ( AdvanceInfo const &  ai  )  [virtual]

void LifNeuron::clearSynapticInput ( void   )  [inline, virtual]

Implements LifNeuronBase.

Definition at line 205 of file LifNeuron.h.

Referenced by advance().

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().


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

Generated on Wed Jul 9 16:34:51 2008 for PCSIM by  doxygen 1.5.5