NEST main@caf0ae8
 
Loading...
Searching...
No Matches
nest::Node Class Referenceabstract

Base class for all NEST network objects. More...

#include <node.h>

Inheritance diagram for nest::Node:
[legend]
Collaboration diagram for nest::Node:
[legend]

Public Member Functions

 Node ()
 
 Node (Node const &)
 
virtual ~Node ()
 
virtual Node * clone () const
 This function creates a new object by calling the derived class' copy constructor and returning its pointer.
 
virtual bool has_proxies () const
 Returns true if the node has proxies on remote threads.
 
virtual bool supports_urbanczik_archiving () const
 Returns true if the node supports the Urbanczik-Senn plasticity rule.
 
virtual bool local_receiver () const
 Returns true if the node only receives events from nodes/devices on the same thread.
 
virtual bool one_node_per_process () const
 Returns true if the node exists only once per process, but does not have proxies on remote threads.
 
virtual bool is_off_grid () const
 Returns true if the node sends/receives off-grid events.
 
virtual bool is_proxy () const
 Returns true if the node is a proxy node.
 
std::string get_name () const
 Return class name.
 
virtual std::string get_element_type () const
 Return the element type of the node.
 
size_t get_node_id () const
 Return global Network ID.
 
int get_model_id () const
 Return model ID of the node.
 
bool is_frozen () const
 Returns true if node is frozen, i.e., shall not be updated.
 
bool node_uses_wfr () const
 Returns true if the node uses the waveform relaxation method.
 
void set_node_uses_wfr (const bool)
 Sets node_uses_wfr_ member variable (to be able to set it to "true" for any class derived from Node)
 
void init ()
 Initialize node prior to first simulation after node has been created.
 
virtual void pre_run_hook ()=0
 Re-calculate dependent parameters of the node.
 
virtual void calibrate_time (const TimeConverter &)
 Re-calculate time-based properties of the node.
 
virtual void post_run_cleanup ()
 Cleanup node after Run.
 
virtual void finalize ()
 Finalize node.
 
virtual void update (Time const &, const long, const long)=0
 Advance the state of the node in time through the given interval.
 
virtual bool wfr_update (Time const &, const long, const long)
 Advance the state of the node in time through the given interval (see Node::update() for more details).
 
virtual void set_status (const Dictionary &)=0
 Change properties of the node according to the entries in the dictionary.
 
virtual void get_status (Dictionary &) const =0
 Export properties of the node by setting entries in the status dictionary.
 
virtual size_t send_test_event (Node &receiving_node, size_t receptor_type, synindex syn_id, bool dummy_target)
 Send an event to the receiving_node passed as an argument.
 
virtual size_t handles_test_event (SpikeEvent &, size_t receptor_type)
 Check if the node can handle a particular event and receptor type.
 
virtual size_t handles_test_event (WeightRecorderEvent &, size_t receptor_type)
 
virtual size_t handles_test_event (RateEvent &, size_t receptor_type)
 
virtual size_t handles_test_event (DataLoggingRequest &, size_t receptor_type)
 
virtual size_t handles_test_event (CurrentEvent &, size_t receptor_type)
 
virtual size_t handles_test_event (ConductanceEvent &, size_t receptor_type)
 
virtual size_t handles_test_event (DoubleDataEvent &, size_t receptor_type)
 
virtual size_t handles_test_event (DSSpikeEvent &, size_t receptor_type)
 
virtual size_t handles_test_event (DSCurrentEvent &, size_t receptor_type)
 
virtual size_t handles_test_event (GapJunctionEvent &, size_t receptor_type)
 
virtual size_t handles_test_event (InstantaneousRateConnectionEvent &, size_t receptor_type)
 
virtual size_t handles_test_event (DiffusionConnectionEvent &, size_t receptor_type)
 
virtual size_t handles_test_event (DelayedRateConnectionEvent &, size_t receptor_type)
 
virtual size_t handles_test_event (LearningSignalConnectionEvent &, size_t receptor_type)
 
virtual size_t handles_test_event (SICEvent &, size_t receptor_type)
 
virtual void sends_secondary_event (GapJunctionEvent &ge)
 Required to check, if source neuron may send a SecondaryEvent.
 
virtual void sends_secondary_event (InstantaneousRateConnectionEvent &re)
 Required to check, if source neuron may send a SecondaryEvent.
 
virtual void sends_secondary_event (DiffusionConnectionEvent &de)
 Required to check, if source neuron may send a SecondaryEvent.
 
virtual void sends_secondary_event (DelayedRateConnectionEvent &re)
 Required to check, if source neuron may send a SecondaryEvent.
 
virtual void sends_secondary_event (LearningSignalConnectionEvent &re)
 Required to check if source node may send a LearningSignalConnectionEvent.
 
virtual void sends_secondary_event (SICEvent &sic)
 Required to check if source node may send a SICEvent.
 
virtual void register_stdp_connection (double, double)
 Register a STDP connection.
 
virtual void register_eprop_connection ()
 Registers an eprop connection.
 
virtual void initialize_update_history ()
 Initializes the update history.
 
virtual long get_shift () const
 Retrieves the temporal shift of the signal.
 
virtual void write_update_to_history (const long t_previous_update, const long t_current_update, const bool is_flush_event, const bool previous_was_flush_event)
 Registers the current update in the update history and deregisters the previous update.
 
virtual void erase_used_eprop_history ()
 Erases used e-prop history for bsshslm_2020 models.
 
virtual void erase_used_eprop_history (const long t_spike, const long t_spike_previous)
 Erases used e-prop history based on inter-spike interval.
 
virtual bool is_eprop_recurrent_node () const
 Checks if the node is part of the recurrent network and thus not a readout neuron.
 
virtual void handle (SpikeEvent &e)
 Handle incoming spike events.
 
virtual void handle (WeightRecorderEvent &e)
 Handle incoming weight recording events.
 
virtual void handle (RateEvent &e)
 Handler for rate events.
 
virtual void handle (DataLoggingRequest &e)
 Handler for universal data logging request.
 
virtual void handle (DataLoggingReply &e)
 Handler for universal data logging request.
 
virtual void handle (CurrentEvent &e)
 Handler for current events.
 
virtual void handle (ConductanceEvent &e)
 Handler for conductance events.
 
virtual void handle (DoubleDataEvent &e)
 Handler for DoubleData events.
 
virtual void handle (GapJunctionEvent &e)
 Handler for gap junction events.
 
virtual void handle (InstantaneousRateConnectionEvent &e)
 Handler for rate neuron events.
 
virtual void handle (DiffusionConnectionEvent &e)
 Handler for rate neuron events.
 
virtual void handle (DelayedRateConnectionEvent &e)
 Handler for delay rate neuron events.
 
virtual void handle (LearningSignalConnectionEvent &e)
 Handler for learning signal connection events.
 
virtual void handle (SICEvent &e)
 Handler for slow inward current events (SICEvents).
 
virtual double get_Ca_minus () const
 Return the Ca_minus value at time Ca_t which corresponds to the time of the last update in Calcium concentration which is performed each time a Node spikes.
 
virtual double get_synaptic_elements (std::string) const
 Get the number of synaptic element for the current Node at Ca_t which corresponds to the time of the last spike.
 
virtual int get_synaptic_elements_vacant (std::string) const
 Get the number of vacant synaptic element for the current Node Return 0 if not overridden.
 
virtual int get_synaptic_elements_connected (std::string) const
 Get the number of connected synaptic element for the current Node.
 
virtual std::map< std::string, double > get_synaptic_elements () const
 Get the number of all synaptic elements for the current Node at time t.
 
virtual void update_synaptic_elements (double)
 Triggers the update of all SynapticElements stored in the synaptic_element_map_.
 
virtual void decay_synaptic_elements_vacant ()
 Is used to reduce the number of synaptic elements in the node through time.
 
virtual void connect_synaptic_element (std::string, int)
 Is used to update the number of connected synaptic elements (SynapticElement::z_connected_) when a synapse is formed or deleted.
 
virtual double get_K_value (double t)
 return the Kminus value at t (in ms).
 
virtual double get_LTD_value (double t)
 
virtual void get_K_values (double t, double &Kminus, double &nearest_neighbor_Kminus, double &Kminus_triplet)
 write the Kminus, nearest_neighbor_Kminus, and Kminus_triplet values at t (in ms) to the provided locations.
 
virtual void get_history (double t1, double t2, std::deque< histentry >::iterator *start, std::deque< histentry >::iterator *finish)
 return the spike history for (t1,t2].
 
virtual void get_LTP_history (double t1, double t2, std::deque< histentry_extended >::iterator *start, std::deque< histentry_extended >::iterator *finish)
 
virtual void get_urbanczik_history (double t1, double t2, std::deque< histentry_extended >::iterator *start, std::deque< histentry_extended >::iterator *finish, int)
 
virtual double get_C_m (int comp)
 
virtual double get_g_L (int comp)
 
virtual double get_tau_L (int comp)
 
virtual double get_tau_s (int comp)
 
virtual double get_tau_syn_ex (int comp)
 
virtual double get_tau_syn_in (int comp)
 
virtual void compute_gradient (const long t_spike, const long t_spike_previous, double &z_previous_buffer, double &z_bar, double &e_bar, double &e_bar_reg, double &epsilon, double &weight, const CommonSynapseProperties &cp, WeightOptimizer *optimizer, bool is_flush_event, bool previous_was_flush_event, double &sum_grad, long &remaining_steps_until_cutoff, long &decay_steps)
 Compute gradient change for eprop synapses.
 
virtual double compute_gradient (std::vector< long > &presyn_isis, const long t_previous_update, const long t_previous_trigger_spike, const double kappa, const bool average_gradient)
 Compute gradient change for eprop synapses.
 
virtual void event_hook (DSSpikeEvent &)
 Modify Event object parameters during event delivery.
 
virtual void event_hook (DSCurrentEvent &)
 
