MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ChanCommon.h
Go to the documentation of this file.
1 /**********************************************************************
2 ** This program is part of 'MOOSE', the
3 ** Messaging Object Oriented Simulation Environment,
4 ** also known as GENESIS 3 base code.
5 ** copyright (C) 2003-2014 Upinder S. Bhalla. and NCBS
6 ** It is made available under the terms of the
7 ** GNU Lesser General Public License version 2.1
8 ** See the file COPYING.LIB for the full notice.
9 *********************************************************************
10 */
11 
12 #ifndef _ChanCommon_h
13 #define _ChanCommon_h
14 
21 class ChanCommon: public virtual ChanBase
22 {
23  public:
24  ChanCommon();
25  ~ChanCommon();
26 
28  // Value field access function definitions
30 
31  void vSetGbar( const Eref& e, double Gbar );
32  double vGetGbar( const Eref& e ) const;
33  void vSetModulation( const Eref& e, double modulation );
34  double vGetModulation( const Eref& e ) const;
35  double getModulation() const;
36  void vSetEk( const Eref& e, double Ek );
37  double vGetEk( const Eref& e ) const;
38  void vSetGk( const Eref& e, double Gk );
39  double vGetGk( const Eref& e ) const;
42  void vSetIk( const Eref& e, double Ic );
43  double vGetIk( const Eref& e ) const;
44 
46  // Dest function definitions
48 
52  void vHandleVm( double Vm );
53 
55 
59  void sendProcessMsgs( const Eref& e, const ProcPtr info );
60  void sendReinitMsgs( const Eref& e, const ProcPtr info );
61 
63 
67  void updateIk();
68 
69 
71  double getVm() const;
72 
74  double getGbar() const;
75 
77  static const Cinfo* initCinfo();
78  protected:
80  double Vm_;
81 
82  private:
84  double Gbar_;
86  double modulation_;
88  double Ek_;
89 
91  double Gk_;
93  double Ik_;
94 };
95 
96 
97 #endif // _ChanCommon_h
double getVm() const
Utility function to access Vm.
Definition: ChanCommon.cpp:124
void vSetEk(const Eref &e, double Ek)
Definition: ChanCommon.cpp:59
double modulation_
Channel modulation. Scales conductance.
Definition: ChanCommon.h:86
double vGetModulation(const Eref &e) const
Definition: ChanCommon.cpp:49
static const Cinfo * initCinfo()
Specify the Class Info static variable for initialization.
void vHandleVm(double Vm)
Definition: ChanCommon.cpp:90
void vSetIk(const Eref &e, double Ic)
Definition: ChanCommon.cpp:77
void updateIk()
Definition: ChanCommon.cpp:119
double Vm_
Vm_ is input variable from compartment, used for most rates.
Definition: ChanCommon.h:80
double vGetEk(const Eref &e) const
Definition: ChanCommon.cpp:63
double vGetIk(const Eref &e) const
Definition: ChanCommon.cpp:81
void vSetGk(const Eref &e, double Gk)
Definition: ChanCommon.cpp:68
Definition: Eref.h:26
double getGbar() const
Utility function to acces Gbar.
Definition: ChanCommon.cpp:129
double vGetGbar(const Eref &e) const
Definition: ChanCommon.cpp:39
void vSetModulation(const Eref &e, double modulation)
Definition: ChanCommon.cpp:44
double Gbar_
Channel maximal conductance.
Definition: ChanCommon.h:84
void sendReinitMsgs(const Eref &e, const ProcPtr info)
Definition: ChanCommon.cpp:111
double Gk_
Channel actual conductance depending on opening of gates.
Definition: ChanCommon.h:91
double getModulation() const
Definition: ChanCommon.cpp:54
double vGetGk(const Eref &e) const
Definition: ChanCommon.cpp:72
double Ek_
Reversal potential of channel.
Definition: ChanCommon.h:88
double Ik_
Channel current.
Definition: ChanCommon.h:93
void vSetGbar(const Eref &e, double Gbar)
Definition: ChanCommon.cpp:34
void sendProcessMsgs(const Eref &e, const ProcPtr info)
Definition: ChanCommon.cpp:100
Definition: Cinfo.h:18