MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ChanCommon Class Reference

#include <ChanCommon.h>

+ Inheritance diagram for ChanCommon:
+ Collaboration diagram for ChanCommon:

Public Member Functions

 ChanCommon ()
 
double getGbar () const
 Utility function to acces Gbar. More...
 
double getModulation () const
 
double getVm () const
 Utility function to access Vm. More...
 
void sendProcessMsgs (const Eref &e, const ProcPtr info)
 
void sendReinitMsgs (const Eref &e, const ProcPtr info)
 
void updateIk ()
 
double vGetEk (const Eref &e) const
 
double vGetGbar (const Eref &e) const
 
double vGetGk (const Eref &e) const
 
double vGetIk (const Eref &e) const
 
double vGetModulation (const Eref &e) const
 
void vHandleVm (double Vm)
 
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 Ic)
 
void vSetModulation (const Eref &e, double modulation)
 
 ~ChanCommon ()
 
- Public Member Functions inherited from ChanBase
 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 void vProcess (const Eref &e, const ProcPtr info)=0
 
virtual void vReinit (const Eref &e, const ProcPtr info)=0
 
 ~ChanBase ()
 

Static Public Member Functions

static const CinfoinitCinfo ()
 Specify the Class Info static variable for initialization. More...
 
- Static Public Member Functions inherited from ChanBase
static SrcFinfo2< double,
double > * 
channelOut ()
 
static SrcFinfo1< double > * IkOut ()
 
static const CinfoinitCinfo ()
 Specify the Class Info static variable for initialization. More...
 
static SrcFinfo1< double > * permeability ()
 

Protected Attributes

double Vm_
 Vm_ is input variable from compartment, used for most rates. More...
 

Private Attributes

double Ek_
 Reversal potential of channel. More...
 
double Gbar_
 Channel maximal conductance. More...
 
double Gk_
 Channel actual conductance depending on opening of gates. More...
 
double Ik_
 Channel current. More...
 
double modulation_
 Channel modulation. Scales conductance. More...
 

Detailed Description

The ChanCommon.g handles the data fields for all ion channel classes in MOOSE, when they are using regular ee calculations rather than being zombified by the solver.

Definition at line 21 of file ChanCommon.h.

Constructor & Destructor Documentation

ChanCommon::ChanCommon ( )

Definition at line 17 of file ChanCommon.cpp.

18  :
19  Vm_( 0.0 ),
20  Gbar_( 0.0 ), modulation_( 1.0 ),
21  Ek_( 0.0 ),
22  Gk_( 0.0 ), Ik_( 0.0 )
23 {
24  ;
25 }
double modulation_
Channel modulation. Scales conductance.
Definition: ChanCommon.h:86
double Vm_
Vm_ is input variable from compartment, used for most rates.
Definition: ChanCommon.h:80
double Gbar_
Channel maximal conductance.
Definition: ChanCommon.h:84
double Gk_
Channel actual conductance depending on opening of gates.
Definition: ChanCommon.h:91
double Ek_
Reversal potential of channel.
Definition: ChanCommon.h:88
double Ik_
Channel current.
Definition: ChanCommon.h:93
ChanCommon::~ChanCommon ( )

Definition at line 27 of file ChanCommon.cpp.

28 {;}

Member Function Documentation

double ChanCommon::getGbar ( ) const

Utility function to acces Gbar.

Definition at line 129 of file ChanCommon.cpp.

References Gbar_.

Referenced by SynChan::normalizeGbar().

130 {
131  return Gbar_;
132 }
double Gbar_
Channel maximal conductance.
Definition: ChanCommon.h:84

+ Here is the caller graph for this function:

double ChanCommon::getModulation ( ) const

Definition at line 54 of file ChanCommon.cpp.

References modulation_.

Referenced by SynChan::calcGk().

55 {
56  return modulation_;
57 }
double modulation_
Channel modulation. Scales conductance.
Definition: ChanCommon.h:86

+ Here is the caller graph for this function:

double ChanCommon::getVm ( ) const

Utility function to access Vm.

Definition at line 124 of file ChanCommon.cpp.

References Vm_.

125 {
126  return Vm_;
127 }
double Vm_
Vm_ is input variable from compartment, used for most rates.
Definition: ChanCommon.h:80
static const Cinfo* ChanCommon::initCinfo ( )
static

Specify the Class Info static variable for initialization.

void ChanCommon::sendProcessMsgs ( const Eref e,
const ProcPtr  info 
)

This function sends out the messages expected of a channel, after process. Used as a utility by various derived classes.

Definition at line 100 of file ChanCommon.cpp.

References ChanBase::channelOut(), Ek_, Gk_, Ik_, ChanBase::IkOut(), and ChanBase::permeability().

