297 virtual void update(
Time const&,
const long,
const long ) = 0;
525 const long t_current_update,
526 const bool is_flush_event,
527 const bool previous_was_flush_event );
761 virtual std::map< std::string, double >
764 return std::map< std::string, double >();
811 virtual void get_K_values(
double t,
double& Kminus,
double& nearest_neighbor_Kminus,
double& Kminus_triplet );
819 std::deque< histentry >::iterator* start,
820 std::deque< histentry >::iterator* finish );
825 std::deque< histentry_extended >::iterator* start,
826 std::deque< histentry_extended >::iterator* finish );
830 std::deque< histentry_extended >::iterator* start,
831 std::deque< histentry_extended >::iterator* finish,
834 virtual double get_C_m(
int comp );
835 virtual double get_g_L(
int comp );
861 const long t_spike_previous,
862 double& z_previous_buffer,
871 bool previous_was_flush_event,
873 long& remaining_steps_until_cutoff,
892 const long t_previous_update,
893 const long t_previous_trigger_spike,
895 const bool average_gradient );
1096 template <
typename ConcreteNode >
1255template <
typename ConcreteNode >
1259 ConcreteNode
const* tp =
dynamic_cast< ConcreteNode const*
>( &n );
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
Event for electrical conductances.
Definition event.h:809
Event for electrical currents.
Definition event.h:569
"Callback request event" for use in Device.
Definition event.h:615
"Callback request event" for use in Device.
Definition event.h:521
Provide logged data through request transmitting reference.
Definition event.h:740
Request data to be logged/logged data to be sent.
Definition event.h:636
Event for rate model connections with delay.
Definition secondary_event.h:331
Definition deprecation_warning.h:52
Event for diffusion connections (rate model connections for the siegert_neuron).
Definition secondary_event.h:348
Event for gap-junction information.
Definition secondary_event.h:299
Event for rate model connections without delay.
Definition secondary_event.h:315
Event for learning signal connections.
Definition secondary_event.h:384
Definition model_manager.h:45
Base class for all Models.
Definition model.h:53
Definition node_manager.h:47
Base class for all NEST network objects.
Definition node.h:99
virtual void init_state_()
Configure state variables depending on runtime information.
Definition node.cpp:70
virtual Node * clone() const
This function creates a new object by calling the derived class' copy constructor and returning its p...
Definition node.h:118
size_t get_vp() const
Retrieve the number of the virtual process to which the node is assigned.
Definition node.h:1250
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.
Definition node.cpp:199
virtual double get_K_value(double t)
return the Kminus value at t (in ms).
Definition node.cpp:486
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.
Definition node.h:1176
void init()
Initialize node prior to first simulation after node has been created.
Definition node.cpp:75
Node()
Definition node.cpp:36
virtual std::string get_element_type() const
Return the element type of the node.
Definition node.h:1194
const ConcreteNode & downcast(const Node &)
Auxiliary function to downcast a Node to a concrete class derived from Node.
Definition node.h:1257
size_t thread_
thread node is assigned to
Definition node.h:1121
virtual bool supports_urbanczik_archiving() const
Returns true if the node supports the Urbanczik-Senn plasticity rule.
Definition node.h:1152
virtual void get_LTP_history(double t1, double t2, std::deque< histentry_extended >::iterator *start, std::deque< histentry_extended >::iterator *finish)
Definition node.cpp:505
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)
Definition node.h:1158
virtual ~Node()
Definition node.cpp:65
virtual void register_stdp_connection(double, double)
Register a STDP connection.
Definition node.cpp:211
virtual void register_eprop_connection()
Registers an eprop connection.
Definition node.cpp:217
virtual void event_hook(DSSpikeEvent &)
Modify Event object parameters during event delivery.
Definition node.cpp:586
void set_tmp_nc_index(size_t index)
Set index in node collection; required by ThirdOutBuilder.
Definition node.h:1277
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 loc...
Definition node.cpp:493
virtual bool has_proxies() const
Returns true if the node has proxies on remote threads.
Definition node.h:1164
Node & operator=(const Node &)
not implemented
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.
Definition node.cpp:560
bool node_uses_wfr() const
Returns true if the node uses the waveform relaxation method.
Definition node.h:1146
virtual double get_g_L(int comp)
Definition node.cpp:530
size_t thread_lid_
Local id of this node in the thread-local vector of nodes.
Definition node.h:1110
virtual void init_buffers_()
Configure persistent internal data structures.
Definition node.cpp:89
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].
Definition node.cpp:499
virtual void get_urbanczik_history(double t1, double t2, std::deque< histentry_extended >::iterator *start, std::deque< histentry_extended >::iterator *finish, int)
Definition node.cpp:514
virtual double get_C_m(int comp)
Definition node.cpp:524
size_t get_thread_lid() const
get thread local index
Definition node.h:1271
virtual void update(Time const &, const long, const long)=0
Advance the state of the node in time through the given interval.
DeprecationWarning deprecation_warning
Member of DeprecationWarning class to be used by models if parameters are deprecated.
Definition node.h:1034
virtual SignalType receives_signal() const
Definition node.h:974
virtual void initialize_update_history()
Initializes the update history.
Definition node.cpp:223
void set_thread_lid(const size_t)
set thread local index
Definition node.h:1265
void set_frozen_(bool frozen)
Mark node as frozen.
Definition node.h:1085
virtual double get_tau_s(int comp)
Definition node.cpp:542
bool frozen_
node shall not be updated if true
Definition node.h:1123
Dictionary get_status_base()
Return a dictionary with the node's properties.
Definition node.cpp:142
virtual double get_LTD_value(double t)
Definition node.cpp:480
size_t get_thread() const
Retrieve the number of the thread to which the node is assigned.
Definition node.h:1238
virtual SignalType sends_signal() const
Definition node.h:963
std::string get_name() const
Return class name.
Definition node.cpp:105
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...
Definition node.cpp:190
virtual bool is_proxy() const
Returns true if the node is a proxy node.
Definition node.h:1188
void set_model_id(int)
Set the model id.
Definition node.h:1220
virtual void calibrate_time(const TimeConverter &)
Re-calculate time-based properties of the node.
Definition node.h:249
void set_initialized()
Execute post-initialization actions in node models.
Definition node.cpp:94
virtual Dictionary get_status_dict_()
Return a new dictionary datum .
Definition node.cpp:123
bool initialized_
state and buffers have been initialized
Definition node.h:1124
int get_model_id() const
Return model ID of the node.
Definition node.h:1214
virtual bool is_eprop_recurrent_node() const
Checks if the node is part of the recurrent network and thus not a readout neuron.
Definition node.cpp:253
bool node_uses_wfr_
node uses waveform relaxation method
Definition node.h:1125
virtual void finalize()
Finalize node.
Definition node.h:274
virtual size_t get_local_device_id() const
Gets the local device id.
Definition node.cpp:135
size_t get_node_id() const
Return global Network ID.
Definition node.h:1200
virtual void set_local_device_id(const size_t lsdid)
Sets the local device id.
Definition node.cpp:129
bool is_model_prototype() const
Returns true if node is model prototype.
Definition node.h:1226
virtual long get_shift() const
Retrieves the temporal shift of the signal.
Definition node.cpp:229
bool is_frozen() const
Returns true if node is frozen, i.e., shall not be updated.
Definition node.h:1140
virtual void erase_used_eprop_history()
Erases used e-prop history for bsshslm_2020 models.
Definition node.cpp:241
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.
Definition node.cpp:235
virtual bool local_receiver() const
Returns true if the node only receives events from nodes/devices on the same thread.
Definition node.h:1170
size_t node_id_
Global Element ID (node ID).
Definition node.h:1105
virtual bool is_off_grid() const
Returns true if the node sends/receives off-grid events.
Definition node.h:1182
void set_thread(size_t)
Store the number of the thread to which the node is assigned.
Definition node.h:1232
void set_vp(size_t)
Store the number of the virtual process to which the node is assigned.
Definition node.h:1244
virtual double get_tau_syn_in(int comp)
Definition node.cpp:554
virtual void pre_run_hook()=0
Re-calculate dependent parameters of the node.
size_t get_tmp_nc_index()
Return and invalidate index in node collection; required by ThirdOutBuilder.
Definition node.h:1283
virtual double get_tau_syn_ex(int comp)
Definition node.cpp:548
void set_node_id_(size_t)
Set global node id.
Definition node.h:1207
virtual void post_run_cleanup()
Cleanup node after Run.
Definition node.h:262
int model_id_
Model ID.
Definition node.h:1119
size_t vp_
virtual process node is assigned to
Definition node.h:1122
void set_status_base(const Dictionary &)
Set status dictionary of a node.
Definition node.cpp:170
size_t tmp_nc_index_
Store index in NodeCollection.
Definition node.h:1136
virtual void set_initialized_()
Definition node.cpp:100
Model & get_model_() const
Definition node.cpp:116
virtual double get_tau_L(int comp)
Definition node.cpp:536
Event for firing rate information.
Definition event.h:535
Event for slow inward current (SIC) connections between astrocytes and neurons.
Definition secondary_event.h:458
Definition simulation_manager.h:47
Event for spike information.
Definition event.h:418
Class to convert times from one representation to another.
Definition nest_timeconverter.h:42
Definition nest_time.h:135
Base class implementing a weight optimizer model.
Definition weight_optimizer.h:238
Event for recording the weight of a spike.
Definition event.h:459
Proxy to provide Nodes on remote machines.
Definition proxynode.h:42
virtual int get_synaptic_elements_connected(std::string) const
Get the number of connected synaptic element for the current Node.
Definition node.h:750
virtual void decay_synaptic_elements_vacant()
Is used to reduce the number of synaptic elements in the node through time.
Definition node.h:785
virtual std::map< std::string, double > get_synaptic_elements() const
Get the number of all synaptic elements for the current Node at time t.
Definition node.h:762
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 ...
Definition node.h:727
virtual void connect_synaptic_element(std::string, int)
Is used to update the number of connected synaptic elements (SynapticElement::z_connected_) when a sy...
Definition node.h:795
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.
Definition node.h:738
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 co...
Definition node.h:714
virtual void update_synaptic_elements(double)
Triggers the update of all SynapticElements stored in the synaptic_element_map_.
Definition node.h:776
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
virtual void sends_secondary_event(GapJunctionEvent &ge)
Required to check, if source neuron may send a SecondaryEvent.
Definition node.cpp:381
virtual void handle(SpikeEvent &e)
Handle incoming spike events.
Definition node.cpp:265
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.
const std::string neuron("neuron")
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33
constexpr size_t invalid_thread
Value for invalid connection thread id.
Definition nest_types.h:136
SignalType
enum type of signal conveyed by spike events of a node.
Definition nest_types.h:165
@ SPIKE
Definition nest_types.h:167
size_t synindex
For enumerations of synapse types.
Definition nest_types.h:115