#include <viongate.h>
Inheritance diagram for VIonGate:
Generic first order kinitics voltage dependend ion gate.
An ion gate is model via the equation (
is an interger exponent) where the state variable
obeys the first order kinetics
with the voltage dependent rate constants and
. This equation can also be written in the (sometimes more convinient) form
with the following relations between the time ``constant'' and the ``resting'' value
and the activation and inactivation parameters
and
.
For an efficient computation we precalculate for each value of the integration parameters
and
for the numerical solution of the differential equation and store them in a lookup table.
For the exponential Euler integration method these are given by
and
.
For the Crank-Nicolson method they are given by
and
.
The calculated output of IonGate is . For its computations it needs the membrane voltage and resting potential of the associated object.
Implementig a specific IonGate
To actually implement a specific gate one has to derive a class from this one and implement either the pair of functions alpha(), beta() or the pair tau(), infty(). Not dooing so will cause an infity recursion fo the current implementation of IonGate.
Furthermore it is neccesarry that you include in your class definition of MyIonGate
the macro IONGATE_TABLES
and you also need in mygate.cpp
the following two lines of code:
double *MyIonGate::C1=0; double *MyIonGate::C2=0;
|
(at least with gcc 2.95) the virtuals are not called correctly within the destructor |
|
virtual methods to correctly acces the static members C1 and C2 Reimplemented from IonGate. Reimplemented in HH_n_Gate, HH_m_Gate, HH_h_Gate, MmGate_Wang98, AmGate_Hoffman97, AhGate_Hoffman97, SICmGate_Maciokas02, SIChGate_Maciokas02, AnGate_Korngreen02, AlGate_Korngreen02, KnGate_Korngreen02, KlGate_Korngreen02, NPmGate_McCormick92, MnGate_Mainen96, HnGate_Stuart98, HVACAuGate_Brown93, HVACAvGate_Brown93, CALmGate_Destexhe98, CALhGate_Destexhe98, NAmGate_Traub91, NAhGate_Traub91, KDnGate_Traub91, MpGate_Mainen96orig, Traubs_HH_n_Gate, Traubs_HH_m_Gate, and Traubs_HH_h_Gate. |
|
The look up table for the exponential Euler integration 'constant' Reimplemented from IonGate. Reimplemented in GVD_Gate, GVD_cT_Gate, HH_n_Gate, HH_m_Gate, HH_h_Gate, CaGate_Yamada98, MmGate_Wang98, AmGate_Hoffman97, AhGate_Hoffman97, SICmGate_Maciokas02, SIChGate_Maciokas02, AnGate_Korngreen02, AlGate_Korngreen02, KnGate_Korngreen02, KlGate_Korngreen02, NPmGate_McCormick92, MnGate_Mainen96, HnGate_Stuart98, HVACAuGate_Brown93, HVACAvGate_Brown93, CALmGate_Destexhe98, CALhGate_Destexhe98, NAmGate_Traub91, NAhGate_Traub91, KDnGate_Traub91, MpGate_Mainen96orig, Traubs_HH_n_Gate, Traubs_HH_m_Gate, and Traubs_HH_h_Gate. |
|
The look up table for the exponential Euler integration 'constant' Reimplemented from IonGate. Reimplemented in GVD_Gate, GVD_cT_Gate, HH_n_Gate, HH_m_Gate, HH_h_Gate, CaGate_Yamada98, MmGate_Wang98, AmGate_Hoffman97, AhGate_Hoffman97, SICmGate_Maciokas02, SIChGate_Maciokas02, AnGate_Korngreen02, AlGate_Korngreen02, KnGate_Korngreen02, KlGate_Korngreen02, NPmGate_McCormick92, MnGate_Mainen96, HnGate_Stuart98, HVACAuGate_Brown93, HVACAvGate_Brown93, CALmGate_Destexhe98, CALhGate_Destexhe98, NAmGate_Traub91, NAhGate_Traub91, KDnGate_Traub91, MpGate_Mainen96orig, Traubs_HH_n_Gate, Traubs_HH_m_Gate, and Traubs_HH_h_Gate. |