00001 00005 #ifndef _LIFNEURON_H_ 00006 #define _LIFNEURON_H_ 00007 00008 #include "spikingneuron.h" 00009 00011 00038 class LifNeuron : public SpikingNeuron { 00039 00040 DO_REGISTERING 00041 00042 public: 00043 00044 LifNeuron(void); 00045 virtual ~LifNeuron(); 00046 00048 virtual int updateInternal(void); 00049 00051 virtual void reset(void); 00052 00054 virtual double nextstate(void); 00055 00057 virtual int isRefractory(void); 00058 00060 float Cm; 00061 00063 float Rm; 00064 00066 float Vthresh; 00067 00069 float Vresting; 00070 00072 float Vreset; 00073 00075 float Vinit; 00076 00078 float Trefract; 00079 00081 float Inoise; 00082 00084 float Iinject; 00085 00087 double Vm; 00088 00089 protected: 00090 00092 float Isyn; 00093 00094 // protected: 00095 // The total current: noise + inject + 00096 //double Itot; 00097 //int nStepsInRefr; 00098 00099 private: 00101 int nStepsInRefr; 00102 00104 double C1,C2,I0; 00105 00106 }; 00107 00108 #endif