00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef _IZHIKEVICHNRN_H
00033 #define _IZHIKEVICHNRN_H
00034
00035 class IzhikevichNrn
00036 {
00037 public:
00038 IzhikevichNrn();
00039 ~IzhikevichNrn();
00040 void setA( double value );
00041 double getA() const;
00042
00043 void setB( double value );
00044 double getB() const;
00045
00046 void setC( double value );
00047 double getC() const;
00048
00049 void setD( double value );
00050 double getD() const;
00051
00052 void setVmax( double value );
00053 double getVmax() const;
00054
00055 void setAlpha( double value );
00056 double getAlpha() const;
00057
00058 void setBeta( double value );
00059 double getBeta() const;
00060
00061 void setGamma( double value );
00062 double getGamma() const;
00063
00064 double getIm() const;
00065
00066 void setInject( double value );
00067 double getInject() const;
00068
00069 void setVm( double value );
00070 double getVm() const;
00071
00072 void setInitVm( double value );
00073 double getInitVm() const;
00074
00075 void setInitU( double value );
00076 double getInitU() const;
00077 double getU() const;
00078
00079 void setRmByTau(double value );
00080 double getRmByTau() const;
00081
00082 void setAccommodating( bool value );
00083 bool getAccommodating() const;
00084
00085 void setU0( double value );
00086 double getU0() const;
00087
00088 void handleChannel( double Gk, double Ek);
00089
00090 void process(const Eref& eref, ProcPtr proc );
00091 void reinit(const Eref& eref, ProcPtr proc );
00092
00093 static const Cinfo * initCinfo();
00094
00095
00096 private:
00097 double alpha_;
00098 double beta_;
00099 double gamma_;
00100 double RmByTau_;
00101 double a_;
00102 double b_;
00103 double c_;
00104 double d_;
00105 double Vm_;
00106 double u_;
00107 double Vmax_;
00108 double initVm_;
00109 double initU_;
00110 double sum_inject_;
00111 double Im_;
00112 double savedVm_;
00113 bool accommodating_;
00114 double u0_;
00115 double inject_;
00116 };
00117
00118 #endif
00119
00120
00121