MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <HHChannelBase.h>
Public Member Functions | |
void | createGate (const Eref &e, string gateType) |
int | getInstant (const Eref &e) const |
unsigned int | getNumXgates () const |
unsigned int | getNumYgates () const |
Returns 1 if Y gate present, otherwise 0. More... | |
unsigned int | getNumZgates () const |
Returns 1 if Z gate present, otherwise 0. More... | |
int | getUseConcentration (const Eref &e) const |
double | getX (const Eref &e) const |
HHGate * | getXgate (unsigned int i) |
double | getXpower (const Eref &e) const |
double | getY (const Eref &e) const |
HHGate * | getYgate (unsigned int i) |
double | getYpower (const Eref &e) const |
double | getZ (const Eref &e) const |
HHGate * | getZgate (unsigned int i) |
double | getZpower (const Eref &e) const |
void | handleConc (const Eref &e, double conc) |
HHChannelBase () | |
void | setInstant (const Eref &e, int Instant) |
void | setNumGates (unsigned int num) |
void | setUseConcentration (const Eref &e, int value) |
void | setX (const Eref &e, double X) |
void | setXpower (const Eref &e, double Xpower) |
void | setY (const Eref &e, double Y) |
void | setYpower (const Eref &e, double Ypower) |
void | setZ (const Eref &e, double Z) |
void | setZpower (const Eref &e, double Zpower) |
virtual void | vCreateGate (const Eref &e, string gateType)=0 |
virtual int | vGetInstant (const Eref &e) const =0 |
double | vGetModulation (const Eref &e) const |
virtual double | vGetX (const Eref &e) const =0 |
virtual HHGate * | vGetXgate (unsigned int i) const =0 |
virtual double | vGetY (const Eref &e) const =0 |
virtual HHGate * | vGetYgate (unsigned int i) const =0 |
virtual double | vGetZ (const Eref &e) const =0 |
virtual HHGate * | vGetZgate (unsigned int i) const =0 |
virtual void | vHandleConc (const Eref &e, double conc)=0 |
virtual void | vSetInstant (const Eref &e, int Instant)=0 |
virtual void | vSetSolver (const Eref &e, Id hsolve) |
virtual void | vSetUseConcentration (const Eref &e, int value)=0 |
virtual void | vSetX (const Eref &e, double X)=0 |
virtual void | vSetXpower (const Eref &e, double Xpower)=0 |
virtual void | vSetY (const Eref &e, double Y)=0 |
virtual void | vSetYpower (const Eref &e, double Ypower)=0 |
virtual void | vSetZ (const Eref &e, double Z)=0 |
virtual void | vSetZpower (const Eref &e, double Zpower)=0 |
~HHChannelBase () | |
![]() | |
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) |
virtual double | vGetEk (const Eref &e) const =0 |
virtual double | vGetGbar (const Eref &e) const =0 |
virtual double | vGetGk (const Eref &e) const =0 |
virtual double | vGetIk (const Eref &e) const =0 |
virtual void | vHandleVm (double Vm)=0 |
virtual void | vProcess (const Eref &e, const ProcPtr info)=0 |
virtual void | vReinit (const Eref &e, const ProcPtr info)=0 |
virtual void | vSetEk (const Eref &e, double Ek)=0 |
virtual void | vSetGbar (const Eref &e, double Gbar)=0 |
virtual void | vSetGk (const Eref &e, double Gk)=0 |
virtual void | vSetIk (const Eref &e, double Ik)=0 |
virtual void | vSetModulation (const Eref &e, double modulation)=0 |
~ChanBase () | |
Static Public Member Functions | |
static const Cinfo * | initCinfo () |
static double | power1 (double x, double p) |
static double | power2 (double x, double p) |
static double | power3 (double x, double p) |
static double | power4 (double x, double p) |
static double | powerN (double x, double p) |
static PFDD | selectPower (double power) |
static void | zombify (Element *orig, const Cinfo *zClass, Id hsolve) |
![]() | |
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 () |
Protected Attributes | |
double | modulation_ |
Value used to scale channel conductance up or down. More... | |
bool | useConcentration_ |
Flag for use of conc for input to Z gate calculations. More... | |
double | Xpower_ |
Exponent for X gate. More... | |
double | Ypower_ |
Exponent for Y gate. More... | |
double | Zpower_ |
Exponent for Z gate. More... | |
The HHChannelBase is the base class for defining Hodgkin-Huxley type channels, specifically dealing with derivatives used in the HSolver. This is derived from the ChanBase rather than the ChanCommon, since the Zombie classes used in the HSolver will not use the ChanCommon fields.
Definition at line 24 of file HHChannelBase.h.
HHChannelBase::HHChannelBase | ( | ) |
Definition at line 170 of file HHChannelBase.cpp.
HHChannelBase::~HHChannelBase | ( | ) |
Definition at line 179 of file HHChannelBase.cpp.
void HHChannelBase::createGate | ( | const Eref & | e, |
string | gateType | ||
) |
Function for safely creating each gate, identified by strings as X, Y and Z. Will only work on a new channel, not on a copy. The idea is that the gates are always referred to the original 'library' channel, and their contents cannot be touched except by the original.
Definition at line 218 of file HHChannelBase.cpp.
References vCreateGate().
Referenced by initCinfo(), and HHChannel::setGatePower().
int HHChannelBase::getInstant | ( | const Eref & | e | ) | const |
Definition at line 246 of file HHChannelBase.cpp.
References vGetInstant().
Referenced by initCinfo().
unsigned int HHChannelBase::getNumXgates | ( | ) | const |
Access function for the number of Xgates. Gives 1 if present, otherwise 0.
Definition at line 327 of file HHChannelBase.cpp.
References vGetXgate().
Referenced by initCinfo().
unsigned int HHChannelBase::getNumYgates | ( | ) | const |
Returns 1 if Y gate present, otherwise 0.
Definition at line 332 of file HHChannelBase.cpp.
References vGetYgate().
Referenced by initCinfo().
unsigned int HHChannelBase::getNumZgates | ( | ) | const |
Returns 1 if Z gate present, otherwise 0.
Definition at line 337 of file HHChannelBase.cpp.
References vGetZgate().
Referenced by initCinfo().
int HHChannelBase::getUseConcentration | ( | const Eref & | e | ) | const |
Definition at line 284 of file HHChannelBase.cpp.
References useConcentration_.
Referenced by initCinfo(), and zombify().
double HHChannelBase::getX | ( | const Eref & | e | ) | const |
Definition at line 255 of file HHChannelBase.cpp.
References vGetX().
Referenced by initCinfo().
HHGate * HHChannelBase::getXgate | ( | unsigned int | i | ) |
Access function used for the X gate. The index is ignored.
Definition at line 309 of file HHChannelBase.cpp.
References vGetXgate().
Referenced by initCinfo().
double HHChannelBase::getXpower | ( | const Eref & | e | ) | const |
Definition at line 227 of file HHChannelBase.cpp.
References Xpower_.
Referenced by initCinfo(), and zombify().
double HHChannelBase::getY | ( | const Eref & | e | ) | const |
Definition at line 264 of file HHChannelBase.cpp.
References vGetY().
Referenced by initCinfo().
HHGate * HHChannelBase::getYgate | ( | unsigned int | i | ) |
Access function used for the Y gate. The index is ignored.
Definition at line 314 of file HHChannelBase.cpp.
References vGetYgate().
Referenced by initCinfo().
double HHChannelBase::getYpower | ( | const Eref & | e | ) | const |
Definition at line 232 of file HHChannelBase.cpp.
References Ypower_.
Referenced by initCinfo(), and zombify().
double HHChannelBase::getZ | ( | const Eref & | e | ) | const |
Definition at line 273 of file HHChannelBase.cpp.
References vGetZ().
Referenced by initCinfo().
HHGate * HHChannelBase::getZgate | ( | unsigned int | i | ) |
Access function used for the Z gate. The index is ignored.
Definition at line 319 of file HHChannelBase.cpp.
References vGetZgate().
Referenced by initCinfo().
double HHChannelBase::getZpower | ( | const Eref & | e | ) | const |
Definition at line 237 of file HHChannelBase.cpp.
References Zpower_.
Referenced by initCinfo(), and zombify().
void HHChannelBase::handleConc | ( | const Eref & | e, |
double | conc | ||
) |
Assign the local conc_ to the incoming conc from the concentration calculations for the compartment. Typically the message source will be a CaConc object, but there are other options for computing the conc.
Definition at line 298 of file HHChannelBase.cpp.
References vHandleConc().
Referenced by initCinfo().
|
static |
Definition at line 16 of file HHChannelBase.cpp.
References createGate(), getInstant(), getNumXgates(), getNumYgates(), getNumZgates(), getUseConcentration(), getX(), getXgate(), getXpower(), getY(), getYgate(), getYpower(), getZ(), getZgate(), getZpower(), handleConc(), ChanBase::initCinfo(), HHGate::initCinfo(), setInstant(), setNumGates(), setUseConcentration(), setX(), setXpower(), setY(), setYpower(), setZ(), and setZpower().
Referenced by ZombieHHChannel::initCinfo(), and HHChannel::initCinfo().
|
inlinestatic |
Definition at line 153 of file HHChannelBase.h.
Referenced by selectPower().
|
inlinestatic |
Definition at line 156 of file HHChannelBase.h.
Referenced by power4(), and selectPower().
|
inlinestatic |
Definition at line 159 of file HHChannelBase.h.
Referenced by selectPower().
|
inlinestatic |
Definition at line 162 of file HHChannelBase.h.
References power2().
Referenced by selectPower().
|
static |
Definition at line 344 of file HHChannelBase.cpp.
References moose::log().
Referenced by selectPower().
|
static |
Definition at line 351 of file HHChannelBase.cpp.
References doubleEq(), power1(), power2(), power3(), power4(), and powerN().
Referenced by HHChannel::vSetXpower(), HHChannel::vSetYpower(), and HHChannel::vSetZpower().
void HHChannelBase::setInstant | ( | const Eref & | e, |
int | Instant | ||
) |
Definition at line 242 of file HHChannelBase.cpp.
References vSetInstant().
Referenced by initCinfo().
void HHChannelBase::setNumGates | ( | unsigned int | num | ) |
Dummy assignment function for the number of gates.
Definition at line 324 of file HHChannelBase.cpp.
Referenced by initCinfo().
void HHChannelBase::setUseConcentration | ( | const Eref & | e, |
int | value | ||
) |
Definition at line 278 of file HHChannelBase.cpp.
References useConcentration_, value, and vSetUseConcentration().
Referenced by initCinfo().
void HHChannelBase::setX | ( | const Eref & | e, |
double | X | ||
) |
Definition at line 251 of file HHChannelBase.cpp.
References vSetX().
Referenced by initCinfo().
void HHChannelBase::setXpower | ( | const Eref & | e, |
double | power | ||
) |
Assigns the Xpower for this gate. If the gate exists and has only this element for input, then change the gate value. If the gate exists and has multiple parents, then make a new gate. If the gate does not exist, make a new gate
Definition at line 200 of file HHChannelBase.cpp.
References checkPower(), and vSetXpower().
Referenced by initCinfo().
void HHChannelBase::setY | ( | const Eref & | e, |
double | Y | ||
) |
Definition at line 260 of file HHChannelBase.cpp.
References vSetY().
Referenced by initCinfo().
void HHChannelBase::setYpower | ( | const Eref & | e, |
double | Ypower | ||
) |
Definition at line 206 of file HHChannelBase.cpp.
References checkPower(), and vSetYpower().
Referenced by initCinfo().
void HHChannelBase::setZ | ( | const Eref & | e, |
double | Z | ||
) |
Definition at line 269 of file HHChannelBase.cpp.
References vSetZ().
Referenced by initCinfo().
void HHChannelBase::setZpower | ( | const Eref & | e, |
double | Zpower | ||
) |
Definition at line 212 of file HHChannelBase.cpp.
References checkPower(), and vSetZpower().
Referenced by initCinfo().
|
pure virtual |
|
pure virtual |
Implemented in ZombieHHChannel, and HHChannel.
Referenced by getInstant().
|
virtual |
Implements ChanBase.
Definition at line 289 of file HHChannelBase.cpp.
References modulation_.
|
pure virtual |
Implemented in ZombieHHChannel, and HHChannel.
Referenced by getX().
|
pure virtual |
Implemented in HHChannel, and ZombieHHChannel.
Referenced by getNumXgates(), and getXgate().
|
pure virtual |
Implemented in ZombieHHChannel, and HHChannel.
Referenced by getY().
|
pure virtual |
Implemented in HHChannel, and ZombieHHChannel.
Referenced by getNumYgates(), and getYgate().
|
pure virtual |
Implemented in ZombieHHChannel, and HHChannel.
Referenced by getZ().
|
pure virtual |
Implemented in HHChannel, and ZombieHHChannel.
Referenced by getNumZgates(), and getZgate().
|
pure virtual |
Implemented in HHChannel, and ZombieHHChannel.
Referenced by handleConc().
|
pure virtual |
Implemented in ZombieHHChannel, and HHChannel.
Referenced by setInstant().
Reimplemented in ZombieHHChannel.
Definition at line 368 of file HHChannelBase.cpp.
Referenced by zombify().
|
pure virtual |
Implemented in ZombieHHChannel, and HHChannel.
Referenced by setUseConcentration().
|
pure virtual |
Implemented in ZombieHHChannel, and HHChannel.
Referenced by setX().
|
pure virtual |
Implemented in ZombieHHChannel, and HHChannel.
Referenced by setXpower(), and zombify().
|
pure virtual |
Implemented in ZombieHHChannel, and HHChannel.
Referenced by setY().
|
pure virtual |
Implemented in ZombieHHChannel, and HHChannel.
Referenced by setYpower(), and zombify().
|
pure virtual |
Implemented in ZombieHHChannel, and HHChannel.
Referenced by setZ().
|
pure virtual |
Implemented in ZombieHHChannel, and HHChannel.
Referenced by setZpower(), and zombify().
Definition at line 371 of file HHChannelBase.cpp.
References Element::cinfo(), Eref::data(), getUseConcentration(), getXpower(), getYpower(), getZpower(), Element::localDataStart(), Element::numLocalData(), ChanBase::vGetEk(), ChanBase::vGetGbar(), ChanBase::vSetEk(), ChanBase::vSetGbar(), vSetSolver(), vSetXpower(), vSetYpower(), vSetZpower(), and Element::zombieSwap().
Referenced by HSolve::unzombify(), and HSolve::zombify().
|
protected |
Value used to scale channel conductance up or down.
Definition at line 188 of file HHChannelBase.h.
Referenced by vGetModulation(), HHChannel::vGetModulation(), HHChannel::vProcess(), HHChannel::vReinit(), HHChannel::vSetModulation(), and ZombieHHChannel::vSetModulation().
|
protected |
Flag for use of conc for input to Z gate calculations.
Definition at line 185 of file HHChannelBase.h.
Referenced by getUseConcentration(), setUseConcentration(), HHChannel::vProcess(), HHChannel::vReinit(), HHChannel::vSetUseConcentration(), and HHChannel::vSetZpower().
|
protected |
Exponent for X gate.
Definition at line 179 of file HHChannelBase.h.
Referenced by getXpower(), HHChannel::vProcess(), HHChannel::vReinit(), HHChannel::vSetXpower(), ZombieHHChannel::vSetXpower(), ZombieHHChannel::vSetYpower(), and ZombieHHChannel::vSetZpower().
|
protected |
Exponent for Y gate.
Definition at line 181 of file HHChannelBase.h.
Referenced by getYpower(), HHChannel::vProcess(), HHChannel::vReinit(), ZombieHHChannel::vSetXpower(), HHChannel::vSetYpower(), ZombieHHChannel::vSetYpower(), and ZombieHHChannel::vSetZpower().
|
protected |
Exponent for Z gate.
Definition at line 183 of file HHChannelBase.h.
Referenced by getZpower(), HHChannel::vProcess(), HHChannel::vReinit(), ZombieHHChannel::vSetXpower(), ZombieHHChannel::vSetYpower(), HHChannel::vSetZpower(), and ZombieHHChannel::vSetZpower().