MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ChanBase.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 #ifndef _ChanBase_h
12 #define _ChanBase_h
13 
19 class ChanBase
20 {
21  public:
22  ChanBase();
23  ~ChanBase();
24 
26  // Value field access function definitions
28 
29  void setGbar( const Eref& e, double Gbar );
30  virtual void vSetGbar( const Eref& e, double Gbar ) = 0;
31  double getGbar( const Eref& e ) const;
32  virtual double vGetGbar( const Eref& e ) const = 0;
33  void setModulation( const Eref& e, double modulation );
34  virtual void vSetModulation( const Eref& e, double modulation ) = 0;
35  double getModulation( const Eref& e ) const;
36  virtual double vGetModulation( const Eref& e ) const = 0;
37  void setEk( const Eref& e, double Ek );
38  virtual void vSetEk( const Eref& e, double Ek ) = 0;
39  double getEk( const Eref& e ) const;
40  virtual double vGetEk( const Eref& e ) const = 0;
41  void setGk( const Eref& e, double Gk );
42  virtual void vSetGk( const Eref& e, double Gk ) = 0;
43  double getGk( const Eref& e ) const;
44  virtual double vGetGk( const Eref& e ) const = 0;
45  void setIk( const Eref& e, double Ic );
46  virtual void vSetIk( const Eref& e, double Ik ) = 0;
47  double getIk( const Eref& e ) const;
48  virtual double vGetIk( const Eref& e ) const = 0;
49 
51  // Dest function definitions
53 
57  void handleVm( double Vm );
58  virtual void vHandleVm( double Vm ) = 0;
59 
61 
65  void process( const Eref& e, const ProcPtr info );
66  void reinit( const Eref& e, const ProcPtr info );
67  virtual void vProcess( const Eref& e, const ProcPtr info ) = 0;
68  virtual void vReinit( const Eref& e, const ProcPtr info ) = 0;
69 
73  static SrcFinfo1< double >* IkOut();
76  static const Cinfo* initCinfo();
77  private:
78 };
79 
80 
81 
82 
83 #endif // _ChanBase_h
void setIk(const Eref &e, double Ic)
Definition: ChanBase.cpp:225
virtual void vSetIk(const Eref &e, double Ik)=0
virtual void vSetEk(const Eref &e, double Ek)=0
double getEk(const Eref &e) const
Definition: ChanBase.cpp:211
void setEk(const Eref &e, double Ek)
Definition: ChanBase.cpp:207
virtual double vGetGbar(const Eref &e) const =0
virtual double vGetGk(const Eref &e) const =0
virtual double vGetIk(const Eref &e) const =0
double getGk(const Eref &e) const
Definition: ChanBase.cpp:220
virtual void vSetGk(const Eref &e, double Gk)=0
double getModulation(const Eref &e) const
Definition: ChanBase.cpp:202
void setGk(const Eref &e, double Gk)
Definition: ChanBase.cpp:216
void reinit(const Eref &e, const ProcPtr info)
Definition: ChanBase.cpp:254
void setModulation(const Eref &e, double modulation)
Definition: ChanBase.cpp:196
void process(const Eref &e, const ProcPtr info)
Definition: ChanBase.cpp:248
static SrcFinfo1< double > * permeability()
Definition: ChanBase.cpp:14
virtual void vHandleVm(double Vm)=0
void handleVm(double Vm)
Definition: ChanBase.cpp:238
virtual void vReinit(const Eref &e, const ProcPtr info)=0
static SrcFinfo1< double > * IkOut()
Definition: ChanBase.cpp:28
virtual void vSetGbar(const Eref &e, double Gbar)=0
Definition: Eref.h:26
virtual void vSetModulation(const Eref &e, double modulation)=0
virtual double vGetModulation(const Eref &e) const =0
static SrcFinfo2< double, double > * channelOut()
Definition: ChanBase.cpp:21
void setGbar(const Eref &e, double Gbar)
Definition: ChanBase.cpp:185
double getIk(const Eref &e) const
Definition: ChanBase.cpp:229
double getGbar(const Eref &e) const
Definition: ChanBase.cpp:191
Definition: Cinfo.h:18
static const Cinfo * initCinfo()
Specify the Class Info static variable for initialization.
Definition: ChanBase.cpp:36
virtual void vProcess(const Eref &e, const ProcPtr info)=0
virtual double vGetEk(const Eref &e) const =0