NEST main@caf0ae8
 
Loading...
Searching...
No Matches
nest::FlushEventMechanism Class Reference

Class implementing a flush event mechanism for neuron models. More...

#include <flush_event_mechanism.h>

Inheritance diagram for nest::FlushEventMechanism:
[legend]

Public Member Functions

 FlushEventMechanism ()
 Default constructor.
 
 FlushEventMechanism (const FlushEventMechanism &n)
 Copy constructor.
 
virtual ~FlushEventMechanism ()=default
 Destructor.
 
void set_last_event_time (const long last_event_time)
 Sets the time the neuron last sent an event (spike or flush event).
 
long get_last_event_time () const
 Gets the last time the neuron sent an event (spike or flush event).
 
void pre_run_hook ()
 Re-calculates dependent parameters.
 
bool flush_event_is_due (const long current_time) const
 Checks if a flush event is due at the current time.
 
void get_status (Dictionary &d) const
 Retrieves parameters and adds them to the status dictionary.
 
void set_status (const Dictionary &d, Node *node, const bool check_eprop_constraint=false)
 Sets and validates parameters from the status dictionary.
 

Protected Attributes

double flush_event_send_interval_
 Interval since previous event after which a flush event is sent (ms).
 
long flush_event_send_interval_steps_
 Interval since previous event after which a flush event is sent (steps).
 
long last_event_time_
 Time of last spike or flush event (steps).
 

Detailed Description

Class implementing a flush event mechanism for neuron models.

This class implements a flush event mechanism for neuron models that send flush events after prolonged periods without spike emission.

Note
See model_details/flush_event_mechanism.rst for details.

Constructor & Destructor Documentation

◆ FlushEventMechanism() [1/2]

nest::FlushEventMechanism::FlushEventMechanism ( )

Default constructor.

◆ FlushEventMechanism() [2/2]

nest::FlushEventMechanism::FlushEventMechanism ( const FlushEventMechanism &  n)

Copy constructor.

Parameters
nThe other object to copy.

◆ ~FlushEventMechanism()

virtual nest::FlushEventMechanism::~FlushEventMechanism ( )
virtualdefault

Destructor.

Member Function Documentation

◆ flush_event_is_due()

bool nest::FlushEventMechanism::flush_event_is_due ( const long  current_time) const
inline

Checks if a flush event is due at the current time.

Parameters
current_timeThe current simulation time (steps).
Returns
True if a flush event is due, false otherwise.

References flush_event_send_interval_steps_, and last_event_time_.

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::parrot_neuron::update().

Here is the caller graph for this function:

◆ get_last_event_time()

long nest::FlushEventMechanism::get_last_event_time ( ) const
inline

Gets the last time the neuron sent an event (spike or flush event).

Returns
The time of the last event (steps).

References last_event_time_.

◆ get_status()

void nest::FlushEventMechanism::get_status ( Dictionary &  d) const

Retrieves parameters and adds them to the status dictionary.

Parameters
dDictionary to which parameters are added.

References nest::names::flush_event_send_interval(), and flush_event_send_interval_.

Referenced by nest::parrot_neuron::get_status(), and nest::EpropArchivingNodeRecurrent< hist_shift_required >::get_status().

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

◆ pre_run_hook()

void nest::FlushEventMechanism::pre_run_hook ( )

Re-calculates dependent parameters.

References flush_event_send_interval_, flush_event_send_interval_steps_, and nest::Time::get_steps().

Referenced by nest::eprop_iaf::pre_run_hook(), nest::eprop_iaf_adapt::pre_run_hook(), nest::eprop_iaf_adapt_bsshslm_2020::pre_run_hook(), nest::eprop_iaf_bsshslm_2020::pre_run_hook(), nest::eprop_iaf_psc_delta::pre_run_hook(), nest::eprop_iaf_psc_delta_adapt::pre_run_hook(), and nest::parrot_neuron::pre_run_hook().

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

◆ set_last_event_time()

void nest::FlushEventMechanism::set_last_event_time ( const long  last_event_time)
inline

Sets the time the neuron last sent an event (spike or flush event).

Parameters
last_event_timeThe time of the last event (steps).

References last_event_time_.

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::parrot_neuron::update().

Here is the caller graph for this function:

◆ set_status()

void nest::FlushEventMechanism::set_status ( const Dictionary &  d,
Node *  node,
const bool  check_eprop_constraint = false 
)

Sets and validates parameters from the status dictionary.

Parameters
dDictionary with parameters.
check_eprop_constraintIf true, validate that flush_event_send_interval >= eprop_update_interval.

References nest::names::flush_event_send_interval(), flush_event_send_interval_, nest::SimulationManager::get_eprop_update_interval(), nest::Time::get_ms(), nest::kernel(), nest::KernelManager::simulation_manager, and nest::update_value_param().

Referenced by nest::parrot_neuron::set_status(), and nest::EpropArchivingNodeRecurrent< hist_shift_required >::set_status().

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

Member Data Documentation

◆ flush_event_send_interval_

double nest::FlushEventMechanism::flush_event_send_interval_
protected

Interval since previous event after which a flush event is sent (ms).

Referenced by get_status(), pre_run_hook(), and set_status().

◆ flush_event_send_interval_steps_

long nest::FlushEventMechanism::flush_event_send_interval_steps_
protected

Interval since previous event after which a flush event is sent (steps).

Referenced by flush_event_is_due(), and pre_run_hook().

◆ last_event_time_

long nest::FlushEventMechanism::last_event_time_
protected

Time of last spike or flush event (steps).

Referenced by flush_event_is_due(), get_last_event_time(), and set_last_event_time().


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