CbNeuron Class Reference
#include <cbneuron.h>
Inheritance diagram for CbNeuron:
List of all members.
Detailed Description
A single compartment neuron with an arbitrary number of channels, conductance based, as well as current based synapses.
Model
The membrane voltage
is governed by
with the following meanings of symbols
membrane capacity (Farad)
reversal potential of the leak current (Volts)
membrane resistance (Ohm)
total number of channels (active + synaptic)
current conductance of channel
(Siemens)
reversal potential of channel
(Volts)
total number of current supplying synapses
current supplied by synapse
(Ampere)
total number of conductance based synapses
coductance supplied by synapse
(Siemens)
reversal potential of synapse
(Volts)
injected current (Ampere)
At time
ist set to
.
The value of
is calculated to compensate for ionic currents such that
actually has a resting value of
.
Spiking and reseting the membrane voltage
If the membrane voltage
exceeds the threshold
the CbNeuron sends a spike to all its outgoing synapses.
The membrane voltage is reseted and clamped during the absolute refractory period of length
to
if the flag doReset=1
. This is similar to a LIF neuron (see LifNeuron).
If the flag doReset=0
the membrane voltage is not reseted and the above equation is also applied during the absolute refractory period but the event of threshold crossing is transmitted as a spike to outgoing synapses. This is usfull if one includes channels which produce a real action potential (see HH_K_Channel and HH_Na_Channel) but one still just wants to communicate the spikes as events in time.
Implementation
The flag nummethod
is set to 0 the exponential Euler method is used for numerical integration, otherwise the Crank-Nicolson. method.
Public Member Functions
- void reset (void)
- Reset the CbNeuron.
-
virtual double nextstate (void)
- Calculate the new membrane voltage and check wheter Vm exceeds the threshold V_thresh.
-
virtual int isRefractory (void)
- Returns 1 (0) if the neuron is (not) in its absolute refractory period.
-
virtual int addIncoming (Advancable *s)
- Add an incoming channels.
-
virtual int addOutgoing (Advancable *s)
- Add an outgoing channels.
Public Attributes
-
float Vthresh
- If
exceeds
a spike is emmited. [units=V; range=(-10,100);].
-
float Vreset
- The voltage to reset
to after a spike. [units=V; range=(-1,1);].
-
int doReset
- Flag which determines wheter
should be reseted after a spike [units=flag; range=(0,1);];.
-
float Trefract
- Length of the absolute refractory period. [units=sec; range=(0,1);].
-
int nummethod
- Numerical method for the solution of the differential equation: Exp. Euler = 0, Crank-Nicolson = 1[units=flag; range=(0,1);];.
Protected Attributes
-
double Isyn
- synaptic input current
-
double Gsyn
- synaptic input conductance
Private Attributes
-
int nStepsInRefr
- If positive then this counter tells us how many time steps we are still in the absolute refractory period.
-
double C1
- Internal constants for the solution of the differential equation.
-
double GSummationPoint
- At this point all synaptic conductances are summed up.
-
bool spike
- W temporal place to store wether we want to spike or not.
Friends
Member Function Documentation
void CbNeuron::reset |
( |
void |
|
) |
[virtual] |
|
|
Reset the CbNeuron.
is set to 
is calculated such that for no input relaxes to :
Reimplemented from MembranePatch. |