00001 #ifndef GABA_BRESPONSEODE_H_ 00002 #define GABA_BRESPONSEODE_H_ 00003 00004 #include "PCSIMException.h" 00005 #include "FiniteSpikeResponse.h" 00006 #include "ODESystem.h" 00007 00008 #include <iostream> 00009 using std::cerr; 00010 using std::endl; 00011 00012 class GABA_BResponseODE: public FiniteSpikeResponse, public odeiv::ODESystem 00013 { 00014 public: 00015 GABA_BResponseODE(); 00016 virtual ~GABA_BResponseODE(); 00017 00019 double k1; 00021 double k2; 00022 00024 double k3; 00026 double k4; 00027 00029 double kd; 00030 00032 double Cmax; 00033 00035 double Cdur; 00036 00038 double dead_time; 00039 00041 int n; 00042 00044 double r; 00045 00047 double s; 00048 00049 00050 virtual int reset(double dt); 00051 00052 virtual void derivatives(double t, const double y[], double f[]); 00053 00054 virtual int advance(AdvanceInfo const &ai); 00055 00056 virtual int spikeHit( spikeport_t port, SpikeEvent const& spike ); 00057 00058 virtual int psrLength(double dt) const; 00059 00060 // concentration of Transmitter in the synapic cleft 00061 double C; 00062 00063 double time_count; 00064 00065 double g_max; 00066 00067 protected: 00068 int init(); 00069 00071 odeiv::Solver *solver; 00072 00073 double y[2]; 00074 }; 00075 00076 00077 #endif /*GABA_BRESPONSEODE_H_*/