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