Referenced by MgBlock::vProcess(), SynChan::vProcess(), Leakage::vProcess(), NMDAChan::vProcess(), MarkovChannel::vProcess(), HHChannel2D::vProcess(), and HHChannel::vProcess().

101 {
102  ChanBase::channelOut()->send( e, Gk_, Ek_ );
103  // This is used if the channel connects up to a conc pool and
104  // handles influx of ions giving rise to a concentration change.
105  ChanBase::IkOut()->send( e, Ik_ );
106  // Needed by GHK-type objects
107  ChanBase::permeability()->send( e, Gk_ );
108 }
static SrcFinfo1< double > * permeability()
Definition: ChanBase.cpp:14
static SrcFinfo1< double > * IkOut()
Definition: ChanBase.cpp:28
double Gk_
Channel actual conductance depending on opening of gates.
Definition: ChanCommon.h:91
double Ek_
Reversal potential of channel.
Definition: ChanCommon.h:88
static SrcFinfo2< double, double > * channelOut()
Definition: ChanBase.cpp:21
double Ik_
Channel current.
Definition: ChanCommon.h:93

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ChanCommon::sendReinitMsgs ( const Eref e,
const ProcPtr  info 
)

Definition at line 111 of file ChanCommon.cpp.

References ChanBase::channelOut(), Ek_, Gk_, Ik_, ChanBase::IkOut(), and ChanBase::permeability().

Referenced by SynChan::vReinit(), MgBlock::vReinit(), Leakage::vReinit(), NMDAChan::vReinit(), MarkovChannel::vReinit(), HHChannel2D::vReinit(), and HHChannel::vReinit().

112 {
113  ChanBase::channelOut()->send( e, Gk_, Ek_ );
114  ChanBase::IkOut()->send( e, Ik_ );
115  // Needed by GHK-type objects
116  ChanBase::permeability()->send( e, Gk_ );
117 }
static SrcFinfo1< double > * permeability()
Definition: ChanBase.cpp:14
static SrcFinfo1< double > * IkOut()
Definition: ChanBase.cpp:28
double Gk_
Channel actual conductance depending on opening of gates.
Definition: ChanCommon.h:91
double Ek_
Reversal potential of channel.
Definition: ChanCommon.h:88
static SrcFinfo2< double, double > * channelOut()
Definition: ChanBase.cpp:21
double Ik_
Channel current.
Definition: ChanCommon.h:93

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ChanCommon::updateIk ( )

Utility function for a common computation using local variables

Definition at line 119 of file ChanCommon.cpp.

References Ek_, Gk_, Ik_, and Vm_.

Referenced by MgBlock::vProcess(), SynChan::vProcess(), Leakage::vProcess(), NMDAChan::vProcess(), MarkovChannel::vProcess(), HHChannel2D::vProcess(), HHChannel::vProcess(), Leakage::vReinit(), HHChannel2D::vReinit(), and HHChannel::vReinit().

120 {
121  Ik_ = ( Ek_ - Vm_ ) * Gk_;
122 }
double Vm_
Vm_ is input variable from compartment, used for most rates.
Definition: ChanCommon.h:80
double Gk_
Channel actual conductance depending on opening of gates.
Definition: ChanCommon.h:91
double Ek_
Reversal potential of channel.
Definition: ChanCommon.h:88
double Ik_
Channel current.
Definition: ChanCommon.h:93

+ Here is the caller graph for this function:

double ChanCommon::vGetEk ( const Eref e) const
virtual

Implements ChanBase.

Definition at line 63 of file ChanCommon.cpp.

References Ek_.

64 {
65  return Ek_;
66 }
double Ek_
Reversal potential of channel.
Definition: ChanCommon.h:88
double ChanCommon::vGetGbar ( const Eref e) const
virtual

Implements ChanBase.

Definition at line 39 of file ChanCommon.cpp.

References Gbar_.

Referenced by Leakage::vProcess(), HHChannel::vProcess(), Leakage::vReinit(), and HHChannel::vReinit().

40 {
41  return Gbar_;
42 }
double Gbar_
Channel maximal conductance.
Definition: ChanCommon.h:84

+ Here is the caller graph for this function:

double ChanCommon::vGetGk ( const Eref e) const
virtual

Implements ChanBase.

Definition at line 72 of file ChanCommon.cpp.

References Gk_.

73 {
74  return Gk_;
75 }
double Gk_
Channel actual conductance depending on opening of gates.
Definition: ChanCommon.h:91
double ChanCommon::vGetIk ( const Eref e) const
virtual

Implements ChanBase.

Definition at line 81 of file ChanCommon.cpp.

References Ik_.

