GABA_BSynapse.h

Go to the documentation of this file.
00001 
00005 #ifndef _GABA_BSYNAPSE_H_
00006 #define _GABA_BSYNAPSE_H_
00007 
00008 #include "GABA_BResponse.h"
00009 #include "GABA_BResponseODE.h"
00010 
00011 #include "GenericStaticSpikingSynapse.h"
00012 #include "GenericConductanceBasedSpikingSynapse.h"
00014 // NEEDS TO BE TESTED
00016 
00017 
00018 /* DATA from Alain Destexhe
00019 
00020 Cmax_GABAb = 1      // (mM) max transmitter concentration
00021 Cdur_GABAb = 1      // (ms) transmitter duration (rising phase)
00022 K1_GABAb = 0.09     // (/ms mM) forward binding rate to receptor
00023 K2_GABAb = 0.0012   // (/ms) backward (unbinding) rate of receptor
00024 K3_GABAb = 0.18     // (/ms) rate of G-protein production
00025 K4_GABAb = 0.034    // (/ms) rate of G-protein decay
00026 KD_GABAb = 100      // dissociation constant of K+ channel
00027 n_GABAb  = 4        // nb of binding sites of G-protein on K+
00028 Erev_GABAb = -95    // (mV) reversal potential (E_K)
00029 Prethresh_GABAb = 0 // (mV) voltage level nec for release
00030 Deadtime_GABAb = 1  // (ms) mimimum time between release events
00031 gmax  = 0.0001      // (umho) maximum conductance 
00032 */
00033 
00034 
00036 // with ODE Solver
00038 
00039 class GABA_BSynapseODE : public GenericStaticSpikingSynapse<
00040                                 GenericConductanceBasedSpikingSynapse<
00041                                 GABA_BResponseODE > >
00042 {
00043     SIMOBJECT(GABA_BSynapseODE, AdvancePhase::SpikeDriven)
00044 
00045 public:
00046     GABA_BSynapseODE(
00047         const float W         = 1e-9,
00048         const float delay     = 2e-4,
00049         const float Erev      = -90e-3,
00050         const float k1        = 0.09*10e4,   // [M^-1 s^-1]
00051         const float k2        = 1.2,         // [s^-1]
00052         const float k3        = 180.0,       // [s^-1]
00053         const float k4        = 34.0,        // [s^-1]
00054         const float kd        = 100.0,
00055         const float dead_time = 1e-3,
00056         const float Cdur      = 1.0e-3,      // [s]
00057         const float Cmax      = 0.5e-3,      // [M]
00058         const int   n         = 4)
00059     {
00060         this->W = W;
00061         this->delay = delay;
00062         this->Erev = Erev;
00063 
00064         this->g_max = W;
00065         this->k1=k1;
00066         this->k2=k2;
00067         this->k3=k3;
00068         this->k4=k4;
00069         this->kd=kd;
00070         this->dead_time=dead_time;
00071         this->Cdur=Cdur;
00072         this->Cmax=Cmax;
00073         this->n=n;
00074     };
00075 
00076 };
00077 
00079 // euler
00081 
00082 
00083 class GABA_BSynapse : public GenericStaticSpikingSynapse<
00084                              GenericConductanceBasedSpikingSynapse<
00085                              GABA_BResponse > >
00086 {
00087     SIMOBJECT(GABA_BSynapse, AdvancePhase::SpikeDriven)
00088 
00089 public:
00090     GABA_BSynapse(
00091         const float W         = 1e-9,
00092         const float delay     = 2e-4,
00093         const float Erev      = -90e-3,
00094         const float k1        = 0.09*10e6,   // [M^-1 s^-1]
00095         const float k2        = 1.2,         // [s^-1]
00096         const float k3        = 180.0,       // [s^-1]
00097         const float k4        = 34.0,        // [s^-1]
00098         const float kd        = 100.0,
00099         const float dead_time = 1e-3,
00100         const float Cdur      = 0.5e-3,      // [s]
00101         const float Cmax      = 1.0e-3,      // [M]
00102         const int   n         = 4)
00103     {
00104         this->W = W;
00105         this->delay = delay;
00106         this->Erev = Erev;
00107 
00108         this->g_max = W;
00109         this->k1=k1;
00110         this->k2=k2;
00111         this->k3=k3;
00112         this->k4=k4;
00113         this->kd=kd;
00114         this->dead_time=dead_time;
00115         this->Cmax=Cmax;
00116         this->Cdur=Cdur;
00117         this->n=n;
00118     };
00119 
00120 };
00121 
00122 
00123 
00124 
00126 // Nest style
00128 
00129 
00130 class GABA_BSynapseNest : public GenericStaticSpikingSynapse<
00131                                  GenericConductanceBasedSpikingSynapse<
00132                                  GABA_BResponseNest > >
00133 {
00134     SIMOBJECT(GABA_BSynapseNest, AdvancePhase::SpikeDriven)
00135 
00136 public:
00137     GABA_BSynapseNest(
00138         const float W     = 1e-9,
00139         const float delay = 2e-4,
00140         const float Erev  = -90e-3,
00141 
00142         const float k1    = 0.09*10e6,   // [M^-1 s^-1]
00143         const float k2    = 1.2,         // [s^-1]
00144         const float k3    = 180.0,       // [s^-1]
00145         const float k4    = 34.0,        // [s^-1]
00146         const float kd    = 100.0,       // [mM]
00147         const float pulse = 1.105*10e-3, // [s]
00148         const float T     = 1e-3,        // [mM]
00149         const int   n     = 4)
00150     {
00151         this->W = W;
00152         this->delay = delay;
00153         this->Erev = Erev;
00154 
00155         this->g_max = W;
00156         this->k1=k1;
00157         this->k2=k2;
00158         this->k3=k3;
00159         this->k4=k4;
00160         this->kd=kd;
00161         this->T=T;
00162         this->pulse=pulse;
00163         this->n=n;
00164     };
00165 
00166 };
00167 
00168 
00169 #endif //_GABA_BSYNAPSE_H_

Generated on Wed Jul 9 16:34:38 2008 for PCSIM by  doxygen 1.5.5