00001 00005 #ifndef _CB_HH_OU_NEURON_H_ 00006 #define _CB_HH_OU_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 class MChannel_Mainen96orig; 00015 00017 00019 class CbHHOuNeuron : public CbNeuron { 00020 00021 DO_REGISTERING 00022 00023 public: 00024 00025 CbHHOuNeuron(void); 00026 virtual ~CbHHOuNeuron(); 00027 00028 virtual double nextstate(void); 00029 00030 virtual void reset(void); 00031 00032 virtual int init(Advancable *a); 00033 00034 virtual int updateInternal(void); 00035 00037 double ge,gi; 00038 00040 double ge0,gi0; 00041 00043 double tau_e,tau_i,sig_e,sig_i; 00044 00046 double Ee,Ei; 00047 00048 protected: 00049 00051 double OuInoise; 00052 00054 double OuGnoise; 00055 00056 private: 00057 00059 double Ae,Ai,Ce,Ci,De,Di; 00060 00061 KDChannel_Traub91 *k; 00062 00063 NAChannel_Traub91 *na; 00064 00065 MChannel_Mainen96orig *m; 00066 00067 }; 00068 00069 #endif