void set_thread (size_t)
 Store the number of the thread to which the node is assigned.
 
size_t get_thread () const
 Retrieve the number of the thread to which the node is assigned.
 
void set_vp (size_t)
 Store the number of the virtual process to which the node is assigned.
 
size_t get_vp () const
 Retrieve the number of the virtual process to which the node is assigned.
 
void set_model_id (int)
 Set the model id.
 
void set_initialized ()
 Execute post-initialization actions in node models.
 
virtual SignalType sends_signal () const
 
virtual SignalType receives_signal () const
 
Dictionary get_status_base ()
 Return a dictionary with the node's properties.
 
void set_status_base (const Dictionary &)
 Set status dictionary of a node.
 
bool is_model_prototype () const
 Returns true if node is model prototype.
 
void set_thread_lid (const size_t)
 set thread local index
 
size_t get_thread_lid () const
 get thread local index
 
virtual void set_local_device_id (const size_t lsdid)
 Sets the local device id.
 
virtual size_t get_local_device_id () const
 Gets the local device id.
 
void set_tmp_nc_index (size_t index)
 Set index in node collection; required by ThirdOutBuilder.
 
size_t get_tmp_nc_index ()
 Return and invalidate index in node collection; required by ThirdOutBuilder.
 

Public Attributes

DeprecationWarning deprecation_warning
 Member of DeprecationWarning class to be used by models if parameters are deprecated.
 

Protected Member Functions

virtual void init_state_ ()
 Configure state variables depending on runtime information.
 
virtual void init_buffers_ ()
 Configure persistent internal data structures.
 
virtual void set_initialized_ ()
 
Model & get_model_ () const
 
void set_frozen_ (bool frozen)
 Mark node as frozen.
 
template<typename ConcreteNode >
const ConcreteNode & downcast (const Node &)
 Auxiliary function to downcast a Node to a concrete class derived from Node.
 

Private Member Functions

Node & operator= (const Node &)
 not implemented
 
void set_node_id_ (size_t)
 Set global node id.
 
virtual Dictionary get_status_dict_ ()
 Return a new dictionary datum .
 

Private Attributes

size_t node_id_
 Global Element ID (node ID).
 
size_t thread_lid_
 Local id of this node in the thread-local vector of nodes.
 
int model_id_
 Model ID.
 
size_t thread_
 thread node is assigned to
 
size_t vp_
 virtual process node is assigned to
 
bool frozen_
 node shall not be updated if true
 
bool initialized_
 state and buffers have been initialized
 
bool node_uses_wfr_
 node uses waveform relaxation method
 
size_t tmp_nc_index_
 Store index in NodeCollection.
 

Friends

class NodeManager
 
class ModelManager
 
class proxynode
 
class Model
 
class SimulationManager
 

Detailed Description

Base class for all NEST network objects.

Class Node is the top of the simulation object hierarchy. It defines the most general interface to a network element.

Class Node provide the interface for

  • updating the dynamic state of an object
  • connecting nodes, using particular Events
  • accepting connection requests
  • handling incoming events A new type of Node must be derived from this base class and implement its interface. In order to keep the inheritance hierarchy flat, it is encouraged to directly subclass from base class Node.
See also
class Event General properties of all nodes.

Parameters:

  • frozen (bool) - Whether the node is updated during simulation
  • global_id (int) - The node ID of the node (cf. local_id)
  • local (bool) - Whether the node is available on the local process
  • model (string) - The model type the node was created from
  • state (int) - The state of the node (see elementstates for details)
  • thread (int) - The id of the thread the node is assigned to (valid locally)
  • vp (int) - The id of the virtual process the node is assigned to (valid globally)
See also
GetStatus, SetStatus

Constructor & Destructor Documentation

◆ Node() [1/2]

nest::Node::Node ( )

◆ Node() [2/2]

nest::Node::Node ( Node const &  n)

◆ ~Node()

nest::Node::~Node ( )
virtual

Member Function Documentation

◆ calibrate_time()

virtual void nest::Node::calibrate_time ( const TimeConverter &  )
inlinevirtual

Re-calculate time-based properties of the node.

This function is called after a change in resolution.

Reimplemented in nest::binary_neuron< TGainfunction >, nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::multimeter, nest::noise_generator, nest::poisson_generator_ps, and nest::spin_detector.

◆ clone()

virtual Node * nest::Node::clone ( ) const
inlinevirtual

This function creates a new object by calling the derived class' copy constructor and returning its pointer.

◆ compute_gradient() [1/2]

void nest::Node::compute_gradient ( const long  t_spike,
const long  t_spike_previous,
double &  z_previous_buffer,
double &  z_bar,
double &  e_bar,
double &  e_bar_reg,
double &  epsilon,
double &  weight,
const CommonSynapseProperties &  cp,
WeightOptimizer *  optimizer,
bool  is_flush_event,
bool  previous_was_flush_event,
double &  sum_grad,
long &  remaining_steps_until_cutoff,
long &  decay_steps 
)
virtual

Compute gradient change for eprop synapses.

This method is called from an eprop synapse on the eprop target neuron. It updates various parameters related to e-prop plasticity according to Bellec et al. (2020) with additional biological features described in Korcsak-Gorzo et al. (2025).

Parameters
t_spike[in] Time of the current spike.
t_spike_previous[in] Time of the previous spike.
z_previous_buffer[in, out] Value of presynaptic spiking variable from previous time step.
z_bar[in, out] Filtered presynaptic spiking variable.
e_bar[in, out] Filtered eligibility trace.
e_bar_reg[in, out] Filtered eligibility trace for firing rate regularization.
epsilon[out] Component of eligibility vector corresponding to the adaptive firing threshold variable.
weight[in, out] Synaptic weight.
cp[in] Common properties for synapses.
optimizer[in] Instance of weight optimizer.

Reimplemented in nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, and nest::eprop_readout.

◆ compute_gradient() [2/2]

double nest::Node::compute_gradient ( std::vector< long > &  presyn_isis,
const long  t_previous_update,
const long  t_previous_trigger_spike,
const double  kappa,
const bool  average_gradient 
)
virtual

Compute gradient change for eprop synapses.

This method is called from an eprop synapse on the eprop target neuron. It updates various parameters related to e-prop plasticity according to Bellec et al. (2020).

Parameters
presyn_isis[in, out] Vector of inter-spike intervals.
t_previous_update[in] Time of the last update.
t_previous_trigger_spike[in] Time of the last trigger spike.
kappa[in] Decay factor for the eligibility trace.
average_gradient[in] Boolean flag determining whether to compute an average of the gradients over the given period.
Returns
Returns the computed gradient value.

Reimplemented in nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, and nest::eprop_readout_bsshslm_2020.

◆ downcast()

template<typename ConcreteNode >
const ConcreteNode & nest::Node::downcast ( const Node &  n)
protected

Auxiliary function to downcast a Node to a concrete class derived from Node.

Note
This function is used to convert generic Node references to specific ones when intializing parameters or state from a prototype.

◆ erase_used_eprop_history() [1/2]

void nest::Node::erase_used_eprop_history ( )
virtual

Erases used e-prop history for bsshslm_2020 models.

Removes history entries for update intervals without spikes and entries older than required.

Exceptions
IllegalConnection

Reimplemented in nest::EpropArchivingNode< HistEntryT >, nest::EpropArchivingNode< HistEntryEpropReadout >, and nest::EpropArchivingNode< HistEntryEpropRecurrent >.

◆ erase_used_eprop_history() [2/2]

void nest::Node::erase_used_eprop_history ( const long  t_spike,
const long  t_spike_previous 
)
virtual

Erases used e-prop history based on inter-spike interval.

Parameters
t_spikeThe time step of the current spike.
t_spike_previousThe time step of the previous spike.
Exceptions
IllegalConnection

Reimplemented in nest::EpropArchivingNode< HistEntryT >, nest::EpropArchivingNode< HistEntryEpropReadout >, and nest::EpropArchivingNode< HistEntryEpropRecurrent >.

◆ event_hook() [1/2]

◆ event_hook() [2/2]

void nest::Node::event_hook ( DSSpikeEvent &  e)
virtual

Modify Event object parameters during event delivery.

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(thread, *this) in its operator() function instead of calling target->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.

Reimplemented in nest::gamma_sup_generator, nest::inhomogeneous_poisson_generator, nest::mip_generator, nest::noise_generator, nest::poisson_generator, nest::poisson_generator_ps, nest::ppd_sup_generator, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_generator, nest::gamma_sup_generator, nest::inhomogeneous_poisson_generator, nest::mip_generator, nest::poisson_generator, nest::poisson_generator_ps, nest::ppd_sup_generator, nest::sinusoidal_poisson_generator, nest::spike_dilutor, and nest::spike_generator.

Referenced by nest::DSSpikeEvent::operator()(), and nest::DSCurrentEvent::operator()().

Here is the caller graph for this function:

◆ finalize()

virtual void nest::Node::finalize ( )
inlinevirtual

Finalize node.

Override this function if a node needs to "wrap up" things after a full simulation, i.e., a cycle of Prepare, Run, Cleanup. Typical use-cases are devices that need to close files.

◆ get_C_m()

double nest::Node::get_C_m ( int  comp)
virtual

◆ get_element_type()

std::string nest::Node::get_element_type ( ) const
inlinevirtual

Return the element type of the node.

The returned string is a free label describing the class of network elements a node belongs to. Currently used values are "neuron", "recorder", "stimulator", and "other", which are all defined as static string objects in the names namespace. This function is overwritten with a corresponding value in the derived classes

Reimplemented in nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::multimeter, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_recorder, nest::spin_detector, nest::volume_transmitter, nest::weight_recorder, and nest::StimulationDevice.

References nest::names::neuron().

Referenced by get_status_base().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_g_L()

double nest::Node::get_g_L ( int  comp)
virtual

◆ get_history()

