moose::Compartment Class Reference

#include <Compartment.h>

Inheritance diagram for moose::Compartment:
Inheritance graph
[legend]
Collaboration diagram for moose::Compartment:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Compartment ()
virtual ~Compartment ()
virtual void vSetVm (const Eref &e, double Vm)
virtual double vGetVm (const Eref &e) const
virtual void vSetEm (const Eref &e, double Em)
virtual double vGetEm (const Eref &e) const
virtual void vSetCm (const Eref &e, double Cm)
virtual double vGetCm (const Eref &e) const
virtual void vSetRm (const Eref &e, double Rm)
virtual double vGetRm (const Eref &e) const
virtual void vSetRa (const Eref &e, double Ra)
virtual double vGetRa (const Eref &e) const
virtual double vGetIm (const Eref &e) const
virtual void vSetInject (const Eref &e, double Inject)
virtual double vGetInject (const Eref &e) const
virtual void vSetInitVm (const Eref &e, double initVm)
virtual double vGetInitVm (const Eref &e) const
void vProcess (const Eref &e, ProcPtr p)
void vReinit (const Eref &e, ProcPtr p)
void vInitProc (const Eref &e, ProcPtr p)
void vInitReinit (const Eref &e, ProcPtr p)
void vHandleChannel (const Eref &e, double Gk, double Ek)
void vHandleRaxial (double Ra, double Vm)
void vHandleAxial (double Vm)
void vInjectMsg (const Eref &e, double current)
void vRandInject (const Eref &e, double prob, double current)
void cable ()

Static Public Member Functions

static const CinfoinitCinfo ()

Protected Attributes

double Vm_
double initVm_
double Em_
double Cm_
double Rm_
double Ra_
double Im_
double lastIm_
double inject_
double A_
double B_
double sumInject_

Constructor & Destructor Documentation

Compartment::Compartment (  ) 

References A_, B_, Cm_, Em_, Im_, initVm_, inject_, lastIm_, Ra_, Rm_, sumInject_, and Vm_.

Compartment::~Compartment (  )  [virtual]

Member Function Documentation

void moose::Compartment::cable (  ) 

Dummy function to act as recipient of 'cable' message, which is just for grouping compartments.

Reimplemented from moose::CompartmentBase.

const Cinfo * Compartment::initCinfo (  )  [static]

Initializes the class info.

The initCinfo() function sets up the Compartment class. This function uses the common trick of having an internal static value which is created the first time the function is called. There are several static arrays set up here. The ones which use SharedFinfos are for shared messages where multiple kinds of information go along the same connection.

Reimplemented from moose::CompartmentBase.

Reimplemented in SymCompartment.

References moose::CompartmentBase::initCinfo().

Referenced by SymCompartment::initCinfo().

Here is the call graph for this function:

double Compartment::vGetCm ( const Eref e  )  const [virtual]

Implements moose::CompartmentBase.

References Cm_.

double Compartment::vGetEm ( const Eref e  )  const [virtual]

Implements moose::CompartmentBase.

References Em_.

double Compartment::vGetIm ( const Eref e  )  const [virtual]

Implements moose::CompartmentBase.

References lastIm_.

double Compartment::vGetInitVm ( const Eref e  )  const [virtual]

Implements moose::CompartmentBase.

References initVm_.

double Compartment::vGetInject ( const Eref e  )  const [virtual]

Implements moose::CompartmentBase.

References inject_.

double Compartment::vGetRa ( const Eref e  )  const [virtual]

Implements moose::CompartmentBase.

References Ra_.

double Compartment::vGetRm ( const Eref e  )  const [virtual]

Implements moose::CompartmentBase.

References Rm_.

double Compartment::vGetVm ( const Eref e  )  const [virtual]

Implements moose::CompartmentBase.

References Vm_.

void Compartment::vHandleAxial ( double  Vm  )  [virtual]

handleAxial handles incoming axial message data.

Implements moose::CompartmentBase.

References A_, B_, Im_, Ra_, and Vm_.

void Compartment::vHandleChannel ( const Eref e,
double  Gk,
double  Ek 
) [virtual]

handleChannel handles information coming from the channel to the compartment

Implements moose::CompartmentBase.

References A_, and B_.

void Compartment::vHandleRaxial ( double  Ra,
double  Vm 
) [virtual]

handleRaxial handles incoming raxial message data.

Implements moose::CompartmentBase.

References A_, B_, Im_, and Vm_.

