"Callback request event" for use in Device. More...
#include <event.h>
Public Member Functions | |
| void | operator() () override |
| Deliver the event to receiver. | |
Public Member Functions inherited from nest::SpikeEvent | |
| SpikeEvent () | |
| void | operator() () override |
| Deliver the event to receiver. | |
| SpikeEvent * | clone () const override |
| void | set_multiplicity (size_t) |
| size_t | get_multiplicity () const |
Public Member Functions inherited from nest::Event | |
| Event () | |
| virtual | ~Event () |
| void | set_receiver (Node &) |
| Change pointer to receiving Node. | |
| Node & | get_receiver () const |
| Return reference to receiving Node. | |
| size_t | get_receiver_node_id () const |
| Return node ID of receiving Node. | |
| Node & | get_sender () const |
| Return reference to sending Node. | |
| void | set_sender (Node &) |
| Change pointer to sending Node. | |
| size_t | get_sender_node_id () const |
| Sender is local. | |
| size_t | retrieve_sender_node_id_from_source_table () const |
| Sender is not local. | |
| void | set_sender_node_id (const size_t) |
| Change node ID of sending Node. | |
| void | set_sender_node_id_info (const size_t tid, const synindex syn_id, const size_t lcid) |
| Set tid, syn_id, lcid of spike_data_. | |
| Time const & | get_stamp () const |
| Return time stamp of the event. | |
| void | set_delay_steps (long) |
| Set the transmission delay of the event. | |
| long | get_delay_steps () const |
| Return transmission delay of the event. | |
| long | get_rel_delivery_steps (const Time &t) const |
| Relative spike delivery time in steps. | |
| size_t | get_port () const |
| Return the sender port number of the event. | |
| size_t | get_rport () const |
| Return the receiver port number of the event. | |
| void | set_port (size_t p) |
| Set the port number. | |
| void | set_rport (size_t p) |
| Set the receiver port number (r-port). | |
| double | get_offset () const |
| Return the creation time offset of the Event. | |
| void | set_offset (double t) |
| Set the creation time of the Event. | |
| double | get_weight () const |
| Return the weight. | |
| void | set_weight (double t) |
| Set weight of the event. | |
| virtual void | set_drift_factor (double) |
| Set drift_factor of the event (see DiffusionConnectionEvent). | |
| virtual void | set_diffusion_factor (double) |
| Set diffusion_factor of the event (see DiffusionConnectionEvent). | |
| bool | sender_is_valid () const |
| Returns true if the pointer to the sender node is valid. | |
| bool | receiver_is_valid () const |
| Returns true if the pointer to the receiver node is valid. | |
| bool | is_valid () const |
| Check integrity of the event. | |
| void | set_stamp (Time const &) |
| Set the time stamp of the event. | |
| void | set_flush_event_flag (bool is_flush_event) |
| Sets the flush event flag. | |
| bool | is_flush_event () |
| Returns whether this spike is a flush event. | |
Additional Inherited Members | |
Protected Attributes inherited from nest::SpikeEvent | |
| size_t | multiplicity_ |
Protected Attributes inherited from nest::Event | |
| size_t | sender_node_id_ |
| node ID of sender or 0 | |
| SpikeData | sender_spike_data_ |
| spike data of sender node, in some cases required to retrieve node ID | |
| Node * | sender_ |
| Pointer to sender or nullptr. | |
| Node * | receiver_ |
| Pointer to receiver or nullptr. | |
| size_t | p_ |
| Sender port number. | |
| size_t | rp_ |
| Receiver port number (r-port). | |
| long | d_ |
| Transmission delay. | |
| Time | stamp_ |
| Time stamp. | |
| long | stamp_steps_ |
| Time stamp in steps. | |
| double | offset_ |
| Offset for precise spike times. | |
| double | w_ |
| Weight of the connection. | |
"Callback request event" for use in Device.
Some Nodes want to perform a function on an event for each of their targets. An example is the poisson_generator which needs to draw a random number for each target. The DSSpikeEvent, DirectSendingSpikeEvent, calls sender->event_hook(*this) in its operator() function instead of calling receiver->handle(). The default implementation of Node::event_hook() just calls target->handle(DSSpikeEvent&). Any reimplementation must also execute this call. Otherwise the event will not be delivered. If needed, target->handle(DSSpikeEvent&) may be called more than once.
|
overridevirtual |
Deliver the event to receiver.
This operator calls the handler for the specific event type at the receiver.
Implements nest::Event.
References nest::Node::event_hook(), and nest::Event::sender_.