Class implementing an ignore-and-fire mechanism for neuron models. More...
#include <ignore_and_spike_mechanism.h>
Public Member Functions | |
| IgnoreAndSpikeMechanism () | |
| Default constructor. | |
| IgnoreAndSpikeMechanism (const IgnoreAndSpikeMechanism &n) | |
| Copy constructor. | |
| virtual | ~IgnoreAndSpikeMechanism ()=default |
| Virtual destructor. | |
| bool | spike_event_is_due (bool emit_dynamic_spike) |
| Updates spike schedule and returns whether a spike should be emitted. | |
| void | get_status (Dictionary &d) const |
| Retrieves parameters and adds them to the status dictionary. | |
| void | set_status (const Dictionary &d, Node *node) |
| Sets and validates parameters from the status dictionary. | |
Private Member Functions | |
| void | initialize_offset () |
| Initialize variables dependent on offset. | |
| void | initialize_interval () |
| Initialize variables dependent on interval. | |
Private Attributes | |
| bool | ignore_and_spike_ |
| If True, the neuron is forced to spike in set intervals. | |
| double | offset_ |
| Temporal offset of first spike (ms). | |
| double | interval_ |
| Interval between two consecutive spikes (ms). | |
| long | interval_steps_ |
| Interval steps between two consecutive spikes. | |
| long | steps_until_spike_ |
| Remaining steps until the next spike. | |
Class implementing an ignore-and-fire mechanism for neuron models.
| nest::IgnoreAndSpikeMechanism::IgnoreAndSpikeMechanism | ( | ) |
Default constructor.
References initialize_interval(), and initialize_offset().
| nest::IgnoreAndSpikeMechanism::IgnoreAndSpikeMechanism | ( | const IgnoreAndSpikeMechanism & | n | ) |
Copy constructor.
| n | The other object to copy. |
References initialize_interval(), and initialize_offset().
|
virtualdefault |
Virtual destructor.
| void nest::IgnoreAndSpikeMechanism::get_status | ( | Dictionary & | d | ) | const |
Retrieves parameters and adds them to the status dictionary.
| d | Dictionary to which parameters are added. |
References nest::names::ignore_and_spike(), ignore_and_spike_, nest::names::ignore_and_spike_interval(), nest::names::ignore_and_spike_offset(), interval_, and offset_.
Referenced by nest::ArchivingNode::get_status(), and nest::EpropArchivingNodeRecurrent< hist_shift_required >::get_status().
|
private |
Initialize variables dependent on interval.
References nest::Time::get_steps(), interval_, and interval_steps_.
Referenced by IgnoreAndSpikeMechanism(), IgnoreAndSpikeMechanism(), and set_status().
|
private |
Initialize variables dependent on offset.
References nest::Time::get_steps(), offset_, and steps_until_spike_.
Referenced by IgnoreAndSpikeMechanism(), IgnoreAndSpikeMechanism(), and set_status().
| void nest::IgnoreAndSpikeMechanism::set_status | ( | const Dictionary & | d, |
| Node * | node | ||
| ) |
Sets and validates parameters from the status dictionary.
| d | Dictionary from which parameters are set. |
References nest::names::ignore_and_spike(), ignore_and_spike_, nest::names::ignore_and_spike_interval(), nest::names::ignore_and_spike_offset(), initialize_interval(), initialize_offset(), interval_, offset_, and nest::update_value_param().
Referenced by nest::ArchivingNode::set_status(), and nest::EpropArchivingNodeRecurrent< hist_shift_required >::set_status().
|
inline |
Updates spike schedule and returns whether a spike should be emitted.
| emit_dynamic_spike | Whether the neuron would emit a spike dynamically. |
References ignore_and_spike_, interval_steps_, and steps_until_spike_.
Referenced by nest::eprop_iaf::update(), nest::eprop_iaf_adapt::update(), nest::eprop_iaf_adapt_bsshslm_2020::update(), nest::eprop_iaf_bsshslm_2020::update(), nest::eprop_iaf_psc_delta::update(), nest::eprop_iaf_psc_delta_adapt::update(), and nest::iaf_psc_delta::update().
|
private |
If True, the neuron is forced to spike in set intervals.
Referenced by get_status(), set_status(), and spike_event_is_due().
|
private |
Interval between two consecutive spikes (ms).
Referenced by get_status(), initialize_interval(), and set_status().
|
private |
Interval steps between two consecutive spikes.
Referenced by initialize_interval(), and spike_event_is_due().
|
private |
Temporal offset of first spike (ms).
Referenced by get_status(), initialize_offset(), and set_status().
|
private |
Remaining steps until the next spike.
Referenced by initialize_offset(), and spike_event_is_due().