#include <conn_builder.h>
Public Member Functions | |
| SPBuilder (NodeCollectionPTR sources, NodeCollectionPTR targets, ThirdOutBuilder *third_out, const Dictionary &conn_spec, const std::vector< Dictionary > &syn_spec) | |
| The SPBuilder is in charge of the creation of synapses during the simulation under the control of the structural plasticity manager. | |
| const std::string & | get_pre_synaptic_element_name () const |
| const std::string & | get_post_synaptic_element_name () const |
| void | set_name (const std::string &name) |
| std::string | get_name () const |
| void | update_delay (long &d) const |
| Writes the default delay of the connection model, if the SPBuilder only uses the default delay. | |
| void | sp_connect (const std::vector< size_t > &sources, const std::vector< size_t > &targets) |
Public Member Functions inherited from nest::BipartiteConnBuilder | |
| virtual void | connect () |
| Connect with or without structural plasticity. | |
| virtual void | disconnect () |
| Delete synapses with or without structural plasticity. | |
| BipartiteConnBuilder (NodeCollectionPTR sources, NodeCollectionPTR targets, ThirdOutBuilder *third_out, const Dictionary &conn_spec, const std::vector< Dictionary > &syn_specs) | |
| virtual | ~BipartiteConnBuilder () |
| size_t | get_synapse_model () const |
| bool | get_default_delay () const |
| void | set_synaptic_element_names (const std::string &pre_name, const std::string &post_name) |
| bool | change_connected_synaptic_elements (size_t snode_id, size_t tnode_id, const size_t tid, int update) |
| Updates the number of connected synaptic elements in the target and the source. | |
| virtual bool | supports_symmetric () const |
| Return true if rule allows creation of symmetric connectivity. | |
| virtual bool | is_symmetric () const |
| Return true if rule automatically creates symmetric connectivity. | |
| bool | allows_autapses () const |
| bool | allows_multapses () const |
| virtual bool | requires_proxies () const |
| Return true if rule is applicable only to nodes with proxies. | |
Protected Member Functions | |
| void | connect_ () override |
| Implements the actual connection algorithm. | |
| void | connect_ (NodeCollectionPTR sources, NodeCollectionPTR targets) |
| In charge of dynamically creating the new synapses. | |
| void | connect_ (const std::vector< size_t > &sources, const std::vector< size_t > &targets) |
| In charge of dynamically creating the new synapses. | |
| virtual void | connect_ ()=0 |
| Implements the actual connection algorithm. | |
Protected Member Functions inherited from nest::BipartiteConnBuilder | |
| bool | all_parameters_scalar_ () const |
| virtual void | sp_connect_ () |
| virtual void | disconnect_ () |
| virtual void | sp_disconnect_ () |
| void | update_param_dict_ (size_t snode_id, Node &target, size_t target_thread, RngPtr rng, size_t indx) |
| void | single_connect_ (size_t, Node &, size_t, RngPtr) |
| Create connection between given nodes, fill parameter values. | |
| void | single_disconnect_ (size_t, Node &, size_t) |
| void | skip_conn_parameter_ (size_t, size_t n_skip=1) |
| Moves pointer in parameter array. | |
| bool | loop_over_targets_ () const |
| Returns true if conventional looping over targets is indicated. | |
Protected Attributes | |
| std::string | name_ |
| The name of the SPBuilder; used to identify its properties in the structural_plasticity_synapses kernel attributes. | |
Protected Attributes inherited from nest::BipartiteConnBuilder | |
| NodeCollectionPTR | sources_ |
| Population to connect from. | |
| NodeCollectionPTR | targets_ |
| Population to connect to. | |
| ThirdOutBuilder * | third_out_ |
| To be triggered when primary connection is created. | |
| bool | allow_autapses_ |
| bool | allow_multapses_ |
| bool | make_symmetric_ |
| bool | creates_symmetric_connections_ |
| std::vector< std::exception_ptr > | exceptions_raised_ |
| buffer for exceptions raised in threads | |
| std::string | pre_synaptic_element_name_ |
| std::string | post_synaptic_element_name_ |
| bool | use_structural_plasticity_ |
| std::vector< ConnParameter * > | parameters_requiring_skipping_ |
| Pointers to connection parameters specified as arrays. | |
| std::vector< size_t > | synapse_model_id_ |
| std::vector< std::vector< Dictionary > > | param_dicts_ |
| Dictionaries to pass to connect function, one per thread for every syn_spec. | |
| nest::SPBuilder::SPBuilder | ( | NodeCollectionPTR | sources, |
| NodeCollectionPTR | targets, | ||
| ThirdOutBuilder * | third_out, | ||
| const Dictionary & | conn_spec, | ||
| const std::vector< Dictionary > & | syn_spec | ||
| ) |
The SPBuilder is in charge of the creation of synapses during the simulation under the control of the structural plasticity manager.
| sources | the source nodes on which synapses can be created/deleted |
| targets | the target nodes on which synapses can be created/deleted |
| conn_spec | connectivity specification |
| syn_spec | synapse specifications |
References nest::BipartiteConnBuilder::use_structural_plasticity_.
|
overrideprotectedvirtual |
Implements the actual connection algorithm.
Implements nest::BipartiteConnBuilder.
Referenced by sp_connect().
|
protectedvirtual |
Implements the actual connection algorithm.
Implements nest::BipartiteConnBuilder.
|
protected |
In charge of dynamically creating the new synapses.
| sources | nodes from which synapses can be created |
| targets | target nodes for the newly created synapses |
References nest::BipartiteConnBuilder::allow_autapses_, nest::BipartiteConnBuilder::change_connected_synaptic_elements(), nest::BipartiteConnBuilder::exceptions_raised_, nest::NodeManager::get_node_or_proxy(), nest::VPManager::get_thread_id(), nest::get_vp_specific_rng(), nest::kernel(), nest::KernelManager::node_manager, nest::BipartiteConnBuilder::single_connect_(), nest::BipartiteConnBuilder::skip_conn_parameter_(), and nest::KernelManager::vp_manager.
|
protected |
In charge of dynamically creating the new synapses.
|
inline |
References name_.
|
inline |
References nest::BipartiteConnBuilder::post_synaptic_element_name_.
Referenced by nest::SPManager::update_structural_plasticity().
|
inline |
References nest::BipartiteConnBuilder::pre_synaptic_element_name_.
Referenced by nest::SPManager::update_structural_plasticity().
|
inline |
References name_.
Referenced by nest::SPManager::set_status().
| void nest::SPBuilder::sp_connect | ( | const std::vector< size_t > & | sources, |
| const std::vector< size_t > & | targets | ||
| ) |
References connect_(), and nest::BipartiteConnBuilder::exceptions_raised_.
Referenced by nest::SPManager::create_synapses().
| void nest::SPBuilder::update_delay | ( | long & | d | ) | const |
Writes the default delay of the connection model, if the SPBuilder only uses the default delay.
If not, the min/max_delay has to be specified explicitly with the kernel status.
References Dictionary::get(), nest::ModelManager::get_connector_defaults(), nest::BipartiteConnBuilder::get_default_delay(), nest::Time::get_steps(), nest::BipartiteConnBuilder::get_synapse_model(), nest::kernel(), and nest::KernelManager::model_manager.
|
protected |
The name of the SPBuilder; used to identify its properties in the structural_plasticity_synapses kernel attributes.
Referenced by get_name(), and set_name().