MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <ZombieHHChannel.h>
Public Member Functions | |
void | vCreateGate (const Eref &e, string name) |
double | vGetEk (const Eref &e) const |
double | vGetGbar (const Eref &e) const |
double | vGetGk (const Eref &e) const |
double | vGetIk (const Eref &e) const |
int | vGetInstant (const Eref &e) const |
double | vGetX (const Eref &e) const |
HHGate * | vGetXgate (unsigned int i) const |
double | vGetY (const Eref &e) const |
HHGate * | vGetYgate (unsigned int i) const |
double | vGetZ (const Eref &e) const |
HHGate * | vGetZgate (unsigned int i) const |
void | vHandleConc (const Eref &e, double value) |
void | vHandleVm (double Vm) |
void | vProcess (const Eref &e, ProcPtr p) |
void | vReinit (const Eref &e, ProcPtr p) |
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 Ik) |
void | vSetInstant (const Eref &e, int instant) |
void | vSetModulation (const Eref &e, double value) |
void | vSetSolver (const Eref &e, Id hsolve) |
void | vSetUseConcentration (const Eref &e, int value) |
void | vSetX (const Eref &e, double X) |
void | vSetXpower (const Eref &e, double Xpower) |
void | vSetY (const Eref &e, double Y) |
void | vSetYpower (const Eref &e, double Ypower) |
void | vSetZ (const Eref &e, double Z) |
void | vSetZpower (const Eref &e, double Zpower) |
ZombieHHChannel () | |
![]() | |
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 |
double | vGetModulation (const Eref &e) const |
~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) |
~ChanBase () | |
Static Public Member Functions | |
static const Cinfo * | initCinfo () |
![]() | |
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 () |
Private Member Functions | |
void | copyFields (Id chanId, HSolve *hsolve_) |
Private Attributes | |
HSolve * | hsolve_ |
Additional Inherited Members | |
![]() | |
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... | |
Zombie object that lets HSolve do its calculations, while letting the user interact with this object as if it were the original object.
ZombieHHChannel derives directly from Neutral, unlike the regular HHChannel which derives from ChanBase. ChanBase handles fields like Gbar, Gk, Ek, Ik, which are common to HHChannel, SynChan, etc. On the other hand, these fields are stored separately for HHChannel and SynChan in the HSolver. Hence we cannot have a ZombieChanBase which does, for example: hsolve_->setGk( id, Gk ); Instead we must have ZombieHHChannel and ZombieSynChan which do: hsolve_->setHHChannelGk( id, Gk ); and: hsolve_->setSynChanGk( id, Gk ); respectively.
Definition at line 48 of file ZombieHHChannel.h.
ZombieHHChannel::ZombieHHChannel | ( | ) |
Definition at line 44 of file ZombieHHChannel.cpp.
|
static |
Definition at line 12 of file ZombieHHChannel.cpp.
References HHChannelBase::initCinfo(), and zombieHHChannelCinfo.
Referenced by HSolve::zombify().
void ZombieHHChannel::vCreateGate | ( | const Eref & | e, |
string | name | ||
) |
Definition at line 185 of file ZombieHHChannel.cpp.
|
virtual |
Implements ChanBase.
Definition at line 95 of file ZombieHHChannel.cpp.
References HSolve::getEk(), hsolve_, and Eref::id().
|
virtual |
Implements ChanBase.
Definition at line 75 of file ZombieHHChannel.cpp.
References HSolve::getHHChannelGbar(), hsolve_, and Eref::id().
|
virtual |
Implements ChanBase.
Definition at line 85 of file ZombieHHChannel.cpp.
References HSolve::getGk(), hsolve_, and Eref::id().
|
virtual |
Implements ChanBase.
Definition at line 105 of file ZombieHHChannel.cpp.
References HSolve::getIk(), hsolve_, and Eref::id().
|
virtual |
Implements HHChannelBase.
Definition at line 115 of file ZombieHHChannel.cpp.
References HSolve::getInstant(), hsolve_, and Eref::id().
|
virtual |
Implements HHChannelBase.
Definition at line 125 of file ZombieHHChannel.cpp.
References HSolve::getX(), hsolve_, and Eref::id().
|
virtual |
Access function used for the X gate. The index is ignored.
Implements HHChannelBase.
Definition at line 194 of file ZombieHHChannel.cpp.
|
virtual |
Implements HHChannelBase.
Definition at line 135 of file ZombieHHChannel.cpp.
References HSolve::getY(), hsolve_, and Eref::id().
|
virtual |
Access function used for the Y gate. The index is ignored.
Implements HHChannelBase.
Definition at line 199 of file ZombieHHChannel.cpp.
|
virtual |
Implements HHChannelBase.
Definition at line 145 of file ZombieHHChannel.cpp.
References HSolve::getZ(), hsolve_, and Eref::id().
|
virtual |
Access function used for the Z gate. The index is ignored.
Implements HHChannelBase.
Definition at line 204 of file ZombieHHChannel.cpp.
|
virtual |
Implements HHChannelBase.
Definition at line 178 of file ZombieHHChannel.cpp.
References HSolve::addConc(), hsolve_, and Eref::id().
|
virtual |
|
virtual |
Implements ChanBase.
Definition at line 90 of file ZombieHHChannel.cpp.
References hsolve_, Eref::id(), and HSolve::setEk().
|
virtual |
Implements ChanBase.
Definition at line 69 of file ZombieHHChannel.cpp.
References hsolve_, Eref::id(), and HSolve::setHHChannelGbar().
|
virtual |
Implements ChanBase.
Definition at line 80 of file ZombieHHChannel.cpp.
References hsolve_, Eref::id(), and HSolve::setGk().
|
virtual |
|
virtual |
Implements HHChannelBase.
Definition at line 110 of file ZombieHHChannel.cpp.
References hsolve_, Eref::id(), and HSolve::setInstant().
|
virtual |
Implements ChanBase.
Definition at line 156 of file ZombieHHChannel.cpp.
References hsolve_, Eref::id(), HHChannelBase::modulation_, and HSolve::setHHmodulation().
Reimplemented from HHChannelBase.
Definition at line 215 of file ZombieHHChannel.cpp.
References Element::cinfo(), Eref::data(), Id::element(), Id::eref(), hsolve_, Cinfo::isA(), and Id::path().
|
virtual |
Not trivial to change Ca-dependence once HSolve has been set up, and unlikely that one would want to change this field after setup, so keeping this field read-only.
Implements HHChannelBase.
Definition at line 150 of file ZombieHHChannel.cpp.
|
virtual |
Implements HHChannelBase.
Definition at line 120 of file ZombieHHChannel.cpp.
References hsolve_, Eref::id(), and HSolve::setX().
|
virtual |
Implements HHChannelBase.
Definition at line 51 of file ZombieHHChannel.cpp.
References hsolve_, Eref::id(), HSolve::setPowers(), HHChannelBase::Xpower_, HHChannelBase::Ypower_, and HHChannelBase::Zpower_.
|
virtual |
Implements HHChannelBase.
Definition at line 130 of file ZombieHHChannel.cpp.
References hsolve_, Eref::id(), and HSolve::setY().
|
virtual |
Implements HHChannelBase.
Definition at line 57 of file ZombieHHChannel.cpp.
References hsolve_, Eref::id(), HSolve::setPowers(), HHChannelBase::Xpower_, HHChannelBase::Ypower_, and HHChannelBase::Zpower_.
|
virtual |
Implements HHChannelBase.
Definition at line 140 of file ZombieHHChannel.cpp.
References hsolve_, Eref::id(), and HSolve::setZ().
|
virtual |
Implements HHChannelBase.
Definition at line 63 of file ZombieHHChannel.cpp.
References hsolve_, Eref::id(), HSolve::setPowers(), HHChannelBase::Xpower_, HHChannelBase::Ypower_, and HHChannelBase::Zpower_.
|
private |
Definition at line 122 of file ZombieHHChannel.h.
Referenced by vGetEk(), vGetGbar(), vGetGk(), vGetIk(), vGetInstant(), vGetX(), vGetY(), vGetZ(), vHandleConc(), vSetEk(), vSetGbar(), vSetGk(), vSetInstant(), vSetModulation(), vSetSolver(), vSetX(), vSetXpower(), vSetY(), vSetYpower(), vSetZ(), and vSetZpower().