StdpSynapse.h

Go to the documentation of this file.
00001 #ifndef STDPSYNAPSE_H_
00002 #define STDPSYNAPSE_H_
00003 
00004 #include "GenericFroemkeDanStdpSynapse.h"
00005 #include "GenericEachPairStdpSynapse.h"
00006 #include "GenericOnePairStdpSynapse.h" 
00007 #include "GenericStaticSpikingSynapse.h"
00008 #include "GenericDynamicSpikingSynapse.h"
00009 #include "GenericCurrentBasedSpikingSynapse.h"
00010 #include "ExponentialDecaySpikeResponse.h"
00011 
00013 
00035 class StaticStdpSynapse : public GenericFroemkeDanStdpSynapse< GenericEachPairStdpSynapse< GenericStaticSpikingSynapse<  GenericCurrentBasedSpikingSynapse< ExponentialDecaySpikeResponse > > > >
00036 {
00037     SIMOBJECT( StaticStdpSynapse, AdvancePhase::SpikeDriven )
00038 
00039 public:
00040     StaticStdpSynapse(
00041         const float Winit = 1e-9,
00042         const float tau = 3e-3,
00043         const float delay = 1e-3,        
00044         const bool  useFroemkeDanSTDP = true,
00045         const float tauspost = 50e-3,
00046         const float tauspre = 50e-3,
00047         const float taupos = 50e-3,
00048         const float tauneg = 50e-3,
00049         const float STDPgap=2e-3,
00050         const int   activeSTDP=1,
00051         const float Wex = 10e-9,
00052         const float Aneg = -0.2e-9,
00053         const float Apos =  0.2e-9,
00054         const float mupos = 0.0,
00055         const float muneg = 0.0, 
00056         const float back_delay = 0.0 
00057     )
00058     {
00059         this->Winit = Winit;
00060         this->tau = tau;
00061         this->delay = delay;
00062         this->useFroemkeDanSTDP = useFroemkeDanSTDP;
00063         this->tauspost = tauspost;
00064         this->tauspre = tauspre;
00065         this->taupos = taupos;
00066         this->tauneg = tauneg;
00067         this->STDPgap = STDPgap;
00068         this->activeSTDP = activeSTDP ;
00069         this->Wex = Wex;
00070         this->Aneg = Aneg;
00071         this->Apos = Apos;
00072         this->mupos = mupos;
00073         this->muneg = muneg;
00074         this->back_delay = back_delay;
00075     };
00076 };
00077 
00079 
00101 class DynamicStdpSynapse : public GenericFroemkeDanStdpSynapse< GenericEachPairStdpSynapse< GenericDynamicSpikingSynapse<  GenericCurrentBasedSpikingSynapse< ExponentialDecaySpikeResponse > > > >
00102 {
00103     SIMOBJECT( DynamicStdpSynapse, AdvancePhase::SpikeDriven )
00104 
00105 public:
00106     DynamicStdpSynapse(
00107         const float Winit = 1e-9,
00108         const float tau = 3e-3,
00109         const float delay = 1e-3,
00110         const float U     = 0.2,
00111         const float D     = 0.1,
00112         const float F     = 0.4,
00113         const float u0    = 0.2,
00114         const float r0    = 1.0,
00115         const float f0    =-1.0,
00116         const bool  useFroemkeDanSTDP = true,
00117         const float tauspost = 50e-3,
00118         const float tauspre = 50e-3,
00119         const float taupos = 50e-3,
00120         const float tauneg = 50e-3,
00121         const float STDPgap=2e-3,
00122         const int   activeSTDP=1,
00123         const float Wex = 10e-9,
00124         const float Aneg = -0.2e-9,
00125         const float Apos =  0.2e-9,
00126         const float mupos = 0.0,
00127         const float muneg = 0.0, 
00128         const float back_delay = 0.0
00129     )
00130     {
00131         this->Winit = Winit;
00132         this->tau = tau;
00133         this->delay = delay;
00134         this->U = U;
00135         this->D = D;
00136         this->F = F;
00137         this->u0 = u0;
00138         this->r0 = r0;
00139         this->f0 = f0;        
00140         this->useFroemkeDanSTDP = useFroemkeDanSTDP;
00141         this->tauspost = tauspost;
00142         this->tauspre = tauspre;
00143         this->taupos = taupos;
00144         this->tauneg = tauneg;
00145         this->STDPgap = STDPgap;
00146         this->activeSTDP = activeSTDP ;
00147         this->Wex = Wex;
00148         this->Aneg = Aneg;
00149         this->back_delay = back_delay;
00150         this->Apos = Apos;
00151         this->mupos = mupos;
00152         this->muneg = muneg;
00153     };
00154 };
00155 
00157 class StaticIzhiStdpSynapse : public GenericFroemkeDanStdpSynapse< GenericOnePairStdpSynapse< GenericStaticSpikingSynapse<  GenericCurrentBasedSpikingSynapse< ExponentialDecaySpikeResponse > > > >
00158 {
00159     SIMOBJECT( StaticIzhiStdpSynapse, AdvancePhase::SpikeDriven )
00160 
00161 public:
00162     StaticIzhiStdpSynapse(
00163         const float Winit = 1e-9,
00164         const float tau = 3e-3,
00165         const float delay = 1e-3,        
00166         const bool  useFroemkeDanSTDP = false,
00167         const float tauspost = 50e-3,
00168         const float tauspre = 50e-3,
00169         const float taupos = 50e-3,
00170         const float tauneg = 50e-3,
00171         const float STDPgap=2e-3,
00172         const int   activeSTDP=1,
00173         const float Wex = 10e-9,
00174         const float Aneg = -0.2e-9,
00175         const float Apos =  0.2e-9,
00176         const float mupos = 0.0,
00177         const float muneg = 0.0,
00178         const float back_delay = 0.0
00179     )
00180     {
00181         this->Winit = Winit;
00182         this->tau = tau;
00183         this->delay = delay;
00184         this->useFroemkeDanSTDP = useFroemkeDanSTDP;
00185         this->tauspost = tauspost;
00186         this->tauspre = tauspre;
00187         this->taupos = taupos;
00188         this->tauneg = tauneg;
00189         this->STDPgap = STDPgap;
00190         this->activeSTDP = activeSTDP ;
00191         this->Wex = Wex;
00192         this->Aneg = Aneg;
00193         this->Apos = Apos;
00194         this->mupos = mupos;
00195         this->muneg = muneg;
00196         this->back_delay = back_delay;
00197     };
00198 };
00199 
00200 
00202 class DynamicIzhiStdpSynapse : public GenericFroemkeDanStdpSynapse< GenericOnePairStdpSynapse< GenericDynamicSpikingSynapse<  GenericCurrentBasedSpikingSynapse< ExponentialDecaySpikeResponse > > > >
00203 {
00204     SIMOBJECT( DynamicIzhiStdpSynapse, AdvancePhase::SpikeDriven )
00205 
00206 public:
00207     DynamicIzhiStdpSynapse(
00208         const float Winit = 1e-9,
00209         const float tau = 3e-3,
00210         const float delay = 1e-3,
00211         const float U     = 0.2,
00212         const float D     = 0.1,
00213         const float F     = 0.4,
00214         const float u0    = 0.2,
00215         const float r0    = 1.0,
00216         const float f0    =-1.0,
00217         const bool  useFroemkeDanSTDP = true,
00218         const float tauspost = 50e-3,
00219         const float tauspre = 50e-3,
00220         const float taupos = 50e-3,
00221         const float tauneg = 50e-3,
00222         const float STDPgap=2e-3,
00223         const int   activeSTDP=1,
00224         const float Wex = 10e-9,
00225         const float Aneg = -0.2e-9,
00226         const float Apos =  0.2e-9,
00227         const float mupos = 0.0,
00228         const float muneg = 0.0, 
00229         const float back_delay = 0.0
00230     )
00231     {
00232         this->Winit = Winit;
00233         this->tau = tau;
00234         this->delay = delay;
00235         this->U = U;
00236         this->D = D;
00237         this->F = F;
00238         this->u0 = u0;
00239         this->r0 = r0;
00240         this->f0 = f0;
00241         this->useFroemkeDanSTDP = useFroemkeDanSTDP;
00242         this->tauspost = tauspost;
00243         this->tauspre = tauspre;
00244         this->taupos = taupos;
00245         this->tauneg = tauneg;
00246         this->STDPgap = STDPgap;
00247         this->activeSTDP = activeSTDP ;
00248         this->Wex = Wex;
00249         this->Aneg = Aneg;
00250         this->Apos = Apos;
00251         this->mupos = mupos;
00252         this->muneg = muneg;
00253         this->back_delay = back_delay;
00254     };
00255 };
00256 
00257 class StaticStdpSquareSynapse : public GenericFroemkeDanStdpSynapse< GenericEachPairStdpSynapse< GenericStaticSpikingSynapse< GenericCurrentBasedSpikingSynapse< SquarePulseSpikeResponse > > > >
00258 {
00259         SIMOBJECT( StaticStdpSquareSynapse, AdvancePhase::SpikeDriven )
00260         
00261 public:
00262         StaticStdpSquareSynapse(
00263         const float Winit = 1e-9,
00264         const float A = 1,        
00265         const float tau = 1e-3,
00266         const float delay = 1e-3,
00267         const bool  useFroemkeDanSTDP = true,
00268         const float tauspost = 50e-3,
00269         const float tauspre = 50e-3,
00270         const float taupos = 50e-3,
00271         const float tauneg = 50e-3,
00272         const float STDPgap=2e-3,
00273         const int   activeSTDP=1,
00274         const float Wex = 10e-9,
00275         const float Aneg = -0.2e-9,
00276         const float Apos =  0.2e-9,
00277         const float mupos = 0.0,
00278         const float muneg = 0.0,
00279         const float back_delay = 0.0  
00280         )          
00281     {
00282         this->Winit = Winit;
00283         this->A = A;
00284         this->tau = tau;
00285         this->delay = delay;
00286         this->useFroemkeDanSTDP = useFroemkeDanSTDP;
00287         this->tauspost = tauspost;
00288         this->tauspre = tauspre;
00289         this->taupos = taupos;
00290         this->tauneg = tauneg;
00291         this->STDPgap = STDPgap;
00292         this->activeSTDP = activeSTDP;
00293         this->activeSTDP = 1;
00294         this->Wex = Wex;
00295         this->Aneg = Aneg;
00296         this->Apos = Apos;
00297         this->mupos = mupos;
00298         this->muneg = muneg;
00299         this->back_delay = back_delay;          
00300     };  
00301 };
00302 
00303 class StaticStdpCondExpSynapse : public GenericFroemkeDanStdpSynapse< GenericEachPairStdpSynapse< 
00304                                                                                                 GenericStaticSpikingSynapse< GenericConductanceBasedSpikingSynapse< ExponentialDecaySpikeResponse > > > >
00305 {
00306         SIMOBJECT( StaticStdpCondExpSynapse, AdvancePhase::SpikeDriven )
00307 
00308 public:
00309     StaticStdpCondExpSynapse(
00310         const float Winit = 1e-9,
00311         const float tau = 3e-3,
00312         const float delay = 1e-3,
00313         const float Erev = 0e-3,
00314         const bool  useFroemkeDanSTDP = true,
00315         const float tauspost = 50e-3,
00316         const float tauspre = 50e-3,
00317         const float taupos = 50e-3,
00318         const float tauneg = 50e-3,
00319         const float STDPgap=2e-3,
00320         const int   activeSTDP=1,
00321         const float Wex = 10e-9,
00322         const float Aneg = -0.2e-9,
00323         const float Apos =  0.2e-9,
00324         const float mupos = 0.0,
00325         const float muneg = 0.0, 
00326         const float back_delay = 0.0 
00327     )
00328     {
00329         this->Winit = Winit;
00330         this->tau = tau;
00331         this->delay = delay;
00332         this->Erev = Erev;
00333         this->useFroemkeDanSTDP = useFroemkeDanSTDP;
00334         this->tauspost = tauspost;
00335         this->tauspre = tauspre;
00336         this->taupos = taupos;
00337         this->tauneg = tauneg;
00338         this->STDPgap = STDPgap;
00339         this->activeSTDP = activeSTDP ;
00340         this->Wex = Wex;
00341         this->Aneg = Aneg;
00342         this->Apos = Apos;
00343         this->mupos = mupos;
00344         this->muneg = muneg;
00345         this->back_delay = back_delay;
00346     };
00347         
00348 }; 
00349 
00350 class DynamicStdpCondExpSynapse : public GenericFroemkeDanStdpSynapse< GenericEachPairStdpSynapse< 
00351                                                                                                 GenericDynamicSpikingSynapse< GenericConductanceBasedSpikingSynapse< ExponentialDecaySpikeResponse > > > >
00352 {
00353         SIMOBJECT( DynamicStdpCondExpSynapse, AdvancePhase::SpikeDriven )
00354 
00355 public:
00356     DynamicStdpCondExpSynapse(
00357         const float Winit = 1e-9,
00358         const float tau = 3e-3,
00359         const float delay = 1e-3,
00360         const float Erev = 0e-3,
00361         const float U     = 0.2,
00362         const float D     = 0.1,
00363         const float F     = 0.4,
00364         const float u0    = 0.2,
00365         const float r0    = 1.0,
00366         const float f0    =-1.0,        
00367         const bool  useFroemkeDanSTDP = true,
00368         const float tauspost = 50e-3,
00369         const float tauspre = 50e-3,
00370         const float taupos = 50e-3,
00371         const float tauneg = 50e-3,
00372         const float STDPgap=2e-3,
00373         const int   activeSTDP=1,
00374         const float Wex = 10e-9,
00375         const float Aneg = -0.2e-9,
00376         const float Apos =  0.2e-9,
00377         const float mupos = 0.0,
00378         const float muneg = 0.0, 
00379         const float back_delay = 0.0 
00380     )
00381     {
00382         this->Winit = Winit;
00383         this->tau = tau;
00384         this->delay = delay;
00385         this->Erev = Erev;
00386         this->U = U;
00387         this->D = D;
00388         this->F = F;
00389         this->u0 = u0;
00390         this->r0 = r0;
00391         this->f0 = f0;
00392         this->useFroemkeDanSTDP = useFroemkeDanSTDP;
00393         this->tauspost = tauspost;
00394         this->tauspre = tauspre;
00395         this->taupos = taupos;
00396         this->tauneg = tauneg;
00397         this->STDPgap = STDPgap;
00398         this->activeSTDP = activeSTDP ;
00399         this->Wex = Wex;
00400         this->Aneg = Aneg;
00401         this->Apos = Apos;
00402         this->mupos = mupos;
00403         this->muneg = muneg;
00404         this->back_delay = back_delay;
00405     };
00406         
00407 }; 
00408 
00409 
00410 #endif /*STDPSYNAPSE_H_*/

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