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

#include <delay_checker.h>

Collaboration diagram for nest::DelayChecker:
[legend]

Public Member Functions

 DelayChecker ()
 
 DelayChecker (const DelayChecker &cr)
 
const Time & get_min_delay () const
 
const Time & get_max_delay () const
 
void freeze_delay_update ()
 This method freezes the min/ max delay update in SetDefaults of connections method.
 
void enable_delay_update ()
 This method enables the min/ max delay update in SetDefaults of connections method.
 
void assert_valid_delay_ms (double)
 Raise exception if delay value in milliseconds is invalid.
 
void assert_two_valid_delays_steps (long, long)
 Raise exception if either of the two delays in steps is invalid.
 
bool get_user_set_delay_extrema () const
 
void calibrate (const TimeConverter &tc)
 
void get_status (Dictionary &d) const
 
void set_status (const Dictionary &d)
 

Private Member Functions

void set_min_max_delay_ (const double, const double)
 

Private Attributes

Time min_delay_
 Minimal delay of all created synapses.
 
Time max_delay_
 Maximal delay of all created synapses.
 
bool user_set_delay_extrema_
 Flag indicating if the user set the delay extrema.
 
bool freeze_delay_update_
 

Constructor & Destructor Documentation

◆ DelayChecker() [1/2]

nest::DelayChecker::DelayChecker ( )

◆ DelayChecker() [2/2]

nest::DelayChecker::DelayChecker ( const DelayChecker &  cr)

References nest::Time::calibrate(), max_delay_, and min_delay_.

Here is the call graph for this function:

Member Function Documentation

◆ assert_two_valid_delays_steps()

void nest::DelayChecker::assert_two_valid_delays_steps ( long  new_delay1,
long  new_delay2 
)

Raise exception if either of the two delays in steps is invalid.

Note
Setting continuous delays requires testing d and d+1. This function implements this more efficiently than two calls to assert_valid_delay().
This test accepts the delays in steps, as this makes more sense when working with continuous delays.
Not const, since it may update delay extrema as a side-effect.

References nest::KernelManager::connection_manager, nest::Time::delay_steps_to_ms(), freeze_delay_update_, nest::ConnectionManager::get_max_delay(), nest::ConnectionManager::get_min_delay(), nest::Time::get_resolution(), nest::Time::get_steps(), nest::kernel(), max_delay_, min_delay_, and user_set_delay_extrema_.

Referenced by nest::cont_delay_synapse< targetidentifierT >::set_status().

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

◆ assert_valid_delay_ms()

void nest::DelayChecker::assert_valid_delay_ms ( double  requested_new_delay)

Raise exception if delay value in milliseconds is invalid.

Note
Not const, since it may update delay extrema as a side-effect.

References nest::KernelManager::connection_manager, nest::Time::delay_ms_to_steps(), nest::Time::delay_steps_to_ms(), freeze_delay_update_, nest::ConnectionManager::get_max_delay(), nest::ConnectionManager::get_min_delay(), nest::Time::get_resolution(), nest::Time::get_steps(), nest::kernel(), max_delay_, min_delay_, and user_set_delay_extrema_.

Referenced by nest::GenericConnectorModel< ConnectionT >::add_connection(), nest::cont_delay_synapse< targetidentifierT >::set_status(), nest::Connection< targetidentifierT >::set_status(), and nest::GenericConnectorModel< ConnectionT >::used_default_delay().

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

◆ calibrate()

void nest::DelayChecker::calibrate ( const TimeConverter &  tc)

References nest::TimeConverter::from_old_tics(), nest::Time::get_ms(), nest::Time::get_tics(), max_delay_, min_delay_, nest::Time::neg_inf(), nest::Time::pos_inf(), and set_min_max_delay_().

Here is the call graph for this function:

◆ enable_delay_update()

void nest::DelayChecker::enable_delay_update ( )
inline

This method enables the min/ max delay update in SetDefaults of connections method.

This is used, when the delay of default connections in the ConnectorModel is set: we do not know, whether new connections with this delay will ever be created.

References freeze_delay_update_.

Referenced by nest::GenericConnectorModel< ConnectionT >::set_status().

Here is the caller graph for this function:

◆ freeze_delay_update()

void nest::DelayChecker::freeze_delay_update ( )
inline

This method freezes the min/ max delay update in SetDefaults of connections method.

This is used, when the delay of default connections in the ConnectorModel is set: we do not know, whether new connections with this delay will ever be created.

References freeze_delay_update_.

Referenced by nest::GenericConnectorModel< ConnectionT >::set_status().

Here is the caller graph for this function:

◆ get_max_delay()

const Time & nest::DelayChecker::get_max_delay ( ) const
inline

References max_delay_.

Referenced by get_status().

Here is the caller graph for this function:

◆ get_min_delay()

const Time & nest::DelayChecker::get_min_delay ( ) const
inline

References min_delay_.

Referenced by get_status().

Here is the caller graph for this function:

◆ get_status()

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

References get_max_delay(), get_min_delay(), nest::Time::get_ms(), nest::names::max_delay(), and nest::names::min_delay().

Here is the call graph for this function:

◆ get_user_set_delay_extrema()

bool nest::DelayChecker::get_user_set_delay_extrema ( ) const
inline

◆ set_min_max_delay_()

void nest::DelayChecker::set_min_max_delay_ ( const double  min_d,
const double  max_d 
)
private

References nest::Time::get_ms(), nest::Time::get_resolution(), nest::Time::get_steps(), nest::INFO, LOG, max_delay_, and min_delay_.

Referenced by calibrate(), and set_status().

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

◆ set_status()

void nest::DelayChecker::set_status ( const Dictionary &  d)

References nest::kernel(), nest::names::max_delay(), nest::names::min_delay(), set_min_max_delay_(), and user_set_delay_extrema_.

Here is the call graph for this function:

Member Data Documentation

◆ freeze_delay_update_

bool nest::DelayChecker::freeze_delay_update_
private

◆ max_delay_

Time nest::DelayChecker::max_delay_
private

◆ min_delay_

Time nest::DelayChecker::min_delay_
private

◆ user_set_delay_extrema_

bool nest::DelayChecker::user_set_delay_extrema_
private

Flag indicating if the user set the delay extrema.

Referenced by assert_two_valid_delays_steps(), assert_valid_delay_ms(), get_user_set_delay_extrema(), and set_status().


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