00001
00004 #ifndef _STATICSPIKINGSYNAPSE_H_
00005 #define _STATICSPIKINGSYNAPSE_H_
00006
00007 #include "ExponentialDecaySpikeResponse.h"
00008 #include "AlphaFunctionSpikeResponse.h"
00009 #include "DoubleExponentialSpikeResponse.h"
00010 #include "GenericCurrentBasedSpikingSynapse.h"
00011 #include "GenericConductanceBasedSpikingSynapse.h"
00012 #include "GenericStaticSpikingSynapse.h"
00013 #include "SquarePulseSpikeResponse.h"
00014
00015 class StaticSpikingSynapse : public GenericStaticSpikingSynapse< GenericCurrentBasedSpikingSynapse< ExponentialDecaySpikeResponse > >
00016 {
00017 SIMOBJECT( StaticSpikingSynapse, AdvancePhase::SpikeDriven )
00018
00019 public:
00020 StaticSpikingSynapse(
00021 const float W=1e-9,
00022 const float tau=3e-3,
00023 const float delay=2e-4
00024 )
00025 {
00026 this->W = W;
00027 this->tau = tau;
00028 this->delay = delay;
00029 };
00030 };
00031
00032 class StaticCurrExpSynapse : public GenericStaticSpikingSynapse< GenericCurrentBasedSpikingSynapse< ExponentialDecaySpikeResponse > >
00033 {
00034
00035 SIMOBJECT( StaticCurrExpSynapse, AdvancePhase::SpikeDriven )
00036
00037 public:
00038 StaticCurrExpSynapse(
00039 const float W=1e-9,
00040 const float tau=3e-3,
00041 const float delay=2e-4
00042 )
00043 {
00044 this->W = W;
00045 this->tau = tau;
00046 this->delay = delay;
00047 };
00048 };
00049
00050 class StaticCurrAlphaSynapse : public GenericStaticSpikingSynapse< GenericCurrentBasedSpikingSynapse< AlphaFunctionSpikeResponse > >
00051 {
00052
00053 SIMOBJECT( StaticCurrAlphaSynapse, AdvancePhase::SpikeDriven )
00054
00055 public:
00056 StaticCurrAlphaSynapse(
00057 const float W=1e-9,
00058 const float tau=3e-3,
00059 const float delay=2e-4
00060 )
00061 {
00062 this->W = W;
00063 this->tau = tau;
00064 this->delay = delay;
00065 };
00066 };
00067
00068 class StaticCurrDoubleExpSynapse : public GenericStaticSpikingSynapse< GenericCurrentBasedSpikingSynapse< DoubleExponentialSpikeResponse > >
00069 {
00070
00071 SIMOBJECT( StaticCurrDoubleExpSynapse, AdvancePhase::SpikeDriven )
00072
00073 public:
00074 StaticCurrDoubleExpSynapse(
00075 const float W=1e-9,
00076 const float tau1=1e-3,
00077 const float tau2=3e-3,
00078 const float delay=2e-4
00079 )
00080 {
00081 this->W = W;
00082 this->tau1 = tau1;
00083 this->tau2 = tau2;
00084 this->delay = delay;
00085 };
00086 };
00087
00088 class StaticCondExpSynapse : public GenericStaticSpikingSynapse< GenericConductanceBasedSpikingSynapse< ExponentialDecaySpikeResponse > >
00089 {
00090 SIMOBJECT( StaticCondExpSynapse, AdvancePhase::SpikeDriven )
00091 public:
00092 StaticCondExpSynapse(
00093 const float W=1e-9,
00094 const float Erev=0.0e-3,
00095 const float tau=3e-3,
00096 const float delay=2e-4
00097 )
00098 {
00099 this->W = W;
00100 this->Erev = Erev;
00101 this->tau = tau;
00102 this->delay = delay;
00103 };
00104 };
00105
00106
00107 class StaticCondAlphaSynapse : public GenericStaticSpikingSynapse< GenericConductanceBasedSpikingSynapse< AlphaFunctionSpikeResponse > >
00108 {
00109 SIMOBJECT( StaticCondAlphaSynapse, AdvancePhase::SpikeDriven )
00110 public:
00111 StaticCondAlphaSynapse(
00112 const float W=1e-9,
00113 const float Erev=0.0e-3,
00114 const float tau=3e-3,
00115 const float delay=2e-4
00116 )
00117 {
00118 this->W = W;
00119 this->Erev = Erev;
00120 this->tau = tau;
00121 this->delay = delay;
00122 };
00123 };
00124
00125
00126 class StaticCondDoubleExpSynapse : public GenericStaticSpikingSynapse< GenericConductanceBasedSpikingSynapse< DoubleExponentialSpikeResponse > >
00127 {
00128 SIMOBJECT( StaticCondDoubleExpSynapse, AdvancePhase::SpikeDriven )
00129 public:
00130 StaticCondDoubleExpSynapse(
00131 const float W=1e-9,
00132 const float Erev=0.0e-3,
00133 const float tau1=1e-3,
00134 const float tau2=3e-3,
00135 const float delay=2e-4
00136 )
00137 {
00138 this->W = W;
00139 this->Erev = Erev;
00140 this->tau1 = tau1;
00141 this->tau2 = tau2;
00142 this->delay = delay;
00143 };
00144 };
00145
00146
00147 class StaticCurrSquarePulseSynapse : public GenericStaticSpikingSynapse< GenericCurrentBasedSpikingSynapse< SquarePulseSpikeResponse > >
00148 {
00149
00150 SIMOBJECT( StaticCurrSquarePulseSynapse, AdvancePhase::SpikeDriven )
00151 public:
00152 StaticCurrSquarePulseSynapse(
00153 const float W=1e-9,
00154 const float A = 1,
00155 const float tau=5e-4,
00156 const float delay=2e-4
00157 )
00158 {
00159 this->W = W;
00160 this->A = A;
00161 this->tau = tau;
00162 this->delay = delay;
00163 };
00164 };
00165
00166 #endif