#include <CaConcBase.h>
Public Member Functions | |
CaConcBase () | |
void | reinit (const Eref &, ProcPtr info) |
void | process (const Eref &, ProcPtr info) |
void | current (const Eref &e, double I) |
void | currentFraction (const Eref &e, double I, double fraction) |
void | increase (const Eref &e, double I) |
void | decrease (const Eref &e, double I) |
virtual void | vReinit (const Eref &, ProcPtr info)=0 |
virtual void | vProcess (const Eref &, ProcPtr info)=0 |
virtual void | vCurrent (const Eref &e, double I)=0 |
virtual void | vCurrentFraction (const Eref &e, double I, double fraction)=0 |
virtual void | vIncrease (const Eref &e, double I)=0 |
virtual void | vDecrease (const Eref &e, double I)=0 |
void | setCa (const Eref &e, double val) |
double | getCa (const Eref &e) const |
void | setCaBasal (const Eref &e, double val) |
double | getCaBasal (const Eref &e) const |
void | setTau (const Eref &e, double val) |
double | getTau (const Eref &e) const |
void | setB (const Eref &e, double val) |
double | getB (const Eref &e) const |
void | setCeiling (const Eref &e, double val) |
double | getCeiling (const Eref &e) const |
void | setFloor (const Eref &e, double val) |
double | getFloor (const Eref &e) const |
void | setThickness (const Eref &e, double val) |
double | getThickness (const Eref &e) const |
void | setLength (const Eref &e, double val) |
double | getLength (const Eref &e) const |
void | setDiameter (const Eref &e, double val) |
double | getDiameter (const Eref &e) const |
virtual void | vSetCa (const Eref &e, double val)=0 |
virtual double | vGetCa (const Eref &e) const =0 |
virtual void | vSetCaBasal (const Eref &e, double val)=0 |
virtual double | vGetCaBasal (const Eref &e) const =0 |
virtual void | vSetTau (const Eref &e, double val)=0 |
virtual double | vGetTau (const Eref &e) const =0 |
virtual void | vSetB (const Eref &e, double val)=0 |
virtual double | vGetB (const Eref &e) const =0 |
virtual void | vSetCeiling (const Eref &e, double val)=0 |
virtual double | vGetCeiling (const Eref &e) const =0 |
virtual void | vSetFloor (const Eref &e, double val)=0 |
virtual double | vGetFloor (const Eref &e) const =0 |
void | updateDimensions (const Eref &e) |
virtual void | vSetSolver (const Eref &e, Id hsolve) |
Used to set up the solver. Dummy for regular classes. | |
Static Public Member Functions | |
static void | zombify (Element *orig, const Cinfo *zClass, Id hsolve) |
static SrcFinfo1< double > * | concOut () |
static const Cinfo * | initCinfo () |
This is the base class for CaConc. It handles calcium current influx, conversion to calcium concentration, buffering, and pumps. It obeys the equation:
dC/dt = B*Ik - C/tau where Ca = Ca_base + C.
From the GENESIS notes: In SI units, where concentration is moles/m^3 (milli-moles/liter) and current is in amperes, theory gives B = 5.2e-6/(shell volume). In practice, B is a parameter to be fitted or estimated from experiment, as buffering, non-uniform distribution of Ca, etc., will modify this value. If thick = 0, the readcell routine calculates B by dividing the "density" parameter in the cell parameter file by the volume of the compartment. Otherwise, it scales as a true shell, with the volume of a shell having thickness thick. A negative value of the "density" parameter may be used to indicate that it should be taken as an absolute value of B, without scaling.
This is a base class to provide the interface functions.
CaConcBase::CaConcBase | ( | ) |
SrcFinfo1< double > * CaConcBase::concOut | ( | ) | [static] |
Referenced by initCinfo(), CaConc::vProcess(), and CaConc::vReinit().
void CaConcBase::current | ( | const Eref & | e, | |
double | I | |||
) |
void CaConcBase::currentFraction | ( | const Eref & | e, | |
double | I, | |||
double | fraction | |||
) |
void CaConcBase::decrease | ( | const Eref & | e, | |
double | I | |||
) |
double CaConcBase::getB | ( | const Eref & | e | ) | const |
References vGetB().
Referenced by initCinfo(), and zombify().
double CaConcBase::getCa | ( | const Eref & | e | ) | const |
References vGetCa().
Referenced by initCinfo(), and zombify().
double CaConcBase::getCaBasal | ( | const Eref & | e | ) | const |
References vGetCaBasal().
Referenced by initCinfo(), and zombify().
double CaConcBase::getCeiling | ( | const Eref & | e | ) | const |
References vGetCeiling().
Referenced by initCinfo(), and zombify().
double CaConcBase::getDiameter | ( | const Eref & | e | ) | const |
Referenced by initCinfo(), and zombify().
double CaConcBase::getFloor | ( | const Eref & | e | ) | const |
References vGetFloor().
Referenced by initCinfo(), and zombify().
double CaConcBase::getLength | ( | const Eref & | e | ) | const |
Referenced by initCinfo(), and zombify().
double CaConcBase::getTau | ( | const Eref & | e | ) | const |
References vGetTau().
Referenced by initCinfo(), and zombify().
double CaConcBase::getThickness | ( | const Eref & | e | ) | const |
Referenced by initCinfo(), and zombify().
void CaConcBase::increase | ( | const Eref & | e, | |
double | I | |||
) |
const Cinfo * CaConcBase::initCinfo | ( | ) | [static] |
Reimplemented in CaConc, and ZombieCaConc.
References concOut(), current(), currentFraction(), decrease(), getB(), getCa(), getCaBasal(), getCeiling(), getDiameter(), getFloor(), getLength(), getTau(), getThickness(), increase(), Neutral::initCinfo(), process(), reinit(), setB(), setCa(), setCaBasal(), setCeiling(), setDiameter(), setFloor(), setLength(), setTau(), and setThickness().
Referenced by ZombieCaConc::initCinfo(), and CaConc::initCinfo().
void CaConcBase::setB | ( | const Eref & | e, | |
double | val | |||
) |
References vSetB().
Referenced by initCinfo(), and zombify().
void CaConcBase::setCa | ( | const Eref & | e, | |
double | val | |||
) |
References vSetCa().
Referenced by initCinfo(), and zombify().
void CaConcBase::setCaBasal | ( | const Eref & | e, | |
double | val | |||
) |
References vSetCaBasal().
Referenced by initCinfo(), and zombify().
void CaConcBase::setCeiling | ( | const Eref & | e, | |
double | val | |||
) |
References vSetCeiling().
Referenced by initCinfo(), and zombify().
void CaConcBase::setDiameter | ( | const Eref & | e, | |
double | val | |||
) |
References updateDimensions().
Referenced by initCinfo(), and zombify().
void CaConcBase::setFloor | ( | const Eref & | e, | |
double | val | |||
) |
References vSetFloor().
Referenced by initCinfo(), and zombify().
void CaConcBase::setLength | ( | const Eref & | e, | |
double | val | |||
) |
References updateDimensions().
Referenced by initCinfo(), and zombify().
void CaConcBase::setTau | ( | const Eref & | e, | |
double | val | |||
) |
References vSetTau().
Referenced by initCinfo(), and zombify().
void CaConcBase::setThickness | ( | const Eref & | e, | |
double | val | |||
) |
References updateDimensions().
Referenced by initCinfo(), and zombify().
void CaConcBase::updateDimensions | ( | const Eref & | e | ) |
References FaradayConst, PI, and vSetB().
Referenced by setDiameter(), setLength(), and setThickness().
virtual void CaConcBase::vCurrent | ( | const Eref & | e, | |
double | I | |||
) | [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by current().
virtual void CaConcBase::vCurrentFraction | ( | const Eref & | e, | |
double | I, | |||
double | fraction | |||
) | [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by currentFraction().
virtual void CaConcBase::vDecrease | ( | const Eref & | e, | |
double | I | |||
) | [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by decrease().
virtual double CaConcBase::vGetB | ( | const Eref & | e | ) | const [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by getB().
virtual double CaConcBase::vGetCa | ( | const Eref & | e | ) | const [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by getCa().
virtual double CaConcBase::vGetCaBasal | ( | const Eref & | e | ) | const [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by getCaBasal().
virtual double CaConcBase::vGetCeiling | ( | const Eref & | e | ) | const [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by getCeiling().
virtual double CaConcBase::vGetFloor | ( | const Eref & | e | ) | const [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by getFloor().
virtual double CaConcBase::vGetTau | ( | const Eref & | e | ) | const [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by getTau().
virtual void CaConcBase::vIncrease | ( | const Eref & | e, | |
double | I | |||
) | [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by increase().
Implemented in CaConc, and ZombieCaConc.
Referenced by process().
Implemented in CaConc, and ZombieCaConc.
Referenced by reinit().
virtual void CaConcBase::vSetB | ( | const Eref & | e, | |
double | val | |||
) | [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by setB(), and updateDimensions().
virtual void CaConcBase::vSetCa | ( | const Eref & | e, | |
double | val | |||
) | [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by setCa().
virtual void CaConcBase::vSetCaBasal | ( | const Eref & | e, | |
double | val | |||
) | [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by setCaBasal().
virtual void CaConcBase::vSetCeiling | ( | const Eref & | e, | |
double | val | |||
) | [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by setCeiling().
virtual void CaConcBase::vSetFloor | ( | const Eref & | e, | |
double | val | |||
) | [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by setFloor().
Used to set up the solver. Dummy for regular classes.
Reimplemented in ZombieCaConc.
Referenced by zombify().
virtual void CaConcBase::vSetTau | ( | const Eref & | e, | |
double | val | |||
) | [pure virtual] |
Implemented in CaConc, and ZombieCaConc.
Referenced by setTau().
Swaps Cinfos in order to make Zombies.
References Element::cinfo(), Eref::data(), getB(), getCa(), getCaBasal(), getCeiling(), getDiameter(), getFloor(), getLength(), getTau(), getThickness(), Element::localDataStart(), Element::numLocalData(), setB(), setCa(), setCaBasal(), setCeiling(), setDiameter(), setFloor(), setLength(), setTau(), setThickness(), vSetSolver(), and Element::zombieSwap().