2 #ifndef SYNAPSEMODELS_H 3 #define SYNAPSEMODELS_H 62 return lim0(pars, dt);
64 return lim1(pars, dt);
66 return slope0(pars, dt);
68 return slope1(pars, dt);
70 return off0(pars, dt);
72 return off1(pars, dt);
74 return off2(pars, dt);
79 double lim0(vector<double> pars,
double dt) {
80 return (1/pars[4] + 1/pars[1]) * pars[0] / (2/pars[1]);
83 double lim1(vector<double> pars,
double dt) {
84 return -((1/pars[3] + 1/pars[1]) * pars[0] / (2/pars[1]));
87 double slope0(vector<double> pars,
double dt) {
88 return -2*pars[5]/(pars[1]*pars[0]);
91 double slope1(vector<double> pars,
double dt) {
92 return -1*slope0(pars, dt);
95 double off0(vector<double> pars,
double dt) {
96 return pars[5]/pars[4];
99 double off1(vector<double> pars,
double dt) {
100 return pars[5]/pars[1];
103 double off2(vector<double> pars,
double dt) {
104 return pars[5]/pars[3];
116 #endif // SYNAPSEMODELS_H vector< string > pNames
Names of (independent) parameters of the model.
Definition: synapseModels.h:29
double slope1(vector< double > pars, double dt)
Definition: synapseModels.h:91
vector< string > varNames
Names of the variables in the postsynaptic model.
Definition: synapseModels.h:27
string simCode_supportCode
Support code is made available within the synapse kernel definition file and is meant to contain user...
Definition: synapseModels.h:24
TODO This class definition may be code-generated in a future release.
Definition: synapseModels.h:56
const unsigned int SYNTYPENO
Definition: synapseModels.h:47
dpclass * dps
Definition: synapseModels.h:33
string synapseDynamics
Simulation code for synapse dynamics independent of spike detection.
Definition: synapseModels.h:23
string simCodeEvnt
Simulation code that is used for spike events (all the instances where event threshold condition is m...
Definition: synapseModels.h:20
bool needPostSt
Whether postsynaptic spike times are needed or not.
Definition: synapseModels.h:35
vector< string > extraGlobalSynapseKernelParameters
Additional parameter in the neuron kernel; it is translated to a population specific name but otherwi...
Definition: synapseModels.h:31
string simCode
Simulation code that is used for true spikes (only one time step after spike detection) ...
Definition: synapseModels.h:19
double lim0(vector< double > pars, double dt)
Definition: synapseModels.h:79
unsigned int LEARN1SYNAPSE
Variable attaching the name LEARN1SYNAPSE to the the primitive STDP model for learning.
Definition: synapseModels.cc:34
double off0(vector< double > pars, double dt)
Definition: synapseModels.h:95
double off2(vector< double > pars, double dt)
Definition: synapseModels.h:103
string simLearnPost_supportCode
Support code is made available within the synapse kernel definition file and is meant to contain user...
Definition: synapseModels.h:25
unsigned int NSYNAPSE
Variable attaching the name NSYNAPSE to the non-learning synapse.
Definition: synapseModels.cc:32
double calculateDerivedParameter(int index, vector< double > pars, double dt=1.0)
Definition: synapseModels.h:59
string evntThreshold
Simulation code for spike event detection.
Definition: synapseModels.h:22
Class to hold the information that defines a weightupdate model (a model of how spikes affect synapti...
Definition: synapseModels.h:16
bool needPreSt
Whether presynaptic spike times are needed or not.
Definition: synapseModels.h:34
double off1(vector< double > pars, double dt)
Definition: synapseModels.h:99
unsigned int NGRADSYNAPSE
Variable attaching the name NGRADSYNAPSE to the graded synapse wrt the presynaptic voltage...
Definition: synapseModels.cc:33
vector< string > extraGlobalSynapseKernelParameterTypes
Additional parameters in the neuron kernel; they are translated to a population specific name but oth...
Definition: synapseModels.h:32
string synapseDynamics_supportCode
Support code is made available within the synapse kernel definition file and is meant to contain user...
Definition: synapseModels.h:26
void prepareWeightUpdateModels()
Function that prepares the standard (pre) synaptic models, including their variables, parameters, dependent parameters and code strings.
Definition: synapseModels.cc:42
vector< weightUpdateModel > weightUpdateModels
Global C++ vector containing all weightupdate model descriptions.
Definition: synapseModels.cc:31
double slope0(vector< double > pars, double dt)
Definition: synapseModels.h:87
string simLearnPost
Simulation code which is used in the learnSynapsesPost kernel/function, where postsynaptic neuron spi...
Definition: synapseModels.h:21
vector< string > varTypes
Types of the variable named above, e.g. "float". Names and types are matched by their order of occurr...
Definition: synapseModels.h:28
vector< string > dpNames
Names of dependent parameters of the model.
Definition: synapseModels.h:30
double lim1(vector< double > pars, double dt)
Definition: synapseModels.h:83