void nest::Node::get_history ( double  t1,
double  t2,
std::deque< histentry >::iterator *  start,
std::deque< histentry >::iterator *  finish 
)
virtual

return the spike history for (t1,t2].

Exceptions
UnexpectedEvent

Reimplemented in nest::ArchivingNode.

◆ get_K_value()

double nest::Node::get_K_value ( double  t)
virtual

return the Kminus value at t (in ms).

Exceptions
UnexpectedEvent

Reimplemented in nest::ArchivingNode.

◆ get_K_values()

void nest::Node::get_K_values ( double  t,
double &  Kminus,
double &  nearest_neighbor_Kminus,
double &  Kminus_triplet 
)
virtual

write the Kminus, nearest_neighbor_Kminus, and Kminus_triplet values at t (in ms) to the provided locations.

Exceptions
UnexpectedEvent

Reimplemented in nest::ArchivingNode.

◆ get_local_device_id()

size_t nest::Node::get_local_device_id ( ) const
virtual

Gets the local device id.

Throws an error if used on a non-device node.

See also
set_local_device_id

Reimplemented in nest::volume_transmitter, and nest::DeviceNode.

◆ get_LTD_value()

double nest::Node::get_LTD_value ( double  t)
virtual

Reimplemented in nest::ClopathArchivingNode.

◆ get_LTP_history()

void nest::Node::get_LTP_history ( double  t1,
double  t2,
std::deque< histentry_extended >::iterator *  start,
std::deque< histentry_extended >::iterator *  finish 
)
virtual

Reimplemented in nest::ClopathArchivingNode.

◆ get_model_()

Model & nest::Node::get_model_ ( ) const
protected

References nest::ModelManager::get_node_model(), nest::kernel(), model_id_, and nest::KernelManager::model_manager.

Here is the call graph for this function:

◆ get_model_id()

int nest::Node::get_model_id ( ) const
inline

Return model ID of the node.

Returns the model ID of the model for this node. Model IDs start with 0.

Note
The model ID is not stored in the model prototype instance. It is only set when actual nodes are created from a prototype.

References model_id_.

Referenced by get_status_base(), nest::proxynode::send_test_event(), nest::proxynode::sends_secondary_event(), nest::proxynode::sends_secondary_event(), nest::proxynode::sends_secondary_event(), nest::proxynode::sends_secondary_event(), nest::proxynode::sends_secondary_event(), nest::proxynode::sends_secondary_event(), and nest::proxynode::sends_signal().

Here is the caller graph for this function:

◆ get_name()

std::string nest::Node::get_name ( ) const

Return class name.

Returns name of node model (e.g. "iaf_psc_alpha") as string. This name is identical to the name that is used to identify the model in the NEST model registry.

References nest::Model::get_name(), nest::ModelManager::get_node_model(), nest::kernel(), model_id_, and nest::KernelManager::model_manager.

Referenced by nest::correlation_detector::calibrate_time(), nest::correlomatrix_detector::calibrate_time(), nest::correlospinmatrix_detector::calibrate_time(), nest::noise_generator::calibrate_time(), nest::RecordingBackendASCII::enroll(), nest::RecordingBackendSIONlib::enroll(), get_status_base(), nest::ignore_and_fire::handles_test_event(), nest::amat2_psc_exp::handles_test_event(), nest::cm_default::handles_test_event(), nest::eprop_iaf::handles_test_event(), nest::eprop_iaf_adapt::handles_test_event(), nest::eprop_iaf_adapt_bsshslm_2020::handles_test_event(), nest::eprop_iaf_bsshslm_2020::handles_test_event(), nest::eprop_iaf_psc_delta::handles_test_event(), nest::eprop_iaf_psc_delta_adapt::handles_test_event(), nest::eprop_readout::handles_test_event(), nest::eprop_readout_bsshslm_2020::handles_test_event(), nest::gif_psc_exp::handles_test_event(), nest::gif_psc_exp_multisynapse::handles_test_event(), nest::glif_psc::handles_test_event(), nest::glif_psc_double_alpha::handles_test_event(), nest::iaf_psc_alpha::handles_test_event(), nest::iaf_psc_alpha_multisynapse::handles_test_event(), nest::iaf_psc_alpha_ps::handles_test_event(), nest::iaf_psc_delta::handles_test_event(), nest::iaf_psc_delta_ps::handles_test_event(), nest::iaf_psc_exp::handles_test_event(), nest::iaf_psc_exp_htum::handles_test_event(), nest::iaf_psc_exp_multisynapse::handles_test_event(), nest::iaf_psc_exp_ps::handles_test_event(), nest::iaf_psc_exp_ps_lossless::handles_test_event(), nest::iaf_tum_2000::handles_test_event(), nest::izhikevich::handles_test_event(), nest::mat2_psc_exp::handles_test_event(), nest::pp_psc_delta::handles_test_event(), nest::ignore_and_fire::handles_test_event(), nest::ac_generator::handles_test_event(), nest::amat2_psc_exp::handles_test_event(), nest::cm_default::handles_test_event(), nest::dc_generator::handles_test_event(), nest::eprop_iaf::handles_test_event(), nest::eprop_iaf_adapt::handles_test_event(), nest::eprop_iaf_adapt_bsshslm_2020::handles_test_event(), nest::eprop_iaf_bsshslm_2020::handles_test_event(), nest::eprop_iaf_psc_delta::handles_test_event(), nest::eprop_iaf_psc_delta_adapt::handles_test_event(), nest::eprop_readout::handles_test_event(), nest::eprop_readout_bsshslm_2020::handles_test_event(), nest::gif_psc_exp::handles_test_event(), nest::gif_psc_exp_multisynapse::handles_test_event(), nest::glif_psc::handles_test_event(), nest::glif_psc_double_alpha::handles_test_event(), nest::iaf_chs_2007::handles_test_event(), nest::iaf_psc_alpha::handles_test_event(), nest::iaf_psc_alpha_multisynapse::handles_test_event(), nest::iaf_psc_alpha_ps::handles_test_event(), nest::iaf_psc_delta::handles_test_event(), nest::iaf_psc_delta_ps::handles_test_event(), nest::iaf_psc_exp::handles_test_event(), nest::iaf_psc_exp_htum::handles_test_event(), nest::iaf_psc_exp_multisynapse::handles_test_event(), nest::iaf_psc_exp_ps::handles_test_event(), nest::iaf_psc_exp_ps_lossless::handles_test_event(), nest::iaf_tum_2000::handles_test_event(), nest::izhikevich::handles_test_event(), nest::mat2_psc_exp::handles_test_event(), nest::noise_generator::handles_test_event(), nest::pp_psc_delta::handles_test_event(), nest::sinusoidal_poisson_generator::handles_test_event(), nest::step_current_generator::handles_test_event(), nest::step_rate_generator::handles_test_event(), nest::eprop_readout::handles_test_event(), nest::eprop_readout_bsshslm_2020::handles_test_event(), nest::eprop_iaf::handles_test_event(), nest::eprop_iaf_adapt::handles_test_event(), nest::eprop_iaf_adapt_bsshslm_2020::handles_test_event(), nest::eprop_iaf_bsshslm_2020::handles_test_event(), nest::eprop_iaf_psc_delta::handles_test_event(), nest::eprop_iaf_psc_delta_adapt::handles_test_event(), nest::ignore_and_fire::handles_test_event(), nest::amat2_psc_exp::handles_test_event(), nest::cm_default::handles_test_event(), nest::correlation_detector::handles_test_event(), nest::correlomatrix_detector::handles_test_event(), nest::correlospinmatrix_detector::handles_test_event(), nest::eprop_iaf::handles_test_event(), nest::eprop_iaf_adapt::handles_test_event(), nest::eprop_iaf_adapt_bsshslm_2020::handles_test_event(), nest::eprop_iaf_bsshslm_2020::handles_test_event(), nest::eprop_iaf_psc_delta::handles_test_event(), nest::eprop_iaf_psc_delta_adapt::handles_test_event(), nest::eprop_readout::handles_test_event(), nest::eprop_readout_bsshslm_2020::handles_test_event(), nest::gif_psc_exp::handles_test_event(), nest::gif_psc_exp_multisynapse::handles_test_event(), nest::glif_psc::handles_test_event(), nest::glif_psc_double_alpha::handles_test_event(), nest::iaf_chs_2007::handles_test_event(), nest::iaf_psc_alpha::handles_test_event(), nest::iaf_psc_alpha_multisynapse::handles_test_event(), nest::iaf_psc_alpha_ps::handles_test_event(), nest::iaf_psc_delta::handles_test_event(), nest::iaf_psc_delta_ps::handles_test_event(), nest::iaf_psc_exp::handles_test_event(), nest::iaf_psc_exp_htum::handles_test_event(), nest::iaf_psc_exp_multisynapse::handles_test_event(), nest::iaf_psc_exp_ps::handles_test_event(), nest::iaf_psc_exp_ps_lossless::handles_test_event(), nest::iaf_tum_2000::handles_test_event(), nest::izhikevich::handles_test_event(), nest::mat2_psc_exp::handles_test_event(), nest::parrot_neuron::handles_test_event(), nest::parrot_neuron_ps::handles_test_event(), nest::pp_psc_delta::handles_test_event(), nest::spike_dilutor::handles_test_event(), nest::spike_recorder::handles_test_event(), nest::spin_detector::handles_test_event(), nest::volume_transmitter::handles_test_event(), nest::weight_recorder::handles_test_event(), and set_status_base().

Here is the call graph for this function:

◆ get_node_id()

size_t nest::Node::get_node_id ( ) const
inline

Return global Network ID.

Returns the global network ID of the Node. Each node has a unique network ID which can be used to access the Node comparable to a pointer.

The smallest valid node ID is 1.

References node_id_.

