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