00001 00005 #ifndef _CB_HH_OU_I_NEURON_H_ 00006 #define _CB_HH_OU_I_NEURON_H_ 00007 00008 #include "cbneuron.h" 00009 #include "spikingneuron.h" 00010 #include "ionchannel.h" 00011 00012 class KDChannel_Traub91; 00013 class NAChannel_Traub91; 00014 00016 00018 class CbHHOuINeuron : public CbNeuron { 00019 00020 DO_REGISTERING 00021 00022 public: 00023 00024 CbHHOuINeuron(void); 00025 virtual ~CbHHOuINeuron(); 00026 00027 virtual double nextstate(void); 00028 00029 virtual void reset(void); 00030 00031 virtual int init(Advancable *a); 00032 00033 virtual int updateInternal(void); 00034 00036 double ge,gi; 00037 00039 double ge0,gi0; 00040 00042 double tau_e,tau_i,sig_e,sig_i; 00043 00045 double Ee,Ei; 00046 00047 protected: 00048 00050 double OuInoise; 00051 00053 double OuGnoise; 00054 00055 private: 00056 00058 double Ae,Ai,Ce,Ci,De,Di; 00059 00060 KDChannel_Traub91 *k; 00061 00062 NAChannel_Traub91 *na; 00063 00064 }; 00065 00066 #endif