Referenced by nest::SparseNodeArray::add_local_node(), nest::RecordingBackendASCII::compute_vp_node_id_string_(), nest::ConnectionCreator::connect_to_target_(), nest::ConnectionCreator::connect_to_target_poisson_(), nest::NodeCollection::create(), nest::RecordingBackendASCII::disenroll(), nest::RecordingBackendMemory::disenroll(), nest::RecordingBackendMPI::disenroll(), nest::RecordingBackendScreen::disenroll(), nest::RecordingBackendSIONlib::disenroll(), nest::StimulationBackendMPI::disenroll(), nest::RecordingBackendASCII::enroll(), nest::RecordingBackendMemory::enroll(), nest::RecordingBackendMPI::enroll(), nest::RecordingBackendScreen::enroll(), nest::RecordingBackendSIONlib::enroll(), nest::StimulationBackendMPI::enroll(), nest::RecordingBackendASCII::get_device_status(), nest::RecordingBackendMemory::get_device_status(), nest::RecordingBackendScreen::get_device_status(), nest::NodePosParameter::get_node_pos_(), nest::RecordingBackendMPI::get_port(), nest::StimulationBackendMPI::get_port(), nest::Event::get_receiver_node_id(), nest::multimeter::get_status(), nest::spike_recorder::get_status(), nest::spin_detector::get_status(), nest::weight_recorder::get_status(), nest::RecordingDevice::get_status(), nest::TargetIdentifierPtrRport::get_status(), nest::StimulationDevice::get_status(), get_status_base(), nest::STDPDopaCommonProperties::get_vt_node_id(), nest::NodeManager::node_id_to_node_collection(), nest::RecordingDevice::set_status(), nest::StimulationDevice::set_status(), set_status_base(), nest::RecordingBackendASCII::set_value_names(), nest::RecordingBackendMemory::set_value_names(), nest::RecordingBackendSIONlib::set_value_names(), nest::ThirdBernoulliWithPoolBuilder::third_connect(), nest::volume_transmitter::update(), nest::update_value_param(), nest::NormalParameter::value(), nest::LognormalParameter::value(), nest::RecordingBackendASCII::write(), nest::RecordingBackendMemory::write(), nest::RecordingBackendMPI::write(), nest::RecordingBackendScreen::write(), and nest::RecordingBackendSIONlib::write().

◆ get_shift()

long nest::Node::get_shift ( ) const
virtual

Retrieves the temporal shift of the signal.

Retrieves the number of steps the time-point of the signal has to be shifted to place it at the correct location in the e-prop-related histories.

Note
Unlike the original e-prop, where signals arise instantaneously, NEST considers connection delays. Thus, to reproduce the original results, we compensate for the delays and synchronize the signals by shifting the history.
Returns
The number of time steps to shift.
Exceptions
IllegalConnection

Reimplemented in nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, and nest::eprop_readout_bsshslm_2020.

◆ get_status_base()

Dictionary nest::Node::get_status_base ( )

Return a dictionary with the node's properties.

get_status_base() first gets a dictionary with the basic information of an element, using get_status_dict_(). It then calls the custom function get_status(dictionary) with the created status dictionary as argument.

References nest::names::element_type(), nest::names::frozen(), get_element_type(), get_model_id(), get_name(), get_node_id(), get_status(), get_status_dict_(), get_thread(), get_thread_lid(), get_vp(), nest::names::global_id(), is_frozen(), nest::NodeManager::is_local_node(), is_proxy(), nest::kernel(), nest::names::local(), nest::names::model(), nest::names::model_id(), nest::KernelManager::node_manager, nest::names::node_uses_wfr(), node_uses_wfr(), nest::names::thread(), nest::names::thread_local_id(), and nest::names::vp().

Here is the call graph for this function:

◆ get_status_dict_()

Dictionary nest::Node::get_status_dict_ ( )
privatevirtual

Return a new dictionary datum .

This function is called by get_status_base() and returns a new empty dictionary by default. Some nodes may contain a permanent status dictionary which is then returned by get_status_dict_().

Referenced by get_status_base().

Here is the caller graph for this function:

◆ get_tau_L()

double nest::Node::get_tau_L ( int  comp)
virtual

◆ get_tau_s()

double nest::Node::get_tau_s ( int  comp)
virtual

◆ get_tau_syn_ex()

double nest::Node::get_tau_syn_ex ( int  comp)
virtual

◆ get_tau_syn_in()

double nest::Node::get_tau_syn_in ( int  comp)
virtual

◆ get_thread()

size_t nest::Node::get_thread ( ) const
inline

Retrieve the number of the thread to which the node is assigned.

References thread_.

Referenced by nest::RecordingBackendASCII::disenroll(), nest::RecordingBackendMemory::disenroll(), nest::RecordingBackendMPI::disenroll(), nest::RecordingBackendScreen::disenroll(), nest::RecordingBackendSIONlib::disenroll(), nest::StimulationBackendMPI::disenroll(), nest::RecordingBackendASCII::enroll(), nest::RecordingBackendMemory::enroll(), nest::RecordingBackendMPI::enroll(), nest::RecordingBackendScreen::enroll(), nest::RecordingBackendSIONlib::enroll(), nest::StimulationBackendMPI::enroll(), nest::gamma_sup_generator::event_hook(), nest::inhomogeneous_poisson_generator::event_hook(), nest::mip_generator::event_hook(), nest::poisson_generator::event_hook(), nest::poisson_generator_ps::event_hook(), nest::ppd_sup_generator::event_hook(), nest::sinusoidal_poisson_generator::event_hook(), nest::spike_dilutor::event_hook(), nest::ConnectionCreator::fixed_indegree_(), nest::ConnectionCreator::fixed_outdegree_(), nest::RecordingBackendASCII::get_device_status(), nest::RecordingBackendMemory::get_device_status(), nest::RecordingBackendScreen::get_device_status(), nest::multimeter::get_status(), nest::spike_recorder::get_status(), nest::spin_detector::get_status(), nest::weight_recorder::get_status(), get_status_base(), nest::gif_psc_exp::pre_run_hook(), nest::gif_psc_exp_multisynapse::pre_run_hook(), nest::iaf_psc_exp::pre_run_hook(), nest::iaf_tum_2000::pre_run_hook(), nest::pp_psc_delta::pre_run_hook(), nest::RecordingBackendASCII::set_value_names(), nest::RecordingBackendMemory::set_value_names(), nest::RecordingBackendSIONlib::set_value_names(), nest::mip_generator::update(), nest::noise_generator::update(), nest::pulsepacket_generator::update(), nest::sinusoidal_poisson_generator::update(), nest::RecordingBackendASCII::write(), nest::RecordingBackendMemory::write(), nest::RecordingBackendScreen::write(), and nest::RecordingBackendSIONlib::write().

Here is the caller graph for this function:

◆ get_thread_lid()

size_t nest::Node::get_thread_lid ( ) const
inline

get thread local index

References thread_lid_.

Referenced by get_status_base().

Here is the caller graph for this function:

◆ get_tmp_nc_index()

size_t nest::Node::get_tmp_nc_index ( )
inline

Return and invalidate index in node collection; required by ThirdOutBuilder.

Note
Not const since it invalidates index in node object.

References tmp_nc_index_.

Referenced by nest::ThirdBernoulliWithPoolBuilder::third_connect().

Here is the caller graph for this function:

◆ get_urbanczik_history()

void nest::Node::get_urbanczik_history ( double  t1,
double  t2,
std::deque< histentry_extended >::iterator *  start,
std::deque< histentry_extended >::iterator *  finish,
int   
)
virtual

◆ get_vp()

size_t nest::Node::get_vp ( ) const
inline

Retrieve the number of the virtual process to which the node is assigned.

References vp_.

Referenced by nest::RecordingBackendASCII::compute_vp_node_id_string_(), get_status_base(), and nest::RecordingBackendSIONlib::write().

Here is the caller graph for this function:

◆ handles_test_event() [1/14]

size_t nest::Node::handles_test_event ( ConductanceEvent &  ,
size_t  receptor_type 
)
virtual

Reimplemented in nest::ac_generator, nest::amat2_psc_exp, nest::binary_neuron< TGainfunction >, nest::cm_default, nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::dc_generator, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, nest::eprop_readout_bsshslm_2020, nest::gif_psc_exp, nest::gif_psc_exp_multisynapse, nest::glif_psc, nest::glif_psc_double_alpha, nest::iaf_chs_2007, nest::iaf_psc_alpha, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_alpha_ps, nest::iaf_psc_delta, nest::iaf_psc_delta_ps, nest::iaf_psc_exp, nest::iaf_psc_exp_htum, nest::iaf_psc_exp_multisynapse, nest::iaf_psc_exp_ps, nest::iaf_psc_exp_ps_lossless, nest::iaf_tum_2000, nest::ignore_and_fire, nest::izhikevich, nest::mat2_psc_exp, nest::multimeter, nest::noise_generator, nest::parrot_neuron, nest::parrot_neuron_ps, nest::pp_psc_delta, nest::rate_neuron_ipn< TNonlinearities >, nest::rate_neuron_opn< TNonlinearities >, nest::rate_transformer_node< TNonlinearities >, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_recorder, nest::spin_detector, nest::step_current_generator, nest::step_rate_generator, nest::volume_transmitter, nest::weight_recorder, nest::cont_delay_synapse< targetidentifierT >::ConnTestDummyNode, nest::static_synapse< targetidentifierT >::ConnTestDummyNode, and nest::static_synapse_hom_w< targetidentifierT >::ConnTestDummyNode.

◆ handles_test_event() [2/14]

size_t nest::Node::handles_test_event ( CurrentEvent &  ,
size_t  receptor_type 
)
virtual

