CbLifNeuron Class Reference

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

#include <LifNeuron.h>

Inheritance diagram for CbLifNeuron:

Inheritance graph
[legend]
Collaboration diagram for CbLifNeuron:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 CbLifNeuron (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 ~CbLifNeuron ()
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)
virtual void conductanceInput (double g, double Erev)
virtual double getVm ()
 Get the current membrane voltage.
virtual double conductanceNoiseInput ()


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 243 of file LifNeuron.h.


Constructor & Destructor Documentation

CbLifNeuron::CbLifNeuron ( 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 118 of file LifNeuron.cpp.

virtual CbLifNeuron::~CbLifNeuron (  )  [inline, virtual]

Definition at line 259 of file LifNeuron.h.


Member Function Documentation

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

Recalculate exp. Euler constants.

Reimplemented from SimObject.

Definition at line 125 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 CbLifNeuron::advance ( AdvanceInfo const &  ai  )  [virtual]

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

Implements LifNeuronBase.

Definition at line 293 of file LifNeuron.h.

Referenced by advance().

void CbLifNeuron::currentInput ( double  Isyn  )  [inline, virtual]

Reimplemented from CurrentInputTarget.

Definition at line 298 of file LifNeuron.h.

void CbLifNeuron::conductanceInput ( double  g,
double  Erev 
) [inline, virtual]

Reimplemented from ConductanceInputTarget.

Definition at line 303 of file LifNeuron.h.

virtual double CbLifNeuron::getVm (  )  [inline, virtual]

Get the current membrane voltage.

Reimplemented from ConductanceInputTarget.

Definition at line 275 of file LifNeuron.h.

References LifNeuronBase::Vm.

virtual double CbLifNeuron::conductanceNoiseInput (  )  [inline, virtual]

Definition at line 280 of file LifNeuron.h.

Referenced by advance().


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

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