12 using namespace moose;
31 "Name",
"ZombieCompartment",
32 "Author",
"Upi Bhalla",
33 "Description",
"Compartment object, for branching neuron models.",
46 sizeof( doc )/
sizeof(
string )
72 hsolve_->setVm( e.
id(), Vm );
78 return hsolve_->getVm( e.
id() );
83 hsolve_->setEm( e.
id(), Em );
88 return hsolve_->getEm( e.
id() );
93 if ( rangeWarning(
"Cm", Cm ) )
return;
94 hsolve_->setCm( e.
id(), Cm );
99 return hsolve_->getCm( e.
id() );
104 if ( rangeWarning(
"Rm", Rm ) )
return;
105 hsolve_->setRm( e.
id(), Rm );
110 return hsolve_->getRm( e.
id() );
115 if ( rangeWarning(
"Ra", Ra ) )
return;
116 hsolve_->setRa( e.
id(), Ra );
121 return hsolve_->getRa( e.
id() );
131 return hsolve_->getIm( e.
id() );
136 hsolve_->setInject( e.
id(), Inject );
141 return hsolve_->getInject( e.
id() );
146 hsolve_->setInitVm( e.
id(), initVm );
151 return hsolve_->getInitVm( e.
id() );
180 hsolve_->addGkEk( e.
id(), Gk, Ek );
195 hsolve_->addInject( e.
id(), current );
209 cout <<
"Error: ZombieCompartment::vSetSolver: Object: " <<
210 hsolve.
path() <<
" is not an HSolve. Aborted\n";
Element * element() const
Synonym for Id::operator()()
void vSetRm(const Eref &e, double Rm)
static const double EPSILON
std::string path(const std::string &separator="/") const
static const Cinfo * initCinfo()
void setSeed(const unsigned long seed)
If seed if 0 then set seed to a random number else set seed to the given number.
void vReinit(const Eref &e, ProcPtr p)
double vGetInject(const Eref &e) const
void vSetSolver(const Eref &e, Id hsolve)
Assigns the solver to the zombie.
void vInitProc(const Eref &e, ProcPtr p)
void vSetVm(const Eref &e, double Vm)
double vGetCm(const Eref &e) const
void vSetCm(const Eref &e, double Cm)
double vGetRa(const Eref &e) const
void vSetInject(const Eref &e, double Inject)
void vInjectMsg(const Eref &e, double current)
void vHandleAxial(double Vm)
double vGetInitVm(const Eref &e) const
unsigned long __rng_seed__
A global seed for all RNGs in moose. When moose.seed( x ) is called, this variable is set...
static const Cinfo * zombieCompartmentCinfo
double vGetRm(const Eref &e) const
void vSetEm(const Eref &e, double Em)
void vHandleChannel(const Eref &e, double Gk, double Ek)
bool isA(const string &ancestor) const
const Cinfo * cinfo() const
void vProcess(const Eref &e, ProcPtr p)
void vSetInitVm(const Eref &e, double initVm)
virtual ~ZombieCompartment()
void vRandInject(const Eref &e, double prob, double current)
double vGetIm(const Eref &e) const
void vInitReinit(const Eref &e, ProcPtr p)
double vGetVm(const Eref &e) const
double vGetEm(const Eref &e) const
T uniform(const T a, const T b)
Generate a uniformly distributed random number between a and b.
void vSetRa(const Eref &e, double Ra)
void vHandleRaxial(double Ra, double Vm)
static const Cinfo * initCinfo()