Reimplemented in nest::ac_generator, nest::amat2_psc_exp, nest::binary_neuron< TGainfunction >, nest::cm_default, nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::dc_generator, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, nest::eprop_readout_bsshslm_2020, nest::gif_psc_exp, nest::gif_psc_exp_multisynapse, nest::glif_psc, nest::glif_psc_double_alpha, nest::iaf_chs_2007, nest::iaf_psc_alpha, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_alpha_ps, nest::iaf_psc_delta, nest::iaf_psc_delta_ps, nest::iaf_psc_exp, nest::iaf_psc_exp_htum, nest::iaf_psc_exp_multisynapse, nest::iaf_psc_exp_ps, nest::iaf_psc_exp_ps_lossless, nest::iaf_tum_2000, nest::ignore_and_fire, nest::izhikevich, nest::mat2_psc_exp, nest::multimeter, nest::noise_generator, nest::parrot_neuron, nest::parrot_neuron_ps, nest::pp_psc_delta, nest::rate_neuron_ipn< TNonlinearities >, nest::rate_neuron_opn< TNonlinearities >, nest::rate_transformer_node< TNonlinearities >, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_recorder, nest::spin_detector, nest::step_current_generator, nest::step_rate_generator, nest::volume_transmitter, nest::weight_recorder, nest::ignore_and_fire, nest::amat2_psc_exp, nest::binary_neuron< TGainfunction >, nest::cm_default, nest::cont_delay_synapse< targetidentifierT >::ConnTestDummyNode, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, nest::eprop_readout_bsshslm_2020, nest::gif_psc_exp, nest::gif_psc_exp_multisynapse, nest::glif_psc, nest::glif_psc_double_alpha, nest::iaf_psc_alpha, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_alpha_ps, nest::iaf_psc_delta, nest::iaf_psc_delta_ps, nest::iaf_psc_exp, nest::iaf_psc_exp_htum, nest::iaf_psc_exp_multisynapse, nest::iaf_psc_exp_ps, nest::iaf_psc_exp_ps_lossless, nest::iaf_tum_2000, nest::izhikevich, nest::mat2_psc_exp, nest::pp_psc_delta, nest::static_synapse< targetidentifierT >::ConnTestDummyNode, and nest::static_synapse_hom_w< targetidentifierT >::ConnTestDummyNode.

◆ handles_test_event() [3/14]

size_t nest::Node::handles_test_event ( DataLoggingRequest &  ,
size_t  receptor_type 
)
virtual

Reimplemented in nest::ac_generator, nest::amat2_psc_exp, nest::binary_neuron< TGainfunction >, nest::cm_default, nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::dc_generator, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, nest::eprop_readout_bsshslm_2020, nest::gif_psc_exp, nest::gif_psc_exp_multisynapse, nest::glif_psc, nest::glif_psc_double_alpha, nest::iaf_chs_2007, nest::iaf_psc_alpha, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_alpha_ps, nest::iaf_psc_delta, nest::iaf_psc_delta_ps, nest::iaf_psc_exp, nest::iaf_psc_exp_htum, nest::iaf_psc_exp_multisynapse, nest::iaf_psc_exp_ps, nest::iaf_psc_exp_ps_lossless, nest::iaf_tum_2000, nest::ignore_and_fire, nest::izhikevich, nest::mat2_psc_exp, nest::multimeter, nest::noise_generator, nest::parrot_neuron, nest::parrot_neuron_ps, nest::pp_psc_delta, nest::rate_neuron_ipn< TNonlinearities >, nest::rate_neuron_opn< TNonlinearities >, nest::rate_transformer_node< TNonlinearities >, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_recorder, nest::spin_detector, nest::step_current_generator, nest::step_rate_generator, nest::volume_transmitter, nest::weight_recorder, nest::ignore_and_fire, nest::ac_generator, nest::amat2_psc_exp, nest::binary_neuron< TGainfunction >, nest::cm_default, nest::cont_delay_synapse< targetidentifierT >::ConnTestDummyNode, nest::dc_generator, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, nest::eprop_readout_bsshslm_2020, nest::gif_psc_exp, nest::gif_psc_exp_multisynapse, nest::glif_psc, nest::glif_psc_double_alpha, nest::iaf_chs_2007, nest::iaf_psc_alpha, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_alpha_ps, nest::iaf_psc_delta, nest::iaf_psc_delta_ps, nest::iaf_psc_exp, nest::iaf_psc_exp_htum, nest::iaf_psc_exp_multisynapse, nest::iaf_psc_exp_ps, nest::iaf_psc_exp_ps_lossless, nest::iaf_tum_2000, nest::izhikevich, nest::mat2_psc_exp, nest::noise_generator, nest::pp_psc_delta, nest::rate_neuron_ipn< TNonlinearities >, nest::rate_neuron_opn< TNonlinearities >, nest::rate_transformer_node< TNonlinearities >, nest::sinusoidal_poisson_generator, nest::static_synapse< targetidentifierT >::ConnTestDummyNode, nest::static_synapse_hom_w< targetidentifierT >::ConnTestDummyNode, nest::step_current_generator, and nest::step_rate_generator.

◆ handles_test_event() [4/14]

size_t nest::Node::handles_test_event ( DelayedRateConnectionEvent &  ,
size_t  receptor_type 
)
virtual

Reimplemented in nest::ac_generator, nest::amat2_psc_exp, nest::binary_neuron< TGainfunction >, nest::cm_default, nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::dc_generator, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, nest::eprop_readout_bsshslm_2020, nest::gif_psc_exp, nest::gif_psc_exp_multisynapse, nest::glif_psc, nest::glif_psc_double_alpha, nest::iaf_chs_2007, nest::iaf_psc_alpha, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_alpha_ps, nest::iaf_psc_delta, nest::iaf_psc_delta_ps, nest::iaf_psc_exp, nest::iaf_psc_exp_htum, nest::iaf_psc_exp_multisynapse, nest::iaf_psc_exp_ps, nest::iaf_psc_exp_ps_lossless, nest::iaf_tum_2000, nest::ignore_and_fire, nest::izhikevich, nest::mat2_psc_exp, nest::multimeter, nest::noise_generator, nest::parrot_neuron, nest::parrot_neuron_ps, nest::pp_psc_delta, nest::rate_neuron_ipn< TNonlinearities >, nest::rate_neuron_opn< TNonlinearities >, nest::rate_transformer_node< TNonlinearities >, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_recorder, nest::spin_detector, nest::step_current_generator, nest::step_rate_generator, nest::volume_transmitter, nest::weight_recorder, nest::eprop_readout, nest::eprop_readout_bsshslm_2020, nest::rate_neuron_ipn< TNonlinearities >, nest::rate_neuron_opn< TNonlinearities >, and nest::rate_transformer_node< TNonlinearities >.

◆ handles_test_event() [5/14]

◆ handles_test_event() [6/14]

size_t nest::Node::handles_test_event ( DoubleDataEvent &  ,
size_t  receptor_type 
)
virtual

Reimplemented in nest::ac_generator, nest::amat2_psc_exp, nest::binary_neuron< TGainfunction >, nest::cm_default, nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::dc_generator, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, nest::eprop_readout_bsshslm_2020, nest::gif_psc_exp, nest::gif_psc_exp_multisynapse, nest::glif_psc, nest::glif_psc_double_alpha, nest::iaf_chs_2007, nest::iaf_psc_alpha, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_alpha_ps, nest::iaf_psc_delta, nest::iaf_psc_delta_ps, nest::iaf_psc_exp, nest::iaf_psc_exp_htum, nest::iaf_psc_exp_multisynapse, nest::iaf_psc_exp_ps, nest::iaf_psc_exp_ps_lossless, nest::iaf_tum_2000, nest::ignore_and_fire, nest::izhikevich, nest::mat2_psc_exp, nest::multimeter, nest::noise_generator, nest::parrot_neuron, nest::parrot_neuron_ps, nest::pp_psc_delta, nest::rate_neuron_ipn< TNonlinearities >, nest::rate_neuron_opn< TNonlinearities >, nest::rate_transformer_node< TNonlinearities >, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_recorder, nest::spin_detector, nest::step_current_generator, nest::step_rate_generator, nest::volume_transmitter, nest::weight_recorder, nest::cont_delay_synapse< targetidentifierT >::ConnTestDummyNode, nest::static_synapse< targetidentifierT >::ConnTestDummyNode, and nest::static_synapse_hom_w< targetidentifierT >::ConnTestDummyNode.

◆ handles_test_event() [7/14]

size_t nest::Node::handles_test_event ( DSCurrentEvent &  ,
size_t  receptor_type 
)
virtual

Reimplemented in nest::ac_generator, nest::amat2_psc_exp, nest::binary_neuron< TGainfunction >, nest::cm_default, nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::dc_generator, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, nest::eprop_readout_bsshslm_2020, nest::gif_psc_exp, nest::gif_psc_exp_multisynapse, nest::glif_psc, nest::glif_psc_double_alpha, nest::iaf_chs_2007, nest::iaf_psc_alpha, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_alpha_ps, nest::iaf_psc_delta, nest::iaf_psc_delta_ps, nest::iaf_psc_exp, nest::iaf_psc_exp_htum, nest::iaf_psc_exp_multisynapse, nest::iaf_psc_exp_ps, nest::iaf_psc_exp_ps_lossless, nest::iaf_tum_2000, nest::ignore_and_fire, nest::izhikevich, nest::mat2_psc_exp, nest::multimeter, nest::noise_generator, nest::parrot_neuron, nest::parrot_neuron_ps, nest::pp_psc_delta, nest::rate_neuron_ipn< TNonlinearities >, nest::rate_neuron_opn< TNonlinearities >, nest::rate_transformer_node< TNonlinearities >, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_recorder, nest::spin_detector, nest::step_current_generator, nest::step_rate_generator, nest::volume_transmitter, nest::weight_recorder, nest::cont_delay_synapse< targetidentifierT >::ConnTestDummyNode, nest::static_synapse< targetidentifierT >::ConnTestDummyNode, and nest::static_synapse_hom_w< targetidentifierT >::ConnTestDummyNode.

◆ handles_test_event() [8/14]

size_t nest::Node::handles_test_event ( DSSpikeEvent &  ,
size_t  receptor_type 
)
virtual

