108template <
typename target
identifierT >
234 const std::vector< spikecounter >&,
241 return target_.get_target_ptr( tid );
314template <
typename target
identifierT >
317template <
typename target
identifierT >
322 const size_t receptor_type )
327 source.send_test_event( dummy_target, receptor_type, get_syn_id(),
true );
334 target_.set_rport( source.send_test_event( target, receptor_type, get_syn_id(),
false ) );
340 if ( not( source.sends_signal() & target.receives_signal() ) )
342 throw IllegalConnection(
"Source and target neuron are not compatible (e.g., spiking vs binary neuron)." );
345 target_.set_target( &target );
348template <
typename target
identifierT >
353 target_.get_status( d );
356template <
typename target
identifierT >
364 syn_id_delay_.set_delay_ms( delay );
369template <
typename target
identifierT >
375template <
typename target
identifierT >
382 if ( syn_id_delay_.delay == 0 )
384 syn_id_delay_.delay = 1;
388template <
typename target
identifierT >
391 const std::vector< spikecounter >&,
395 throw IllegalConnection(
"Connection does not support updates that are triggered by a volume transmitter." );
398template <
typename target
identifierT >
399std::unique_ptr< SecondaryEvent >
402 assert(
false and
"Non-primary connections have to provide get_secondary_event()" );
Dictionary class for interface to Python and C++ API.
Definition dictionary.h:213
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
void update(const Time &, long, long) override
Advance the state of the node in time through the given interval.
Definition connection.h:73
void pre_run_hook() override
Re-calculate dependent parameters of the node.
Definition connection.h:69
void init_buffers_() override
Configure persistent internal data structures.
Definition connection.h:89
void get_status(Dictionary &) const override
Export properties of the node by setting entries in the status dictionary.
Definition connection.h:81
void init_state_() override
Configure state variables depending on runtime information.
Definition connection.h:85
void set_status(const Dictionary &) override
Change properties of the node according to the entries in the dictionary.
Definition connection.h:77
DelayChecker & get_delay_checker()
Returns the delay checker for the current thread.
Definition connection_manager.cpp:207
Base class for representing connections.
Definition connection.h:110
bool source_has_more_targets() const
Returns a flag denoting whether the connection has source subsequent targets.
Definition connection.h:268
Connection & operator=(const Connection< targetidentifierT > &rhs)=default
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
SynIdDelay syn_id_delay_
Definition connection.h:311
synindex get_syn_id() const
Get the synapse id of the connection.
Definition connection.h:217
Node * get_target(const size_t tid) const
Definition connection.h:239
static constexpr bool supports_flush_event
Definition connection.h:117
void trigger_update_weight(const size_t, const std::vector< spikecounter > &, const double, const CommonSynapseProperties &)
Triggers an update of a synaptic weight.
Definition connection.h:390
void set_syn_id(synindex syn_id)
Set the synapse id of the connection.
Definition connection.h:208
long get_label() const
Definition connection.h:223
size_t get_rport() const
Definition connection.h:244
void disable()
Disables the connection.
Definition connection.h:279
static constexpr ConnectionModelProperties properties
Definition connection.h:114
double get_delay() const
Return the delay of the connection in ms.
Definition connection.h:172
Connection(const Connection< targetidentifierT > &rhs)=default
void get_status(Dictionary &d) const
Get all properties of this connection and put them into a dictionary.
Definition connection.h:350
void calibrate(const TimeConverter &)
Calibrate the delay of this connection to the desired resolution.
Definition connection.h:377
void check_synapse_params(const Dictionary &d) const
Check syn_spec dictionary for parameters that are not allowed with the given connection.
Definition connection.h:371
std::unique_ptr< SecondaryEvent > get_secondary_event()
Get a pointer to an instance of a SecondaryEvent if this connection supports secondary events.
Definition connection.h:400
void set_delay_steps(const long delay)
Set the delay of the connection in steps.
Definition connection.h:199
void set_status(const Dictionary &d, ConnectorModel &cm)
Set properties of this connection from the values given in dictionary.
Definition connection.h:358
void set_delay(const double delay)
Set the delay of the connection.
Definition connection.h:190
Connection()
Definition connection.h:119
void set_source_has_more_targets(const bool more_targets)
Sets a flag in the connection to signal that the following connection has the same source.
Definition connection.h:256
targetidentifierT target_
Definition connection.h:309
bool is_disabled() const
Returns a flag denoting if the connection is disabled.
Definition connection.h:290
Definition connector_model.h:69
void assert_valid_delay_ms(double)
Raise exception if delay value in milliseconds is invalid.
Definition delay_checker.cpp:149
To be thrown if a connection is not possible.
Definition exceptions.h:490
Base class for all NEST network objects.
Definition node.h:99
Class to convert times from one representation to another.
Definition nest_timeconverter.h:42
Time from_old_steps(long s_old) const
Converts a given number of steps with respect to old representation into a time object in current rep...
Definition nest_timeconverter.cpp:38
Definition nest_time.h:135
long get_steps() const
Definition nest_time.h:504
ConnectionManager connection_manager
Definition kernel_manager.h:239
const std::string delay("delay")
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33
KernelManager & kernel()
Definition kernel_manager.h:311
static const long UNLABELED_CONNECTION
Connections are unlabeled by default.
Definition connection_label.h:38
ConnectionModelProperties
Definition connector_model.h:49
size_t synindex
For enumerations of synapse types.
Definition nest_types.h:115
Declarations for base class Node.
Definition syn_id_delay.h:34
double get_delay_ms() const
Return the delay of the connection in ms.
Definition syn_id_delay.h:55
bool source_has_more_targets() const
Definition syn_id_delay.h:76
void disable()
Disables the synapse.
Definition syn_id_delay.h:87
unsigned int syn_id
Definition syn_id_delay.h:36
void set_source_has_more_targets(const bool more_targets)
Definition syn_id_delay.h:70
unsigned int delay
Definition syn_id_delay.h:35
void set_delay_ms(const double d)
Set the delay of the connection specified in ms.
Definition syn_id_delay.h:64
bool is_disabled() const
Returns a flag denoting if the synapse is disabled.
Definition syn_id_delay.h:98