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