Reimplemented in nest::ac_generator, nest::amat2_psc_exp, nest::binary_neuron< TGainfunction >, nest::cm_default, nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::dc_generator, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, nest::eprop_readout_bsshslm_2020, nest::gif_psc_exp, nest::gif_psc_exp_multisynapse, nest::glif_psc, nest::glif_psc_double_alpha, nest::iaf_chs_2007, nest::iaf_psc_alpha, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_alpha_ps, nest::iaf_psc_delta, nest::iaf_psc_delta_ps, nest::iaf_psc_exp, nest::iaf_psc_exp_htum, nest::iaf_psc_exp_multisynapse, nest::iaf_psc_exp_ps, nest::iaf_psc_exp_ps_lossless, nest::iaf_tum_2000, nest::ignore_and_fire, nest::izhikevich, nest::mat2_psc_exp, nest::multimeter, nest::noise_generator, nest::parrot_neuron, nest::parrot_neuron_ps, nest::pp_psc_delta, nest::rate_neuron_ipn< TNonlinearities >, nest::rate_neuron_opn< TNonlinearities >, nest::rate_transformer_node< TNonlinearities >, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_recorder, nest::spin_detector, nest::step_current_generator, nest::step_rate_generator, nest::volume_transmitter, nest::weight_recorder, nest::eprop_synapse< targetidentifierT >::ConnTestDummyNode, nest::eprop_synapse_bsshslm_2020< targetidentifierT >::ConnTestDummyNode, nest::cont_delay_synapse< targetidentifierT >::ConnTestDummyNode, nest::static_synapse< targetidentifierT >::ConnTestDummyNode, and nest::static_synapse_hom_w< targetidentifierT >::ConnTestDummyNode.

◆ handles_test_event() [9/14]

◆ handles_test_event() [10/14]

size_t nest::Node::handles_test_event ( InstantaneousRateConnectionEvent &  ,
size_t  receptor_type 
)
virtual

◆ handles_test_event() [11/14]

size_t nest::Node::handles_test_event ( LearningSignalConnectionEvent &  ,
size_t  receptor_type 
)
virtual

Reimplemented in nest::ac_generator, nest::amat2_psc_exp, nest::binary_neuron< TGainfunction >, nest::cm_default, nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::dc_generator, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, nest::eprop_readout_bsshslm_2020, nest::gif_psc_exp, nest::gif_psc_exp_multisynapse, nest::glif_psc, nest::glif_psc_double_alpha, nest::iaf_chs_2007, nest::iaf_psc_alpha, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_alpha_ps, nest::iaf_psc_delta, nest::iaf_psc_delta_ps, nest::iaf_psc_exp, nest::iaf_psc_exp_htum, nest::iaf_psc_exp_multisynapse, nest::iaf_psc_exp_ps, nest::iaf_psc_exp_ps_lossless, nest::iaf_tum_2000, nest::ignore_and_fire, nest::izhikevich, nest::mat2_psc_exp, nest::multimeter, nest::noise_generator, nest::parrot_neuron, nest::parrot_neuron_ps, nest::pp_psc_delta, nest::rate_neuron_ipn< TNonlinearities >, nest::rate_neuron_opn< TNonlinearities >, nest::rate_transformer_node< TNonlinearities >, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_recorder, nest::spin_detector, nest::step_current_generator, nest::step_rate_generator, nest::volume_transmitter, nest::weight_recorder, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, and nest::eprop_iaf_psc_delta_adapt.

References nest::invalid_port.

◆ handles_test_event() [12/14]

size_t nest::Node::handles_test_event ( RateEvent &  ,
size_t  receptor_type 
)
virtual

Reimplemented in nest::ac_generator, nest::amat2_psc_exp, nest::binary_neuron< TGainfunction >, nest::cm_default, nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::dc_generator, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, nest::eprop_readout_bsshslm_2020, nest::gif_psc_exp, nest::gif_psc_exp_multisynapse, nest::glif_psc, nest::glif_psc_double_alpha, nest::iaf_chs_2007, nest::iaf_psc_alpha, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_alpha_ps, nest::iaf_psc_delta, nest::iaf_psc_delta_ps, nest::iaf_psc_exp, nest::iaf_psc_exp_htum, nest::iaf_psc_exp_multisynapse, nest::iaf_psc_exp_ps, nest::iaf_psc_exp_ps_lossless, nest::iaf_tum_2000, nest::ignore_and_fire, nest::izhikevich, nest::mat2_psc_exp, nest::multimeter, nest::noise_generator, nest::parrot_neuron, nest::parrot_neuron_ps, nest::pp_psc_delta, nest::rate_neuron_ipn< TNonlinearities >, nest::rate_neuron_opn< TNonlinearities >, nest::rate_transformer_node< TNonlinearities >, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_recorder, nest::spin_detector, nest::step_current_generator, nest::step_rate_generator, nest::volume_transmitter, nest::weight_recorder, nest::cont_delay_synapse< targetidentifierT >::ConnTestDummyNode, nest::static_synapse< targetidentifierT >::ConnTestDummyNode, and nest::static_synapse_hom_w< targetidentifierT >::ConnTestDummyNode.

◆ handles_test_event() [13/14]

◆ handles_test_event() [14/14]

◆ has_proxies()

bool nest::Node::has_proxies ( ) const
inlinevirtual

Returns true if the node has proxies on remote threads.

This is used to discriminate between different types of nodes, when adding new nodes to the network.

Reimplemented in nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::multimeter, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_recorder, nest::spin_detector, nest::volume_transmitter, nest::weight_recorder, and nest::StimulationDevice.

Referenced by nest::SparseNodeArray::add_local_node(), nest::ConnectionCreator::fixed_indegree_(), nest::ConnectionCreator::fixed_outdegree_(), nest::NodeManager::get_mpi_local_node_or_device_head(), and nest::ConnectionCreator::pairwise_bernoulli_on_target_().

Here is the caller graph for this function:

◆ init()

void nest::Node::init ( )

Initialize node prior to first simulation after node has been created.

init() allows the node to configure internal data structures prior to being simulated. The method has an effect only the first time it is called on a given node, otherwise it returns immediately. init() calls virtual functions init_state_() and init_buffers_().

References init_buffers_(), init_state_(), and initialized_.

Here is the call graph for this function:

◆ init_buffers_()

void nest::Node::init_buffers_ ( )
protectedvirtual

Configure persistent internal data structures.

Let node configure persistent internal data structures, such as input buffers or ODE solvers, to runtime information prior to first simulation.

Reimplemented in nest::ignore_and_fire, nest::ac_generator, nest::amat2_psc_exp, nest::binary_neuron< TGainfunction >, nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::dc_generator, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, nest::eprop_readout_bsshslm_2020, nest::gamma_sup_generator, nest::gif_psc_exp, nest::gif_psc_exp_multisynapse, nest::glif_psc, nest::glif_psc_double_alpha, nest::iaf_chs_2007, nest::iaf_psc_alpha, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_alpha_ps, nest::iaf_psc_delta, nest::iaf_psc_delta_ps, nest::iaf_psc_exp, nest::iaf_psc_exp_htum, nest::iaf_psc_exp_multisynapse, nest::iaf_psc_exp_ps, nest::iaf_psc_exp_ps_lossless, nest::iaf_tum_2000, nest::inhomogeneous_poisson_generator, nest::izhikevich, nest::mat2_psc_exp, nest::mip_generator, nest::noise_generator, nest::parrot_neuron, nest::parrot_neuron_ps, nest::poisson_generator, nest::poisson_generator_ps, nest::pp_psc_delta, nest::ppd_sup_generator, nest::pulsepacket_generator, nest::rate_neuron_ipn< TNonlinearities >, nest::rate_neuron_opn< TNonlinearities >, nest::rate_transformer_node< TNonlinearities >, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_generator, nest::spike_train_injector, nest::spin_detector, nest::step_current_generator, nest::step_rate_generator, nest::volume_transmitter, nest::ConnTestDummyNodeBase, and nest::proxynode.

Referenced by init().

Here is the caller graph for this function:

◆ init_state_()

void nest::Node::init_state_ ( )
protectedvirtual

Configure state variables depending on runtime information.

Overload this method if the node needs to adapt state variables prior to first simulation to runtime information, e.g., the number of incoming connections.

Reimplemented in nest::ac_generator, nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::dc_generator, nest::gamma_sup_generator, nest::inhomogeneous_poisson_generator, nest::mip_generator, nest::noise_generator, nest::poisson_generator, nest::poisson_generator_ps, nest::pp_psc_delta, nest::ppd_sup_generator, nest::pulsepacket_generator, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_generator, nest::spike_train_injector, nest::step_current_generator, nest::step_rate_generator, nest::ConnTestDummyNodeBase, and nest::proxynode.

Referenced by init(), and nest::spike_train_injector::init_state_().

Here is the caller graph for this function:

◆ initialize_update_history()

void nest::Node::initialize_update_history ( )
virtual

Initializes the update history.

The time for the first entry of the update history is set to the neuron specific shift for bsshslm_2020 models and to the negative transmission delay from the recurrent to the output layer otherwise.

Exceptions
IllegalConnection

Reimplemented in nest::EpropArchivingNode< HistEntryT >, nest::EpropArchivingNode< HistEntryEpropReadout >, and nest::EpropArchivingNode< HistEntryEpropRecurrent >.

Referenced by nest::eprop_synapse_bsshslm_2020< targetidentifierT >::check_connection().

Here is the caller graph for this function:

◆ is_eprop_recurrent_node()

bool nest::Node::is_eprop_recurrent_node ( ) const
virtual

Checks if the node is part of the recurrent network and thus not a readout neuron.

Note
The e-prop synapse calls this function of the target node. If true, it skips weight updates within the first interval step of the update interval.
Returns
true if the node is an eprop recurrent node, false otherwise.
Exceptions
IllegalConnection

