00001 #ifndef FACETSHWSYNAPSE_H_
00002 #define FACETSHWSYNAPSE_H_
00003
00004 #include "ExponentialDecaySpikeResponse.h"
00005 #include "DoubleExponentialSpikeResponse.h"
00006 #include "GenericConductanceBasedSpikingSynapse.h"
00007 #include "GenericFacetsHWSynapse.h"
00008
00009
00010 class FacetsHWDepressionSynapse :
00011 public GenericFacetsHWDepressionSynapse<
00012 GenericConductanceBasedSpikingSynapse<
00013 DoubleExponentialSpikeResponse > >
00014 {
00015 SIMOBJECT( FacetsHWDepressionSynapse, AdvancePhase::SpikeDriven )
00016
00017 public:
00018 FacetsHWDepressionSynapse(
00019 const float W = 1e-9,
00020 const float tau1 = 3e-3,
00021 const float tau2 = 10e-3,
00022 const float delay = 2e-4,
00023 const float Erev = 0e-3,
00024 const float inact0 = 0.0,
00025 const float inact_tau = 10e-3,
00026 const float inact_step = 1.0,
00027 const float max_dep = 1.0
00028 )
00029 {
00030 this->W = W;
00031 this->tau1 = tau1;
00032 this->tau2 = tau2;
00033 this->delay = delay;
00034 this->Erev = Erev;
00035 this->inact0 = inact0;
00036 this->inact_tau = inact_tau;
00037 this->inact_step = inact_step;
00038 this->max_dep = max_dep;
00039 };
00040 };
00041
00042
00043 class FacetsHWFacilitationSynapse :
00044 public GenericFacetsHWFacilitationSynapse<
00045 GenericConductanceBasedSpikingSynapse<
00046 DoubleExponentialSpikeResponse > >
00047 {
00048 SIMOBJECT( FacetsHWFacilitationSynapse, AdvancePhase::SpikeDriven )
00049
00050 public:
00051 FacetsHWFacilitationSynapse(
00052 const float W = 1e-9,
00053 const float tau1 = 3e-3,
00054 const float tau2 = 10e-3,
00055 const float delay = 2e-4,
00056 const float Erev = 0e-3,
00057 const float act0 = 0.0,
00058 const float act_tau = 10e-3,
00059 const float act_step = 1.0,
00060 const float norm = 0.0,
00061 const float max_fac = 1.0
00062 )
00063 {
00064 this->W = W;
00065 this->tau1 = tau1;
00066 this->tau2 = tau2;
00067 this->delay = delay;
00068 this->Erev = Erev;
00069
00070 this->act0 = act0;
00071 this->act_tau = act_tau;
00072 this->act_step = act_step;
00073 this->norm = norm;
00074 this->max_fac = max_fac;
00075 };
00076 };
00077
00078
00079
00080
00081
00082
00083
00084
00085 class FacetsHWDepressionExpSynapse :
00086 public GenericFacetsHWDepressionSynapse<
00087 GenericConductanceBasedSpikingSynapse<
00088 ExponentialDecaySpikeResponse > >
00089 {
00090 SIMOBJECT( FacetsHWDepressionExpSynapse, AdvancePhase::SpikeDriven )
00091
00092 public:
00093 FacetsHWDepressionExpSynapse(
00094 const float W = 1e-9,
00095 const float tau = 10e-3,
00096 const float delay = 2e-4,
00097 const float Erev = 0e-3,
00098 const float inact0 = 0.0,
00099 const float inact_tau = 10e-3,
00100 const float inact_step = 1.0,
00101 const float max_dep = 1.0
00102 )
00103 {
00104 this->W = W;
00105 this->tau = tau;
00106 this->delay = delay;
00107 this->Erev = Erev;
00108 this->inact0 = inact0;
00109 this->inact_tau = inact_tau;
00110 this->inact_step = inact_step;
00111 this->max_dep = max_dep;
00112 };
00113 };
00114
00115
00116 class FacetsHWFacilitationExpSynapse :
00117 public GenericFacetsHWFacilitationSynapse<
00118 GenericConductanceBasedSpikingSynapse<
00119 ExponentialDecaySpikeResponse > >
00120 {
00121 SIMOBJECT( FacetsHWFacilitationExpSynapse, AdvancePhase::SpikeDriven )
00122
00123 public:
00124 FacetsHWFacilitationExpSynapse(
00125 const float W = 1e-9,
00126 const float tau = 10e-3,
00127 const float delay = 2e-4,
00128 const float Erev = 0e-3,
00129 const float act0 = 0.0,
00130 const float act_tau = 10e-3,
00131 const float act_step = 1.0,
00132 const float norm = 0.0,
00133 const float max_fac = 1.0
00134 )
00135 {
00136 this->W = W;
00137 this->tau = tau;
00138 this->delay = delay;
00139 this->Erev = Erev;
00140
00141 this->act0 = act0;
00142 this->act_tau = act_tau;
00143 this->act_step = act_step;
00144 this->norm = norm;
00145 this->max_fac = max_fac;
00146 };
00147 };
00148
00149 #endif // FACETSHWSYNAPSE_H_