MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
IzhikevichNrn.h
Go to the documentation of this file.
1 // IzhikevichNrn.h ---
2 //
3 // Filename: IzhikevichNrn.h
4 // Description:
5 // Author: Subhasis Ray
6 // Maintainer:
7 // Created: Fri Jul 8 09:55:21 2011 (+0530)
8 // Version:
9 // Last-Updated: Fri Jul 8 15:37:02 2011 (+0530)
10 // By: Subhasis Ray
11 // Update #: 13
12 // URL:
13 // Keywords:
14 // Compatibility:
15 //
16 //
17 
18 // Commentary:
19 //
20 // Implementation of Izhikevich Neuron model.
21 //
22 //
23 
24 // Change log:
25 //
26 //
27 //
28 
29 // Code:
30 
31 
32 #ifndef _IZHIKEVICHNRN_H
33 #define _IZHIKEVICHNRN_H
34 
36 {
37  public:
38  IzhikevichNrn();
40  void setA( double value );
41  double getA() const;
42 
43  void setB( double value );
44  double getB() const;
45 
46  void setC( double value );
47  double getC() const;
48 
49  void setD( double value );
50  double getD() const;
51 
52  void setVmax( double value );
53  double getVmax() const;
54 
55  void setAlpha( double value );
56  double getAlpha() const;
57 
58  void setBeta( double value );
59  double getBeta() const;
60 
61  void setGamma( double value );
62  double getGamma() const;
63 
64  double getIm() const;
65 
66  void setInject( double value );
67  double getInject() const;
68 
69  void setVm( double value );
70  double getVm() const;
71 
72  void setInitVm( double value );
73  double getInitVm() const;
74 
75  void setInitU( double value );
76  double getInitU() const;
77  double getU() const;
78 
79  void setRmByTau(double value );
80  double getRmByTau() const;
81 
82  void setAccommodating( bool value );
83  bool getAccommodating() const;
84 
85  void setU0( double value );
86  double getU0() const;
87 
88  void handleChannel( double Gk, double Ek);
89 
90  void process(const Eref& eref, ProcPtr proc );
91  void reinit(const Eref& eref, ProcPtr proc );
92 
93  static const Cinfo * initCinfo();
94 
95 
96  private:
97  double alpha_;
98  double beta_;
99  double gamma_;
100  double RmByTau_;
101  double a_;
102  double b_;
103  double c_;
104  double d_;
105  double Vm_;
106  double u_;
107  double Vmax_;
108  double initVm_;
109  double initU_;
110  double sum_inject_;
111  double Im_;
112  double savedVm_;
114  double u0_;
115  double inject_;
116 };
117 
118 #endif
119 
120 //
121 // IzhikevichNrn.h ends here
void setBeta(double value)
uint32_t value
Definition: moosemodule.h:42
void handleChannel(double Gk, double Ek)
void setB(double value)
double getGamma() const
void setVm(double value)
static const Cinfo * initCinfo()
void setAlpha(double value)
double getU0() const
void setU0(double value)
double getVm() const
void setAccommodating(bool value)
void setInitU(double value)
double getIm() const
double getC() const
double sum_inject_
void setC(double value)
double getRmByTau() const
double getAlpha() const
void setInitVm(double value)
double getInitU() const
void reinit(const Eref &eref, ProcPtr proc)
Definition: Eref.h:26
void setInject(double value)
void setGamma(double value)
bool getAccommodating() const
double getBeta() const
double getU() const
double getB() const
void setRmByTau(double value)
void setD(double value)
double getVmax() const
double getInject() const
void setVmax(double value)
double getA() const
void process(const Eref &eref, ProcPtr proc)
Definition: Cinfo.h:18
void setA(double value)
double getD() const
double getInitVm() const