Reimplemented in nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, and nest::eprop_readout_bsshslm_2020.

◆ is_frozen()

bool nest::Node::is_frozen ( ) const
inline

Returns true if node is frozen, i.e., shall not be updated.

References frozen_.

Referenced by get_status_base().

Here is the caller graph for this function:

◆ is_model_prototype()

bool nest::Node::is_model_prototype ( ) const
inline

Returns true if node is model prototype.

References nest::invalid_thread, and vp_.

Referenced by nest::multimeter::get_status(), nest::spike_recorder::get_status(), nest::spin_detector::get_status(), nest::weight_recorder::get_status(), nest::multimeter::send_test_event(), nest::noise_generator::send_test_event(), nest::poisson_generator_ps::send_test_event(), and nest::ppd_sup_generator::send_test_event().

Here is the caller graph for this function:

◆ is_off_grid()

bool nest::Node::is_off_grid ( ) const
inlinevirtual

Returns true if the node sends/receives off-grid events.

This is used to discriminate between different types of nodes when adding new nodes to the network.

Reimplemented in nest::gamma_sup_generator, nest::iaf_psc_alpha_ps, nest::iaf_psc_delta_ps, nest::iaf_psc_exp_ps, nest::iaf_psc_exp_ps_lossless, nest::iaf_tum_2000, nest::parrot_neuron_ps, nest::poisson_generator_ps, nest::ppd_sup_generator, and nest::spike_train_injector.

◆ is_proxy()

bool nest::Node::is_proxy ( ) const
inlinevirtual

Returns true if the node is a proxy node.

This is implemented because the use of RTTI is rather expensive.

Reimplemented in nest::proxynode.

Referenced by nest::ConnectionCreator::fixed_indegree_(), nest::ConnectionCreator::fixed_outdegree_(), get_status_base(), nest::ConnectionCreator::pairwise_bernoulli_on_source_(), nest::ConnectionCreator::pairwise_bernoulli_on_target_(), nest::ConnectionCreator::pairwise_poisson_(), nest::ThirdBernoulliWithPoolBuilder::ThirdBernoulliWithPoolBuilder(), and nest::ThirdBernoulliWithPoolBuilder::~ThirdBernoulliWithPoolBuilder().

Here is the caller graph for this function:

◆ local_receiver()

bool nest::Node::local_receiver ( ) const
inlinevirtual

◆ node_uses_wfr()

bool nest::Node::node_uses_wfr ( ) const
inline

Returns true if the node uses the waveform relaxation method.

References node_uses_wfr_.

Referenced by get_status_base().

Here is the caller graph for this function:

◆ one_node_per_process()

bool nest::Node::one_node_per_process ( ) const
inlinevirtual

Returns true if the node exists only once per process, but does not have proxies on remote threads.

This is used to discriminate between different types of nodes, when adding new nodes to the network. As of now, this function is only true for MUSIC related proxies?

◆ operator=()

Node & nest::Node::operator= ( const Node &  )
private

not implemented

◆ post_run_cleanup()

virtual void nest::Node::post_run_cleanup ( )
inlinevirtual

Cleanup node after Run.

Override this function if a node needs to "wrap up" things after a call to Run, i.e., before SimulationManager::run() returns. Typical use-cases are devices that need to flush buffers.

◆ pre_run_hook()

virtual void nest::Node::pre_run_hook ( )
pure virtual

Re-calculate dependent parameters of the node.

This function is called each time a simulation is begun/resumed. It must re-calculate all internal Variables of the node required for spike handling or updating the node.

Implemented in nest::ignore_and_fire, nest::RecordingDevice, nest::StimulationDevice, nest::ac_generator, nest::amat2_psc_exp, nest::binary_neuron< TGainfunction >, nest::cm_default, nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::dc_generator, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, nest::eprop_readout_bsshslm_2020, nest::gamma_sup_generator, nest::gif_psc_exp, nest::gif_psc_exp_multisynapse, nest::glif_psc, nest::glif_psc_double_alpha, nest::iaf_chs_2007, nest::iaf_psc_alpha, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_alpha_ps, nest::iaf_psc_delta, nest::iaf_psc_delta_ps, nest::iaf_psc_exp, nest::iaf_psc_exp_htum, nest::iaf_psc_exp_multisynapse, nest::iaf_psc_exp_ps, nest::iaf_psc_exp_ps_lossless, nest::iaf_tum_2000, nest::inhomogeneous_poisson_generator, nest::izhikevich, nest::mat2_psc_exp, nest::mip_generator, nest::multimeter, nest::noise_generator, nest::parrot_neuron, nest::parrot_neuron_ps, nest::poisson_generator, nest::poisson_generator_ps, nest::pp_psc_delta, nest::ppd_sup_generator, nest::pulsepacket_generator, nest::rate_neuron_ipn< TNonlinearities >, nest::rate_neuron_opn< TNonlinearities >, nest::rate_transformer_node< TNonlinearities >, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_generator, nest::spike_recorder, nest::spike_train_injector, nest::spin_detector, nest::step_current_generator, nest::step_rate_generator, nest::volume_transmitter, nest::weight_recorder, nest::ConnTestDummyNodeBase, nest::proxynode, nest::StimulationDevice, nest::RecordingDevice, and nest::StimulationDevice.

◆ receives_signal()

virtual SignalType nest::Node::receives_signal ( ) const
inlinevirtual

◆ register_eprop_connection()

void nest::Node::register_eprop_connection ( )
virtual

Registers an eprop connection.

Exceptions
IllegalConnection

Reimplemented in nest::EpropArchivingNode< HistEntryT >, nest::EpropArchivingNode< HistEntryEpropReadout >, and nest::EpropArchivingNode< HistEntryEpropRecurrent >.

Referenced by nest::eprop_synapse< targetidentifierT >::check_connection(), and nest::eprop_synapse_bsshslm_2020< targetidentifierT >::check_connection().

Here is the caller graph for this function:

◆ register_stdp_connection()

◆ send_test_event()

size_t nest::Node::send_test_event ( Node &  receiving_node,
size_t  receptor_type,
synindex  syn_id,
bool  dummy_target 
)
virtual

Send an event to the receiving_node passed as an argument.

Default implementation of check_connection just throws IllegalConnection.

This is required during the connection handshaking to test, if the receiving_node can handle the event type and receptor_type sent by the source node.

If dummy_target is true, this indicates that receiving_node is derived from ConnTestDummyNodeBase and used in the first call to send_test_event(). This can be ignored in most cases, but Nodes sending DS*Events to their own event hooks and then *Events to their proper targets must send DS*Events when called with the dummy target, and *Events when called with the real target, see #478.

Reimplemented in nest::ignore_and_fire, nest::ac_generator, nest::amat2_psc_exp, nest::binary_neuron< TGainfunction >, nest::cm_default, nest::dc_generator, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::gamma_sup_generator, nest::gif_psc_exp, nest::gif_psc_exp_multisynapse, nest::glif_psc, nest::glif_psc_double_alpha, nest::iaf_chs_2007, nest::iaf_psc_alpha, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_alpha_ps, nest::iaf_psc_delta, nest::iaf_psc_delta_ps, nest::iaf_psc_exp, nest::iaf_psc_exp_htum, nest::iaf_psc_exp_multisynapse, nest::iaf_psc_exp_ps, nest::iaf_psc_exp_ps_lossless, nest::iaf_tum_2000, nest::inhomogeneous_poisson_generator, nest::izhikevich, nest::mat2_psc_exp, nest::mip_generator, nest::multimeter, nest::noise_generator, nest::parrot_neuron, nest::parrot_neuron_ps, nest::poisson_generator, nest::poisson_generator_ps, nest::pp_psc_delta, nest::ppd_sup_generator, nest::pulsepacket_generator, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_generator, nest::spike_train_injector, nest::step_current_generator, nest::step_rate_generator, and nest::proxynode.

◆ sends_signal()

virtual SignalType nest::Node::sends_signal ( ) const
inlinevirtual
Returns
type of signal this node produces used in check_connection to only connect neurons which send / receive compatible information

Reimplemented in nest::binary_neuron< TGainfunction >, nest::multimeter, nest::noise_generator, nest::parrot_neuron, nest::spike_generator, nest::proxynode, nest::binary_neuron< TGainfunction >, nest::multimeter, nest::noise_generator, nest::parrot_neuron, nest::spike_generator, and nest::proxynode.

References nest::SPIKE.

◆ set_frozen_()

void nest::Node::set_frozen_ ( bool  frozen)
inlineprotected

Mark node as frozen.

References frozen_.

Referenced by nest::proxynode::proxynode(), and nest::proxynode::proxynode().

Here is the caller graph for this function:

◆ set_initialized()

void nest::Node::set_initialized ( )

Execute post-initialization actions in node models.

This method is called by NodeManager::add_node() on a node once is fully initialized, i.e. after node ID, nc, model_id, thread, vp is set.

References set_initialized_().

Referenced by nest::NodeManager::add_devices_(), nest::NodeManager::add_music_nodes_(), and nest::NodeManager::add_neurons_().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_initialized_()

void nest::Node::set_initialized_ ( )
protectedvirtual

Reimplemented in nest::StimulationDevice, and nest::RecordingDevice.

Referenced by set_initialized().

Here is the caller graph for this function:

◆ set_local_device_id()

void nest::Node::set_local_device_id ( const size_t  lsdid)
virtual

Sets the local device id.

Throws an error if used on a non-device node.

See also
get_local_device_id

Reimplemented in nest::volume_transmitter, and nest::DeviceNode.

Referenced by nest::NodeManager::add_devices_(), and nest::NodeManager::add_music_nodes_().

Here is the caller graph for this function:

◆ set_model_id()

void nest::Node::set_model_id ( int  i)
inline

Set the model id.

This method is called by NodeManager::add_node() when a node is created.

See also
get_model_id()

References model_id_.