void Compartment::vInitProc ( const Eref e,
ProcPtr  p 
) [virtual]

The initProc function is for a second phase of 'process' operations. It sends the axial and raxial messages to other compartments. It has to be executed out of phase with the main process so that all compartments are equivalent and there is no calling order dependence in the results.

Implements moose::CompartmentBase.

Reimplemented in SymCompartment.

References Ra_, SrcFinfo2< T1, T2 >::send(), SrcFinfo1< T >::send(), and Vm_.

Here is the call graph for this function:

void Compartment::vInitReinit ( const Eref e,
ProcPtr  p 
) [virtual]

Empty function to do another reinit step out of phase with the main one. Nothing needs doing there.

Implements moose::CompartmentBase.

Reimplemented in SymCompartment.

void Compartment::vInjectMsg ( const Eref e,
double  current 
) [virtual]

Injects a constantly updated current into the compartment. Unlike the 'inject' field, this injected current is applicable only for a single timestep. So this is meant to be used as the destination of a message rather than as a one-time assignment.

Implements moose::CompartmentBase.

References Im_, and sumInject_.

void Compartment::vProcess ( const Eref e,
ProcPtr  p 
) [virtual]

The process function does the object updating and sends out messages to channels, nernsts, and so on.

Implements moose::CompartmentBase.

References A_, B_, Cm_, ProcInfo::dt, Em_, Im_, inject_, lastIm_, sumInject_, Vm_, and moose::CompartmentBase::VmOut().

Here is the call graph for this function:

void Compartment::vRandInject ( const Eref e,
double  prob,
double  current 
) [virtual]

Injects a constantly updated current into the compartment, with a probability prob. Note that it isn't the current amplitude that is random, it is the presence or absence of the current that is probabilistic.

Implements moose::CompartmentBase.

References Im_, mtrand(), and sumInject_.

Here is the call graph for this function:

void Compartment::vReinit ( const Eref e,
ProcPtr  p 
) [virtual]

The reinit function reinitializes all fields.

Implements moose::CompartmentBase.

Reimplemented in SymCompartment.

References A_, B_, ProcInfo::dt, Im_, initVm_, lastIm_, sumInject_, Vm_, and moose::CompartmentBase::VmOut().

Here is the call graph for this function:

void Compartment::vSetCm ( const Eref e,
double  Cm 
) [virtual]

Implements moose::CompartmentBase.

References Cm_, and moose::CompartmentBase::rangeWarning().

Here is the call graph for this function:

void Compartment::vSetEm ( const Eref e,
double  Em 
) [virtual]

Implements moose::CompartmentBase.

References Em_.

void Compartment::vSetInitVm ( const Eref e,
double  initVm 
) [virtual]

Implements moose::CompartmentBase.

References initVm_.

void Compartment::vSetInject ( const Eref e,
double  Inject 
) [virtual]

Implements moose::CompartmentBase.

References inject_.

void Compartment::vSetRa ( const Eref e,
double  Ra 
) [virtual]

Implements moose::CompartmentBase.

References Ra_, and moose::CompartmentBase::rangeWarning().

Here is the call graph for this function:

void Compartment::vSetRm ( const Eref e,
double  Rm 
) [virtual]

Implements moose::CompartmentBase.

References moose::CompartmentBase::rangeWarning(), and Rm_.

Here is the call graph for this function:

void Compartment::vSetVm ( const Eref e,
double  Vm 
) [virtual]

Implements moose::CompartmentBase.

References Vm_.


Member Data Documentation

double moose::Compartment::A_ [protected]
double moose::Compartment::B_ [protected]
double moose::Compartment::Cm_ [protected]

Referenced by Compartment(), vGetCm(), vProcess(), and vSetCm().

double moose::Compartment::Em_ [protected]

Referenced by Compartment(), vGetEm(), vProcess(), and vSetEm().

double moose::Compartment::Im_ [protected]
double moose::Compartment::initVm_ [protected]
double moose::Compartment::inject_ [protected]
double moose::Compartment::lastIm_ [protected]

Referenced by Compartment(), vGetIm(), vProcess(), and vReinit().

double moose::Compartment::Ra_ [protected]
double moose::Compartment::Rm_ [protected]

Referenced by Compartment(), vGetRm(), and vSetRm().

double moose::Compartment::sumInject_ [protected]
double moose::Compartment::Vm_ [protected]

The documentation for this class was generated from the following files:

Generated on 1 Jul 2015 for MOOSE by  doxygen 1.6.1