#include <ODESystemBasedSpikingNeuron.h>
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 [units=Ohm; range=(0,1e30)]. | |
float | Cm |
The membrane capacity [range=(0,1); units=F;]. | |
float | Vresting |
The resting membrane voltage. [units=V; range=(-1,1);]. | |
float | Vthresh |
If exceeds a spike is detected. [units=V; range=(-10,100);]. | |
float | Vinit |
The initial condition for at time . [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::Solver * | solver |
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. |
Definition at line 24 of file ODESystemBasedSpikingNeuron.h.
ODESystemBasedSpikingNeuron::ODESystemBasedSpikingNeuron | ( | size_t | dim | ) |
ODESystemBasedSpikingNeuron::~ODESystemBasedSpikingNeuron | ( | ) | [virtual] |
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().
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().
Reset the neuron.
Definition at line 38 of file ODESystemBasedSpikingNeuron.cpp.
References adjust(), clearSynapticInput(), init(), nStepsInRefr, odeiv::Solver::reset(), SingleOutputSpikeSender::reset(), solver, and Vm.
int ODESystemBasedSpikingNeuron::advance | ( | AdvanceInfo const & | ai | ) | [virtual] |
Advance the neuron (integration an spike checking ).
Reimplemented from SimObject.
Definition at line 56 of file ODESystemBasedSpikingNeuron.cpp.
References odeiv::Solver::advance(), ADVANCEFLAG_HASSPIKED, clearSynapticInput(), copySolverStateToFields(), AdvanceInfo::dt, Em, G0, Gsyn, I0, Iinject, Time::in_sec(), Inoise, Isyn, noise, nStepsInRefr, SingleOutputSpikeSender::out_port, Rm, SpikeOutputPort::setSpike(), solver, AdvanceInfo::t, Trefract, Vm, Vthresh, and odeiv::Solver::y().
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().
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().
virtual double ODESystemBasedSpikingNeuron::getManagedDelay | ( | ) | const [inline, virtual] |
virtual int ODESystemBasedSpikingNeuron::nSpikeInputPorts | ( | ) | const [inline, virtual] |
virtual int ODESystemBasedSpikingNeuron::nSpikeOutputPorts | ( | ) | const [inline, virtual] |
virtual int ODESystemBasedSpikingNeuron::nAnalogInputPorts | ( | ) | const [inline, virtual] |
virtual int ODESystemBasedSpikingNeuron::nAnalogOutputPorts | ( | ) | const [inline, virtual] |
Reimplemented from SimObject.
Definition at line 95 of file ODESystemBasedSpikingNeuron.h.
References odeiv::ODESystem::dimension().
Reimplemented from SimObject.
Definition at line 99 of file ODESystemBasedSpikingNeuron.h.
References SimObject::analog, odeiv::ODESystem::dimension(), SimObject::spiking, and SimObject::undefined.
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().
virtual void ODESystemBasedSpikingNeuron::clearSynapticInput | ( | void | ) | [inline, virtual] |
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.
The membrane resistance [units=Ohm; range=(0,1e30)].
Definition at line 32 of file ODESystemBasedSpikingNeuron.h.
Referenced by advance(), HHINeuron::HHINeuron(), HHNeuron::HHNeuron(), HHNeuronTraubMiles91::HHNeuronTraubMiles91(), HHNeuronTraubMiles91::reset(), HHINeuron::reset(), and HHNeuron::reset().
The membrane capacity [range=(0,1); units=F;].
Definition at line 35 of file ODESystemBasedSpikingNeuron.h.
Referenced by HHNeuronTraubMiles91::derivatives(), HHINeuron::derivatives(), HHNeuron::derivatives(), HHINeuron::HHINeuron(), HHNeuron::HHNeuron(), and HHNeuronTraubMiles91::HHNeuronTraubMiles91().
The resting membrane voltage. [units=V; range=(-1,1);].
Definition at line 38 of file ODESystemBasedSpikingNeuron.h.
Referenced by HHINeuron::HHINeuron(), HHNeuron::HHNeuron(), HHNeuronTraubMiles91::HHNeuronTraubMiles91(), HHNeuronTraubMiles91::reset(), HHINeuron::reset(), and HHNeuron::reset().
If exceeds 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 at time . [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().
double ODESystemBasedSpikingNeuron::Vm [protected] |
The membrane voltage.
Definition at line 133 of file ODESystemBasedSpikingNeuron.h.
Referenced by advance(), copySolverStateToFields(), and reset().
odeiv::Solver* ODESystemBasedSpikingNeuron::solver [protected] |
A solver for the differential equations.
Definition at line 143 of file ODESystemBasedSpikingNeuron.h.
Referenced by advance(), copySolverStateToFields(), getAnalogOutput(), getVm(), init(), ODESystemBasedSpikingNeuron(), reset(), and ~ODESystemBasedSpikingNeuron().
int ODESystemBasedSpikingNeuron::nStepsInRefr [protected] |
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.
ThreadSpecificRandomDistribution< NormalDistribution > ODESystemBasedSpikingNeuron::noise [static, protected] |
Random number generator for the noise.
Definition at line 149 of file ODESystemBasedSpikingNeuron.h.
double ODESystemBasedSpikingNeuron::Isyn [protected] |
Summation point for all synaptic input currents.
Definition at line 152 of file ODESystemBasedSpikingNeuron.h.
Referenced by advance(), clearSynapticInput(), conductanceInput(), and currentInput().
double ODESystemBasedSpikingNeuron::Gsyn [protected] |
Summation point for all synaptic input conductances.
Definition at line 155 of file ODESystemBasedSpikingNeuron.h.
Referenced by advance(), clearSynapticInput(), and conductanceInput().
double ODESystemBasedSpikingNeuron::G0 [protected] |
Definition at line 158 of file ODESystemBasedSpikingNeuron.h.
Referenced by advance(), HHNeuronTraubMiles91::derivatives(), HHINeuron::derivatives(), and HHNeuron::derivatives().
double ODESystemBasedSpikingNeuron::I0 [protected] |
Definition at line 158 of file ODESystemBasedSpikingNeuron.h.
Referenced by advance(), HHNeuronTraubMiles91::derivatives(), HHINeuron::derivatives(), and HHNeuron::derivatives().