23#ifndef QUANTAL_STP_SYNAPSE_H
24#define QUANTAL_STP_SYNAPSE_H
101template <
typename target
identifierT >
188template <
typename target
identifierT >
197template <
typename target
identifierT >
201 const double t_spike = e.get_stamp().get_ms();
203 if ( t_lastspike_ >= 0.0 )
208 const double h = t_spike - t_lastspike_;
209 const double p_decay = std::exp( -h / tau_rec_ );
210 const double u_decay = ( tau_fac_ < 1.0e-10 ) ? 0.0 : std::exp( -h / tau_fac_ );
213 u_ = U_ + u_ * ( 1. - U_ ) * u_decay;
216 for (
int depleted = n_ - a_; depleted > 0; --depleted )
227 for (
int i = a_; i > 0; --i )
235 const bool send_spike = n_release > 0;
239 e.set_receiver( *get_target( t ) );
240 e.set_weight( n_release * weight_ );
241 e.set_delay_steps( get_delay_steps() );
242 e.set_rport( get_rport() );
247 t_lastspike_ = t_spike;
Dictionary class for interface to Python and C++ API.
Definition dictionary.h:213
virtual double drand()=0
Uses the wrapped RNG engine to draw a double from a uniform distribution in the range [0,...
Class containing the common properties for all connections of a certain type.
Definition common_synapse_properties.h:50
Base class for dummy nodes used in connection testing.
Definition connection.h:67
Base class for representing connections.
Definition connection.h:110
void check_connection_(Node &dummy_target, Node &source, Node &target, const size_t receptor_type)
This function calls check_connection() on the sender to check if the receiver accepts the event type ...
Definition connection.h:319
long get_delay_steps() const
Return the delay of the connection in steps.
Definition connection.h:181
Node * get_target(const size_t tid) const
Definition connection.h:239
size_t get_rport() const
Definition connection.h:244
double get_delay() const
Return the delay of the connection in ms.
Definition connection.h:172
Definition connector_model.h:69
Encapsulate information sent between nodes.
Definition event.h:103
Base class for all NEST network objects.
Definition node.h:99
Event for spike information.
Definition event.h:418
Definition quantal_stp_synapse.h:152
size_t handles_test_event(SpikeEvent &, size_t) override
Check if the node can handle a particular event and receptor type.
Definition quantal_stp_synapse.h:158
Definition quantal_stp_synapse.h:103
double t_lastspike_
Time point of last spike emitted.
Definition quantal_stp_synapse.h:185
Connection< targetidentifierT > ConnectionBase
Definition quantal_stp_synapse.h:106
void get_status(Dictionary &d) const
Get all properties of this connection and put them into a dictionary.
Definition quantal_stp_synapse_impl.h:52
double tau_fac_
[ms] time constant for facilitation (F)
Definition quantal_stp_synapse.h:182
double tau_rec_
[ms] time constant for recovery from depression (D)
Definition quantal_stp_synapse.h:181
double u_
dynamic value of probability of release
Definition quantal_stp_synapse.h:180
bool send(Event &e, size_t t, const CommonSynapseProperties &cp)
Send an event to the receiver of this connection.
Definition quantal_stp_synapse.h:199
double weight_
synaptic weight
Definition quantal_stp_synapse.h:178
void set_weight(double w)
Definition quantal_stp_synapse.h:172
CommonSynapseProperties CommonPropertiesType
Definition quantal_stp_synapse.h:105
quantal_stp_synapse()
Default Constructor.
Definition quantal_stp_synapse_impl.h:37
double U_
unit increment of a facilitating synapse (U)
Definition quantal_stp_synapse.h:179
quantal_stp_synapse & operator=(const quantal_stp_synapse &)=default
void check_connection(Node &s, Node &t, size_t receptor_type, const CommonPropertiesType &)
Definition quantal_stp_synapse.h:165
int a_
Number of available release sites.
Definition quantal_stp_synapse.h:184
void set_status(const Dictionary &d, ConnectorModel &cm)
Set default properties of this connection from the values given in dictionary.
Definition quantal_stp_synapse_impl.h:67
int n_
Number of release sites.
Definition quantal_stp_synapse.h:183
quantal_stp_synapse(const quantal_stp_synapse &)=default
Copy constructor to propagate common properties.
static constexpr ConnectionModelProperties properties
Definition quantal_stp_synapse.h:108
virtual size_t handles_test_event(SpikeEvent &, size_t receptor_type)
Check if the node can handle a particular event and receptor type.
Definition node.cpp:271
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33
RngPtr get_vp_specific_rng(size_t tid)
Definition kernel_manager.h:298
void register_quantal_stp_synapse(const std::string &name)
Definition quantal_stp_synapse.cpp:33
ConnectionModelProperties
Definition connector_model.h:49
constexpr size_t invalid_port
Value for invalid connection port number.
Definition nest_types.h:141