MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <MgBlock.h>
Public Member Functions | |
double | getCMg () const |
double | getKMg_A () const |
double | getKMg_B () const |
double | getZk () const |
MgBlock () | |
void | origChannel (const Eref &e, double Gk, double Ek) |
void | setCMg (double CMg) |
void | setKMg_A (double Gbar) |
void | setKMg_B (double Ek) |
void | setZk (double Zk) |
void | vProcess (const Eref &e, ProcPtr p) |
void | vReinit (const Eref &e, ProcPtr p) |
![]() | |
ChanCommon () | |
double | getGbar () const |
Utility function to acces Gbar. More... | |
double | getModulation () const |
double | getVm () const |
Utility function to access Vm. More... | |
void | sendProcessMsgs (const Eref &e, const ProcPtr info) |
void | sendReinitMsgs (const Eref &e, const ProcPtr info) |
void | updateIk () |
double | vGetEk (const Eref &e) const |
double | vGetGbar (const Eref &e) const |
double | vGetGk (const Eref &e) const |
double | vGetIk (const Eref &e) const |
double | vGetModulation (const Eref &e) const |
void | vHandleVm (double Vm) |
void | vSetEk (const Eref &e, double Ek) |
void | vSetGbar (const Eref &e, double Gbar) |
void | vSetGk (const Eref &e, double Gk) |
void | vSetIk (const Eref &e, double Ic) |
void | vSetModulation (const Eref &e, double modulation) |
~ChanCommon () | |
![]() | |
ChanBase () | |
double | getEk (const Eref &e) const |
double | getGbar (const Eref &e) const |
double | getGk (const Eref &e) const |
double | getIk (const Eref &e) const |
double | getModulation (const Eref &e) const |
void | handleVm (double Vm) |
void | process (const Eref &e, const ProcPtr info) |
void | reinit (const Eref &e, const ProcPtr info) |
void | setEk (const Eref &e, double Ek) |
void | setGbar (const Eref &e, double Gbar) |
void | setGk (const Eref &e, double Gk) |
void | setIk (const Eref &e, double Ic) |
void | setModulation (const Eref &e, double modulation) |
~ChanBase () | |
Static Public Member Functions | |
static const Cinfo * | initCinfo () |
![]() | |
static const Cinfo * | initCinfo () |
Specify the Class Info static variable for initialization. More... | |
![]() | |
static SrcFinfo2< double, double > * | channelOut () |
static SrcFinfo1< double > * | IkOut () |
static const Cinfo * | initCinfo () |
Specify the Class Info static variable for initialization. More... | |
static SrcFinfo1< double > * | permeability () |
Private Attributes | |
double | CMg_ |
[Mg] in mM More... | |
double | KMg_A_ |
1/eta More... | |
double | KMg_B_ |
1/gamma More... | |
double | origGk_ |
double | Zk_ |
charge More... | |
Additional Inherited Members | |
![]() | |
double | Vm_ |
Vm_ is input variable from compartment, used for most rates. More... | |
MgBlock::MgBlock | ( | ) |
Definition at line 89 of file MgBlock.cpp.
double MgBlock::getCMg | ( | ) | const |
Definition at line 133 of file MgBlock.cpp.
References CMg_.
Referenced by initCinfo().
double MgBlock::getKMg_A | ( | ) | const |
Definition at line 109 of file MgBlock.cpp.
References KMg_A_.
Referenced by initCinfo().
double MgBlock::getKMg_B | ( | ) | const |
Definition at line 121 of file MgBlock.cpp.
References KMg_B_.
Referenced by initCinfo().
double MgBlock::getZk | ( | ) | const |
Definition at line 137 of file MgBlock.cpp.
References Zk_.
Referenced by initCinfo().
|
static |
Definition at line 17 of file MgBlock.cpp.
References getCMg(), getKMg_A(), getKMg_B(), getZk(), ChanBase::initCinfo(), MgBlockCinfo, origChannel(), setCMg(), setKMg_A(), setKMg_B(), and setZk().
void MgBlock::origChannel | ( | const Eref & | e, |
double | Gk, | ||
double | Ek | ||
) |
Assign the local Vm_ to the incoming Vm from the compartment
Definition at line 178 of file MgBlock.cpp.
References origGk_, and ChanBase::setEk().
Referenced by initCinfo().
void MgBlock::setCMg | ( | double | CMg | ) |
Definition at line 125 of file MgBlock.cpp.
Referenced by initCinfo().
void MgBlock::setKMg_A | ( | double | Gbar | ) |
Definition at line 101 of file MgBlock.cpp.
References EPSILON, and KMg_A_.
Referenced by initCinfo().
void MgBlock::setKMg_B | ( | double | Ek | ) |
Definition at line 113 of file MgBlock.cpp.
References EPSILON, and KMg_B_.
Referenced by initCinfo().
void MgBlock::setZk | ( | double | Zk | ) |
Definition at line 141 of file MgBlock.cpp.
References Zk_.
Referenced by initCinfo().
processFunc handles the update and calculations every clock tick. It first sends the request for evaluation of the gate variables to the respective gate objects and recieves their response immediately through a return message. This is done so that many channel instances can share the same gate lookup tables, but do so cleanly. Such messages should never go to a remote node. Then the function does its own little calculations to send back to the parent compartment through regular messages.
Implements ChanBase.
Definition at line 150 of file MgBlock.cpp.
References CMg_, KMg_A_, KMg_B_, origGk_, ChanCommon::sendProcessMsgs(), ChanBase::setGk(), ChanCommon::updateIk(), and ChanCommon::Vm_.
Reinitializes the values for the channel. This involves computing the steady-state value for the channel gates using the provided Vm from the parent compartment. It involves a similar cycle through the gates and then updates to the parent compartment as for the processFunc.
Implements ChanBase.
Definition at line 163 of file MgBlock.cpp.
References CMg_, EPSILON, KMg_A_, KMg_B_, ChanCommon::sendReinitMsgs(), and Zk_.
|
private |
|
private |
1/eta
Definition at line 71 of file MgBlock.h.
Referenced by getKMg_A(), setKMg_A(), vProcess(), and vReinit().
|
private |
1/gamma
Definition at line 73 of file MgBlock.h.
Referenced by getKMg_B(), setKMg_B(), vProcess(), and vReinit().
|
private |
Original Gk passed by NMDA channel, we keep this separate from Gk so that the computed Gk can be recorded without being overwritten by origChannel message.
Definition at line 80 of file MgBlock.h.
Referenced by origChannel(), and vProcess().
|
private |