CSIM: IonGate Class Reference

IonGate Class Reference

#include <iongate.h>

Inheritance diagram for IonGate:

Advancable csimClass ConcIonGate VIonGate KCAnGate_Mainen96 AhGate_Hoffman97 AlGate_Korngreen02 AmGate_Hoffman97 AnGate_Korngreen02 CaGate_Yamada98 CALhGate_Destexhe98 CALmGate_Destexhe98 GVD_cT_Gate GVD_Gate HH_h_Gate HH_m_Gate HH_n_Gate HnGate_Stuart98 HVACAuGate_Brown93 HVACAvGate_Brown93 KDnGate_Traub91 KlGate_Korngreen02 KnGate_Korngreen02 MmGate_Wang98 MnGate_Mainen96 MpGate_Mainen96orig NAhGate_Traub91 NAmGate_Traub91 NPmGate_McCormick92 SIChGate_Maciokas02 SICmGate_Maciokas02 Traubs_HH_h_Gate Traubs_HH_m_Gate Traubs_HH_n_Gate List of all members.

Detailed Description

Generic first order kinetics ion gate template.

Public Member Functions

  • IonGate (void)
    The constructor ..
  • virtual void reset (void)
    Set the initial conditions for time $t=0$ : $p(0,V)=p_\infty(V)$ .
  • virtual int updateInternal (void)
    Set the initial conditions for time $t=0$ : $p(0,V)=p_\infty(V)$ .
  • virtual int advance (void)
    Advance one time step using exponential Euler integration.
  • virtual void ConnectToMembrane (MembranePatchSimple *)
    The gate needs to know the membrane voltage which we set with this function.
  • ~IonGate (void)

Public Attributes

  • int k
    The exponent of the gate [readwrite; units=1; range=(1,100);].
  • double P
    The output $P(t,V) = p(t,V)^k$ of the gate. [readonly; units=1; range=(0,1);].
  • double * c1
    The pointer to the lookuptable for $C_1(V_m)\infty$.
  • double * c2
    The pointer to the lookuptable for $C_2(V_m)$.
  • double p
    The state variable.

Protected Member Functions

  • virtual double * getC1 (void)

Static Protected Attributes

  • static double * C1 = 0
  • static double * C2 = 0

Constructor & Destructor Documentation

IonGate::~IonGate void   )  [inline]
 

(at least with gcc 2.95) the virtuals are not called correctly within the destructor


Member Function Documentation

virtual double* IonGate::getC1 void   )  [inline, protected, virtual]
 

virtual methods to correctly acces the static members C1 and C2

Reimplemented in ConcIonGate, 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, KCAnGate_Mainen96, NAmGate_Traub91, NAhGate_Traub91, KDnGate_Traub91, MpGate_Mainen96orig, Traubs_HH_n_Gate, Traubs_HH_m_Gate, Traubs_HH_h_Gate, and VIonGate.


Member Data Documentation

double * IonGate::C1 = 0 [static, protected]
 

The look up table for the exponential Euler integration 'constant' $C_1(V)=\exp(-\Delta t / \tau(V))$

Reimplemented in ConcIonGate, 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, KCAnGate_Mainen96, NAmGate_Traub91, NAhGate_Traub91, KDnGate_Traub91, MpGate_Mainen96orig, Traubs_HH_n_Gate, Traubs_HH_m_Gate, Traubs_HH_h_Gate, and VIonGate.

double * IonGate::C2 = 0 [static, protected]
 

The look up table for the exponential Euler integration 'constant' $C_2(V)=(1-C_1(V))\cdot p_\infty(V)$

Reimplemented in ConcIonGate, 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, KCAnGate_Mainen96, NAmGate_Traub91, NAhGate_Traub91, KDnGate_Traub91, MpGate_Mainen96orig, Traubs_HH_n_Gate, Traubs_HH_m_Gate, Traubs_HH_h_Gate, and VIonGate.


 
(C) 2003, Thomas Natschläger last modified 07/10/2006