82 {
83  return Ik_;
84 }
double Ik_
Channel current.
Definition: ChanCommon.h:93
double ChanCommon::vGetModulation ( const Eref e) const
virtual

Implements ChanBase.

Reimplemented in HHChannel.

Definition at line 49 of file ChanCommon.cpp.

References modulation_.

Referenced by Leakage::vProcess(), HHChannel2D::vProcess(), Leakage::vReinit(), HHChannel2D::vReinit(), and Leakage::vSetGbar().

50 {
51  return modulation_;
52 }
double modulation_
Channel modulation. Scales conductance.
Definition: ChanCommon.h:86

+ Here is the caller graph for this function:

void ChanCommon::vHandleVm ( double  Vm)
virtual

Assign the local Vm_ to the incoming Vm from the compartment

Implements ChanBase.

Definition at line 90 of file ChanCommon.cpp.

References Vm_.

91 {
92  Vm_ = Vm;
93 }
double Vm_
Vm_ is input variable from compartment, used for most rates.
Definition: ChanCommon.h:80
void ChanCommon::vSetEk ( const Eref e,
double  Ek 
)
virtual

Implements ChanBase.

Definition at line 59 of file ChanCommon.cpp.

References Ek_.

60 {
61  Ek_ = Ek;
62 }
double Ek_
Reversal potential of channel.
Definition: ChanCommon.h:88
void ChanCommon::vSetGbar ( const Eref e,
double  Gbar 
)
virtual

Implements ChanBase.

Reimplemented in Leakage, and SynChan.

Definition at line 34 of file ChanCommon.cpp.

References Gbar_.

Referenced by SynChan::vSetGbar(), and Leakage::vSetGbar().

35 {
36  Gbar_ = Gbar;
37 }
double Gbar_
Channel maximal conductance.
Definition: ChanCommon.h:84

+ Here is the caller graph for this function:

void ChanCommon::vSetGk ( const Eref e,
double  Gk 
)
virtual

Implements ChanBase.

Definition at line 68 of file ChanCommon.cpp.

References Gk_.

Referenced by Leakage::vProcess(), HHChannel::vProcess(), Leakage::vReinit(), HHChannel::vReinit(), and Leakage::vSetGbar().

69 {
70  Gk_ = Gk;
71 }
double Gk_
Channel actual conductance depending on opening of gates.
Definition: ChanCommon.h:91

+ Here is the caller graph for this function:

void ChanCommon::vSetIk ( const Eref e,
double  Ic 
)
virtual

Ik is read-only for MOOSE, but we provide the set func for derived classes to update it.

Implements ChanBase.

Definition at line 77 of file ChanCommon.cpp.

References Ik_.

78 {
79  Ik_ = Ik;
80 }
double Ik_
Channel current.
Definition: ChanCommon.h:93
void ChanCommon::vSetModulation ( const Eref e,
double  modulation 
)
virtual

Implements ChanBase.

Reimplemented in HHChannel.

Definition at line 44 of file ChanCommon.cpp.

References modulation_.

45 {
46  modulation_ = modulation;
47 }
double modulation_
Channel modulation. Scales conductance.
Definition: ChanCommon.h:86

Member Data Documentation

double ChanCommon::Ek_
private

Reversal potential of channel.

Definition at line 88 of file ChanCommon.h.

Referenced by sendProcessMsgs(), sendReinitMsgs(), updateIk(), vGetEk(), and vSetEk().

double ChanCommon::Gbar_
private

Channel maximal conductance.

Definition at line 84 of file ChanCommon.h.

Referenced by getGbar(), vGetGbar(), and vSetGbar().

double ChanCommon::Gk_
private

Channel actual conductance depending on opening of gates.

Definition at line 91 of file ChanCommon.h.

Referenced by sendProcessMsgs(), sendReinitMsgs(), updateIk(), vGetGk(), and vSetGk().

double ChanCommon::Ik_
private

Channel current.

Definition at line 93 of file ChanCommon.h.

Referenced by sendProcessMsgs(), sendReinitMsgs(), updateIk(), vGetIk(), and vSetIk().

double ChanCommon::modulation_
private

Channel modulation. Scales conductance.

Definition at line 86 of file ChanCommon.h.

Referenced by getModulation(), vGetModulation(), and vSetModulation().

double ChanCommon::Vm_
protected

Vm_ is input variable from compartment, used for most rates.

Definition at line 80 of file ChanCommon.h.

Referenced by HHChannel2D::depValue(), MarkovChannel::getVm(), getVm(), MarkovChannel::setVm(), updateIk(), vHandleVm(), MgBlock::vProcess(), NMDAChan::vProcess(), HHChannel::vProcess(), and HHChannel::vReinit().


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