23 #ifndef STDP_CONNECTION_HOM_H
24 #define STDP_CONNECTION_HOM_H
116 template<
typename target
identifierT>
203 return norm_w < 1.0 ? norm_w * cp.
Wmax_ : cp.
Wmax_;
209 return norm_w > 0.0 ? norm_w * cp.
Wmax_ : 0.0;
223 template<
typename target
identifierT>
230 template<
typename target
identifierT>
233 weight_(rhs.weight_),
243 template<
typename target
identifierT>
255 double_t dendritic_delay = get_delay();
258 std::deque<histentry>::iterator
start;
259 std::deque<histentry>::iterator finish;
260 target->
get_history(t_lastspike - dendritic_delay, t_spike - dendritic_delay,
264 while (start != finish)
266 minus_dt = t_lastspike - (start->t_ + dendritic_delay);
270 weight_ = facilitate_(weight_, Kplus_ * std::exp(minus_dt / cp.
tau_plus_), cp);
274 weight_ = depress_(weight_, target->
get_K_value(t_spike - dendritic_delay), cp);
282 Kplus_ = Kplus_ * std::exp((t_lastspike - t_spike) / cp.
tau_plus_) + 1.0;
285 template<
typename target
identifierT>
290 ConnectionBase::get_status(d);
294 def<double_t>(
d,
"Kplus", Kplus_);
298 template<
typename target
identifierT>
302 ConnectionBase::set_status(d, cm);
305 updateValue<double_t>(
d,
"Kplus", Kplus_);
310 #endif // of #ifndef STDP_CONNECTION_HOM_H
double_t depress_(double_t w, double_t kminus, const STDPHomCommonProperties &cp)
Definition: stdp_connection_hom.h:206
void set_rport(rport p)
Set the receiver port number (r-port).
Definition: event.h:817
void set_receiver(Node &)
Change pointer to receiving Node.
Definition: event.h:708
const Name receptor_type("receptor_type")
Connection parameters.
Definition: nest_names.h:240
double_t mu_plus_
Definition: stdp_connection_hom.h:107
const Name d("d")
Specific to Izhikevich 2003.
Definition: nest_names.h:83
virtual double_t get_K_value(double_t t)
return the Kminus value at t (in ms).
Definition: node.cpp:273
double_t facilitate_(double_t w, double_t kplus, const STDPHomCommonProperties &cp)
Definition: stdp_connection_hom.h:200
long_t get_delay_steps() const
Return the delay of the connection in steps.
Definition: connection.h:126
void check_connection_(Node &dummy_target, Node &source, Node &target, rport receptor_type)
This function calls check_connection() on the sender to check if the receiver accepts the event type ...
Definition: connection.h:183
double_t lambda_
Definition: stdp_connection_hom.h:105
const rport invalid_port_
Value for invalid connection port number.
Definition: nest.h:160
void send(Event &e, thread t, double_t t_lastspike, const STDPHomCommonProperties &)
Send an event to the receiver of this connection.
Definition: stdp_connection_hom.h:245
double_t Kplus_
Definition: stdp_connection_hom.h:214
Definition: stdp_connection_hom.h:167
const Name weight("weight")
Connection parameters.
Definition: nest_names.h:344
Encapsulates information which is sent between Nodes.
Definition: event.h:73
void set_status(const DictionaryDatum &d, ConnectorModel &cm)
Set properties of this connection from the values given in dictionary.
Definition: stdp_connection_hom.h:299
Connection< targetidentifierT > ConnectionBase
Definition: stdp_connection_hom.h:123
void set_weight(weight t)
Set weight of the event.
Definition: event.h:751
STDPConnectionHom()
Default Constructor.
Definition: stdp_connection_hom.h:224
long_t rport
Connection port number to distinguish incoming connections, also called receiver port.
Definition: nest.h:147
Node * get_target(thread t) const
Definition: connection.h:155
Class representing an STDP connection with homogeneous parameters, i.e.
Definition: stdp_connection_hom.h:117
double_t get_delay() const
Return the delay of the connection in ms.
Definition: connection.h:121
const Name w("w")
Specific to Brette & Gerstner 2005 (aeif_cond-*)
Definition: nest_names.h:343
STDPHomCommonProperties CommonPropertiesType
Definition: stdp_connection_hom.h:122
void set_delay(delay)
Set the transmission delay of the event.
Definition: event.h:781
virtual void get_history(double_t t1, double_t t2, std::deque< histentry >::iterator *start, std::deque< histentry >::iterator *finish)
return the spike history for (t1,t2].
Definition: node.cpp:284
Time const & get_stamp() const
Return time stamp of the event.
Definition: event.h:757
const Name target("target")
Connection parameters.
Definition: nest_names.h:282
const Name start("start")
Device parameters.
Definition: nest_names.h:263
Base class for dummy nodes used in connection testing.
Definition: connection.h:64
void set_status(const DictionaryDatum &d, ConnectorModel &cm)
Set properties from the values given in dictionary.
Definition: stdp_connection_hom.cpp:58
Class containing the common properties for all synapses of type STDPConnectionHom.
Definition: stdp_connection_hom.h:82
void check_connection(Node &s, Node &t, rport receptor_type, double_t t_lastspike, const CommonPropertiesType &)
Definition: stdp_connection_hom.h:190
virtual void register_stdp_connection(double_t)
Register a STDP connection.
Definition: node.cpp:178
void get_status(DictionaryDatum &d) const
Get all properties of this connection and put them into a dictionary.
Definition: stdp_connection_hom.h:286
void set_weight(double_t w)
Definition: stdp_connection_hom.h:164
long_t port
Connection port number to distinguis outgoing connections.
Definition: nest.h:155
double_t tau_plus_
Definition: stdp_connection_hom.h:104
port handles_test_event(SpikeEvent &, rport)
Check if the node can handle a particular event and receptor type.
Definition: stdp_connection_hom.h:173
STDPHomCommonProperties()
Default constructor.
Definition: stdp_connection_hom.cpp:36
double_t Wmax_
Definition: stdp_connection_hom.h:109
double double_t
Double precision floating point numbers.
Definition: nest.h:93
rport get_rport() const
Definition: connection.h:156
virtual port handles_test_event(SpikeEvent &, rport receptor_type)
Check if the node can handle a particular event and receptor type.
Definition: node.cpp:203
double_t get_ms() const
Definition: nest_time.h:389
const Name size_of("sizeof")
Connection parameters.
Definition: nest_names.h:259
Class containing the common properties for all connections of a certain type.
Definition: common_synapse_properties.h:44
void get_status(DictionaryDatum &d) const
Get all properties and put them into a dictionary.
Definition: stdp_connection_hom.cpp:46
Base class for representing connections.
Definition: connection.h:85
Event for spike information.
Definition: event.h:320
Base class for all NEST network objects.
Definition: node.h:96
double_t alpha_
Definition: stdp_connection_hom.h:106
double_t weight_
Definition: stdp_connection_hom.h:213
Definition: connector_model.h:38
int_t thread
Thread index type.
Definition: nest.h:133
const double e
Definition: numerics.cpp:62
double_t mu_minus_
Definition: stdp_connection_hom.h:108
const Name t_spike("t_spike")
Time of last spike.
Definition: nest_names.h:281