Referenced by nest::NodeManager::add_devices_(), nest::NodeManager::add_music_nodes_(), nest::NodeManager::add_neurons_(), nest::ModelManager::create_proxynode_(), nest::proxynode::proxynode(), and nest::GenericModel< ElementT >::set_model_id().

Here is the caller graph for this function:

◆ set_node_id_()

void nest::Node::set_node_id_ ( size_t  i)
inlineprivate

Set global node id.

References node_id_.

Referenced by nest::NodeManager::add_devices_(), nest::NodeManager::add_music_nodes_(), nest::NodeManager::add_neurons_(), nest::ModelManager::get_proxy_node(), and nest::proxynode::proxynode().

Here is the caller graph for this function:

◆ set_node_uses_wfr()

void nest::Node::set_node_uses_wfr ( const bool  uwfr)
inline

Sets node_uses_wfr_ member variable (to be able to set it to "true" for any class derived from Node)

References node_uses_wfr_.

Referenced by nest::rate_neuron_ipn< TNonlinearities >::rate_neuron_ipn(), nest::rate_neuron_ipn< TNonlinearities >::rate_neuron_ipn(), nest::rate_neuron_opn< TNonlinearities >::rate_neuron_opn(), nest::rate_neuron_opn< TNonlinearities >::rate_neuron_opn(), nest::rate_transformer_node< TNonlinearities >::rate_transformer_node(), and nest::rate_transformer_node< TNonlinearities >::rate_transformer_node().

Here is the caller graph for this function:

◆ set_status_base()

void nest::Node::set_status_base ( const Dictionary &  dict)

Set status dictionary of a node.

Forwards to set_status() of the derived class.

References nest::names::frozen(), frozen_, get_name(), get_node_id(), set_status(), and Dictionary::update_value().

Here is the call graph for this function:

◆ set_thread()

void nest::Node::set_thread ( size_t  t)
inline

Store the number of the thread to which the node is assigned.

The assignment is done after node creation by the Network class.

See also
: NodeManager::add_node().

References thread_.

Referenced by nest::NodeManager::add_devices_(), nest::NodeManager::add_music_nodes_(), and nest::NodeManager::add_neurons_().

Here is the caller graph for this function:

◆ set_thread_lid()

void nest::Node::set_thread_lid ( const size_t  tlid)
inline

set thread local index

References thread_lid_.

◆ set_tmp_nc_index()

void nest::Node::set_tmp_nc_index ( size_t  index)
inline

Set index in node collection; required by ThirdOutBuilder.

References tmp_nc_index_.

Referenced by nest::ThirdBernoulliWithPoolBuilder::ThirdBernoulliWithPoolBuilder(), and nest::ThirdBernoulliWithPoolBuilder::~ThirdBernoulliWithPoolBuilder().

Here is the caller graph for this function:

◆ set_vp()

void nest::Node::set_vp ( size_t  vp)
inline

Store the number of the virtual process to which the node is assigned.

This is assigned to the node in NodeManager::add_node().

References vp_.

Referenced by nest::NodeManager::add_devices_(), nest::NodeManager::add_music_nodes_(), nest::NodeManager::add_neurons_(), nest::ModelManager::get_proxy_node(), and nest::proxynode::proxynode().

Here is the caller graph for this function:

◆ supports_urbanczik_archiving()

bool nest::Node::supports_urbanczik_archiving ( ) const
inlinevirtual

Returns true if the node supports the Urbanczik-Senn plasticity rule.

Reimplemented in nest::UrbanczikArchivingNode< urbanczik_parameters >.

◆ update()

virtual void nest::Node::update ( Time const &  ,
const long  ,
const long   
)
pure virtual

Advance the state of the node in time through the given interval.

This method advances the state of the node through the interval (origin+from, origin+to], which is at most min_delay long.

  • Precondition: State of the node corresponds to the time origin+from.
  • Postcondition: State of the node corresponds to the time origin+to.

Each step between from and to corresponds to one simulation timestep (nest.resolution).

If events are emitted, they have time stamps in the interval T+from+1 .. T+to.

Parameters
originnetwork time at beginning of time slice
frominitial step inside time slice
topost-final step inside time slice

Implemented in nest::iaf_chs_2007, nest::iaf_psc_exp, nest::iaf_tum_2000, nest::volume_transmitter, nest::ConnTestDummyNodeBase, nest::ignore_and_fire, nest::ac_generator, nest::amat2_psc_exp, nest::binary_neuron< TGainfunction >, nest::cm_default, nest::correlation_detector, nest::correlomatrix_detector, nest::correlospinmatrix_detector, nest::dc_generator, nest::eprop_iaf, nest::eprop_iaf_adapt, nest::eprop_iaf_adapt_bsshslm_2020, nest::eprop_iaf_bsshslm_2020, nest::eprop_iaf_psc_delta, nest::eprop_iaf_psc_delta_adapt, nest::eprop_readout, nest::eprop_readout_bsshslm_2020, nest::gamma_sup_generator, nest::gif_psc_exp, nest::gif_psc_exp_multisynapse, nest::glif_psc, nest::glif_psc_double_alpha, nest::iaf_psc_alpha, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_delta, nest::iaf_psc_delta_ps, nest::iaf_psc_exp_htum, nest::iaf_psc_exp_multisynapse, nest::inhomogeneous_poisson_generator, nest::izhikevich, nest::mat2_psc_exp, nest::mip_generator, nest::multimeter, nest::noise_generator, nest::parrot_neuron, nest::parrot_neuron_ps, nest::poisson_generator, nest::poisson_generator_ps, nest::pp_psc_delta, nest::ppd_sup_generator, nest::pulsepacket_generator, nest::rate_neuron_ipn< TNonlinearities >, nest::rate_neuron_opn< TNonlinearities >, nest::rate_transformer_node< TNonlinearities >, nest::sinusoidal_poisson_generator, nest::spike_dilutor, nest::spike_generator, nest::spike_recorder, nest::spike_train_injector, nest::spin_detector, nest::step_rate_generator, nest::weight_recorder, nest::proxynode, nest::StimulationDevice, nest::step_current_generator, nest::iaf_psc_alpha_ps, nest::iaf_psc_exp_ps, and nest::iaf_psc_exp_ps_lossless.

◆ wfr_update()

bool nest::Node::wfr_update ( Time const &  ,
const long  ,
const long   
)
virtual

Advance the state of the node in time through the given interval (see Node::update() for more details).

Default implementation of wfr_update just throws UnexpectedEvent.

Does not emit spikes, does not log state variables.

throws UnexpectedEvent if not reimplemented in derived class

Parameters
originnetwork time at beginning of time slice
frominitial step inside time slice
topost-final step inside time slice

Reimplemented in nest::rate_neuron_ipn< TNonlinearities >, nest::rate_neuron_opn< TNonlinearities >, and nest::rate_transformer_node< TNonlinearities >.

◆ write_update_to_history()

void nest::Node::write_update_to_history ( const long  t_previous_update,
const long  t_current_update,
const bool  is_flush_event,
const bool  previous_was_flush_event 
)
virtual

Registers the current update in the update history and deregisters the previous update.

Parameters
t_previous_updateThe time step of the previous update.
t_current_updateThe time step of the current update.
eprop_isi_trace_cutoffThe cutoff value for the eprop inter-spike interval trace (optional, default: 0).
Exceptions
IllegalConnection

Reimplemented in nest::EpropArchivingNode< HistEntryT >, nest::EpropArchivingNode< HistEntryEpropReadout >, and nest::EpropArchivingNode< HistEntryEpropRecurrent >.

Friends And Related Symbol Documentation

◆ Model

friend class Model
friend

◆ ModelManager

friend class ModelManager
friend

◆ NodeManager

friend class NodeManager
friend

◆ proxynode

friend class proxynode
friend

◆ SimulationManager

friend class SimulationManager
friend

Member Data Documentation

◆ deprecation_warning

DeprecationWarning nest::Node::deprecation_warning

Member of DeprecationWarning class to be used by models if parameters are deprecated.

◆ frozen_

bool nest::Node::frozen_
private

node shall not be updated if true

Referenced by is_frozen(), set_frozen_(), and set_status_base().

◆ initialized_

bool nest::Node::initialized_
private

state and buffers have been initialized

Referenced by init(), and nest::pp_psc_delta::State_::set().

◆ model_id_

int nest::Node::model_id_
private

Model ID.

It is only set for actual node instances, not for instances of class Node representing model prototypes. Model prototypes always have model_id_==-1.

See also
get_model_id(), set_model_id()

Referenced by get_model_(), get_model_id(), get_name(), nest::proxynode::get_status(), and set_model_id().

◆ node_id_

size_t nest::Node::node_id_
private

Global Element ID (node ID).

The node ID is unique within the network. The smallest valid node ID is 1.

Referenced by get_node_id(), and set_node_id_().

◆ node_uses_wfr_

bool nest::Node::node_uses_wfr_
private

node uses waveform relaxation method

Referenced by node_uses_wfr(), and set_node_uses_wfr().

◆ thread_

size_t nest::Node::thread_
private

thread node is assigned to

Referenced by get_thread(), and set_thread().

◆ thread_lid_

size_t nest::Node::thread_lid_
private

Local id of this node in the thread-local vector of nodes.

Referenced by get_thread_lid(), and set_thread_lid().

◆ tmp_nc_index_

size_t nest::Node::tmp_nc_index_
private

Store index in NodeCollection.

Note
This is only here so that the primary connection builder can inform the ThirdOutBuilder about the index of the target neuron in the targets node collection. This is required for block-based builders.
Set by set_tmp_nc_index() and invalidated by get_tmp_nc_index().

Referenced by get_tmp_nc_index(), and set_tmp_nc_index().

◆ vp_

size_t nest::Node::vp_
private

virtual process node is assigned to

Referenced by get_vp(), is_model_prototype(), and set_vp().


The documentation for this class was generated from the following files: