ODESystemBasedSpikingNeuron Class Reference

#include <ODESystemBasedSpikingNeuron.h>

Inheritance diagram for ODESystemBasedSpikingNeuron:

Inheritance graph
[legend]
Collaboration diagram for ODESystemBasedSpikingNeuron:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ODESystemBasedSpikingNeuron (size_t dim)
virtual ~ODESystemBasedSpikingNeuron ()
virtual int init (InitializeInfo *ii)
 Called during network initialization (prior to reset).
virtual int adjust (double dt)
 Adjust to time grid of dt.
int reset (double dt, double *y0)
 Reset the neuron.
virtual int advance (AdvanceInfo const &)
 Advance the neuron (integration an spike checking ).
virtual void copySolverStateToFields ()
 derived classes can copy the values from the solver to SimObject Fields be overwritting this method
virtual double getVm ()
 Get the current membrane voltage.
Definition of input and output ports
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 double getAnalogOutput (analog_port_id_t port=0) const
 Return the analog value currently associated with the given port.
Manage synaptic input
virtual void clearSynapticInput (void)
virtual void currentInput (double i)
virtual void conductanceInput (double g, double Erev)

Public Attributes

float Rm
 The membrane resistance $R_m$ [units=Ohm; range=(0,1e30)].
float Cm
 The membrane capacity $C_m$ [range=(0,1); units=F;].
float Vresting
 The resting membrane voltage. [units=V; range=(-1,1);].
float Vthresh
 If $V_m$ exceeds $V_{thresh}$ a spike is detected. [units=V; range=(-10,100);].
float Vinit
 The initial condition for $V_m$ at time $t=0$. [units=V; range=(-1,1);].
double Em
 Leak reversal potential.
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.
odeiv::Solversolver
 A solver for the differential equations.
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 input conductances.
double G0
double I0

Static Protected Attributes

static
ThreadSpecificRandomDistribution
< NormalDistribution
noise
 Random number generator for the noise.


Detailed Description

Author:
Thomas Natschläger

Definition at line 24 of file ODESystemBasedSpikingNeuron.h.


Constructor & Destructor Documentation

ODESystemBasedSpikingNeuron::ODESystemBasedSpikingNeuron ( size_t  dim  ) 

Definition at line 20 of file ODESystemBasedSpikingNeuron.cpp.

References solver.

ODESystemBasedSpikingNeuron::~ODESystemBasedSpikingNeuron (  )  [virtual]

Definition at line 33 of file ODESystemBasedSpikingNeuron.cpp.

References solver.


Member Function Documentation

int ODESystemBasedSpikingNeuron::init ( InitializeInfo ii  )  [virtual]

Called during network initialization (prior to reset).

Reimplemented from SimObject.

Definition at line 24 of file ODESystemBasedSpikingNeuron.cpp.

References odeiv::ODESystem::setSystem(), and solver.

Referenced by reset().

Here is the call graph for this function:

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

Adjust to time grid of dt.

Reimplemented from SimObject.

Definition at line 51 of file ODESystemBasedSpikingNeuron.cpp.

References noise, and ThreadSpecificRandomDistribution< Dist >::set().

Referenced by reset().

Here is the call graph for this function:

int ODESystemBasedSpikingNeuron::reset ( double  dt,
double y0 
)

Reset the neuron.

Definition at line 38 of file ODESystemBasedSpikingNeuron.cpp.

References adjust(), clearSynapticInput(), init(), nStepsInRefr, odeiv::Solver::reset(), SingleOutputSpikeSender::reset(), solver, and Vm.

Here is the call graph for this function:

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

virtual void ODESystemBasedSpikingNeuron::copySolverStateToFields (  )  [inline, virtual]

derived classes can copy the values from the solver to SimObject Fields be overwritting this method

Definition at line 70 of file ODESystemBasedSpikingNeuron.h.

References solver, Vm, and odeiv::Solver::y().

Referenced by advance().

Here is the call graph for this function:

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

Get the current membrane voltage.

Reimplemented from ConductanceInputTarget.

Definition at line 75 of file ODESystemBasedSpikingNeuron.h.

References solver, and odeiv::Solver::y().

Here is the call graph for this function:

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

Reimplemented from SimObject.

Definition at line 83 of file ODESystemBasedSpikingNeuron.h.

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

Reimplemented from SimObject.

Definition at line 86 of file ODESystemBasedSpikingNeuron.h.

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

Reimplemented from SimObject.

