LinearPoissonNeuron Class Reference

Linear Poisson Neuron as in (Gütig et al., 2003) with refractory period. More...

#include <LinearPoissonNeuron.h>

Inheritance diagram for LinearPoissonNeuron:

Inheritance graph
[legend]
Collaboration diagram for LinearPoissonNeuron:

Collaboration graph
[legend]

List of all members.

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 $R_m$ [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 $V_m$ [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.


Detailed Description

Linear Poisson Neuron as in (Gütig et al., 2003) with refractory period.

Definition at line 38 of file LinearPoissonNeuron.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

int LinearPoissonNeuron::reset ( double  dt  )  [virtual]

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.

Here is the call graph for this function:

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]

Definition at line 70 of file LinearPoissonNeuron.cpp.

References Gsyn, and Isyn.

Referenced by advance(), and reset().

virtual double LinearPoissonNeuron::getManagedDelay (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 82 of file LinearPoissonNeuron.h.

virtual int LinearPoissonNeuron::nSpikeInputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 83 of file LinearPoissonNeuron.h.

virtual int LinearPoissonNeuron::nSpikeOutputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 84 of file LinearPoissonNeuron.h.

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 86 of file LinearPoissonNeuron.h.

virtual PortType LinearPoissonNeuron::outputPortType ( port_t  o  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 87 of file LinearPoissonNeuron.h.

References SimObject::spiking, and SimObject::undefined.

virtual PortType LinearPoissonNeuron::inputPortType ( port_t  i  )  const [inline, virtual]

Reimplemented from SimObject.

Reimplemented in DARecvLinearPoissonNeuron.

Definition at line 91 of file LinearPoissonNeuron.h.

References SimObject::undefined.

virtual int LinearPoissonNeuron::adjust ( double  dt  )  [inline, virtual]

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.

Here is the call graph for this function:

void LinearPoissonNeuron::currentInput ( double  Isyn  )  [virtual]

Reimplemented from CurrentInputTarget.

Definition at line 75 of file LinearPoissonNeuron.cpp.

References Isyn.

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

Reimplemented from ConductanceInputTarget.

Definition at line 81 of file LinearPoissonNeuron.cpp.

References Gsyn, and Isyn.


Member Data Documentation

The slope of the firing rate function [range=(0,1e3);].

Definition at line 68 of file LinearPoissonNeuron.h.

Referenced by advance().

The membrane resistance $R_m$ [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().

The membrane voltage $V_m$ [readonly; units=V;].

Definition at line 108 of file LinearPoissonNeuron.h.

Referenced by advance().

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

Summation point for all synaptic input currents.

Definition at line 114 of file LinearPoissonNeuron.h.

Referenced by advance(), clearSynapticInput(), conductanceInput(), and currentInput().

Summation point for all synaptic conductances.

Definition at line 117 of file LinearPoissonNeuron.h.

Referenced by advance(), clearSynapticInput(), and conductanceInput().

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.

Referenced by advance(), and reset().

Definition at line 126 of file LinearPoissonNeuron.h.

Referenced by advance(), and reset().

Random number generator for the noise.

Definition at line 129 of file LinearPoissonNeuron.h.

Referenced by advance(), and reset().


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