Definition at line 89 of file ODESystemBasedSpikingNeuron.h.

virtual int ODESystemBasedSpikingNeuron::nAnalogInputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 92 of file ODESystemBasedSpikingNeuron.h.

virtual int ODESystemBasedSpikingNeuron::nAnalogOutputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 95 of file ODESystemBasedSpikingNeuron.h.

References odeiv::ODESystem::dimension().

Here is the call graph for this function:

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

Reimplemented from SimObject.

Definition at line 99 of file ODESystemBasedSpikingNeuron.h.

References SimObject::analog, odeiv::ODESystem::dimension(), SimObject::spiking, and SimObject::undefined.

Here is the call graph for this function:

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

Reimplemented from SimObject.

Definition at line 108 of file ODESystemBasedSpikingNeuron.h.

References SimObject::undefined.

virtual double ODESystemBasedSpikingNeuron::getAnalogOutput ( analog_port_id_t  port = 0  )  const [inline, virtual]

Return the analog value currently associated with the given port.

Reimplemented from SimObject.

Definition at line 112 of file ODESystemBasedSpikingNeuron.h.

References solver, and odeiv::Solver::y().

Here is the call graph for this function:

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

Definition at line 122 of file ODESystemBasedSpikingNeuron.h.

References Gsyn, and Isyn.

Referenced by advance(), and reset().

virtual void ODESystemBasedSpikingNeuron::currentInput ( double  i  )  [inline, virtual]

Reimplemented from CurrentInputTarget.

Definition at line 126 of file ODESystemBasedSpikingNeuron.h.

References Isyn.

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

Reimplemented from ConductanceInputTarget.

Definition at line 130 of file ODESystemBasedSpikingNeuron.h.

References Gsyn, and Isyn.


Member Data Documentation

If $V_m$ exceeds $V_{thresh}$ a spike is detected. [units=V; range=(-10,100);].

Definition at line 41 of file ODESystemBasedSpikingNeuron.h.

Referenced by advance(), HHINeuron::HHINeuron(), HHNeuron::HHNeuron(), and HHNeuronTraubMiles91::HHNeuronTraubMiles91().

The initial condition for $V_m$ at time $t=0$. [units=V; range=(-1,1);].

Definition at line 44 of file ODESystemBasedSpikingNeuron.h.

Referenced by HHINeuron::HHINeuron(), HHNeuron::HHNeuron(), HHNeuronTraubMiles91::HHNeuronTraubMiles91(), HHNeuronTraubMiles91::reset(), HHINeuron::reset(), and HHNeuron::reset().

Leak reversal potential.

Definition at line 47 of file ODESystemBasedSpikingNeuron.h.

Referenced by advance(), HHNeuronTraubMiles91::reset(), HHINeuron::reset(), and HHNeuron::reset().

The length of the absolute refractory period. [units=sec; range=(0,1);].

Definition at line 50 of file ODESystemBasedSpikingNeuron.h.

Referenced by advance(), HHINeuron::HHINeuron(), HHNeuron::HHNeuron(), and HHNeuronTraubMiles91::HHNeuronTraubMiles91().

The standard deviation of the noise to be added each integration time constant. [range=(0,1); units=A;].

Definition at line 53 of file ODESystemBasedSpikingNeuron.h.

Referenced by advance(), HHINeuron::HHINeuron(), HHNeuron::HHNeuron(), and HHNeuronTraubMiles91::HHNeuronTraubMiles91().

A constant current to be injected into the LIF neuron. [units=A; range=(-1,1);].

Definition at line 56 of file ODESystemBasedSpikingNeuron.h.

Referenced by advance(), HHINeuron::HHINeuron(), HHNeuron::HHNeuron(), and HHNeuronTraubMiles91::HHNeuronTraubMiles91().

The membrane voltage.

Definition at line 133 of file ODESystemBasedSpikingNeuron.h.

Referenced by advance(), copySolverStateToFields(), and reset().

If positive then this counter tells us how many time steps we are still in the absolute refractory period.

Definition at line 146 of file ODESystemBasedSpikingNeuron.h.

Referenced by advance(), and reset().

Random number generator for the noise.

Definition at line 149 of file ODESystemBasedSpikingNeuron.h.

Referenced by adjust(), and advance().

Summation point for all synaptic input currents.

Definition at line 152 of file ODESystemBasedSpikingNeuron.h.

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

Summation point for all synaptic input conductances.

Definition at line 155 of file ODESystemBasedSpikingNeuron.h.

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


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

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