#include <conn_builder.h>
Public Member Functions | |
| AllToAllBuilder (NodeCollectionPTR sources, NodeCollectionPTR targets, ThirdOutBuilder *third_out, const Dictionary &conn_spec, const std::vector< Dictionary > &syn_specs) | |
| bool | is_symmetric () const override |
| Return true if rule automatically creates symmetric connectivity. | |
| bool | requires_proxies () const override |
| Return true if rule is applicable only to nodes with proxies. | |
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. | |
| bool | allows_autapses () const |
| bool | allows_multapses () const |
Protected Member Functions | |
| void | connect_ () override |
| Implements the actual connection algorithm. | |
| void | sp_connect_ () override |
| Connect two nodes in a AllToAll fashion with structural plasticity. | |
| void | disconnect_ () override |
| Disconnecti two nodes connected in a AllToAll fashion without structural plasticity. | |
| void | sp_disconnect_ () override |
| Disconnect two nodes connected in a AllToAll fashion with structural plasticity. | |
Protected Member Functions inherited from nest::BipartiteConnBuilder | |
| bool | all_parameters_scalar_ () const |
| 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. | |
Private Member Functions | |
| void | inner_connect_ (const int, RngPtr, Node *, size_t, bool) |
Additional Inherited Members | |
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. | |
|
inline |
|
overrideprotectedvirtual |
Implements the actual connection algorithm.
Implements nest::BipartiteConnBuilder.
References nest::SparseNodeArray::begin(), nest::SparseNodeArray::end(), nest::BipartiteConnBuilder::exceptions_raised_, nest::NodeManager::get_local_nodes(), nest::NodeManager::get_node_or_proxy(), nest::VPManager::get_thread_id(), nest::get_vp_specific_rng(), inner_connect_(), nest::kernel(), nest::BipartiteConnBuilder::loop_over_targets_(), nest::KernelManager::node_manager, nest::BipartiteConnBuilder::skip_conn_parameter_(), nest::BipartiteConnBuilder::sources_, nest::BipartiteConnBuilder::targets_, and nest::KernelManager::vp_manager.
|
overrideprotectedvirtual |
Disconnecti two nodes connected in a AllToAll fashion without structural plasticity.
This method can be manually called by the user to delete existing synapses.
Reimplemented from nest::BipartiteConnBuilder.
References nest::BipartiteConnBuilder::exceptions_raised_, nest::NodeManager::get_node_or_proxy(), nest::VPManager::get_thread_id(), nest::kernel(), nest::KernelManager::node_manager, nest::BipartiteConnBuilder::single_disconnect_(), nest::BipartiteConnBuilder::sources_, nest::BipartiteConnBuilder::targets_, and nest::KernelManager::vp_manager.
|
private |
References nest::BipartiteConnBuilder::allow_autapses_, nest::BipartiteConnBuilder::single_connect_(), nest::BipartiteConnBuilder::skip_conn_parameter_(), and nest::BipartiteConnBuilder::sources_.
Referenced by connect_().
|
inlineoverridevirtual |
Return true if rule automatically creates symmetric connectivity.
Reimplemented from nest::BipartiteConnBuilder.
References nest::BipartiteConnBuilder::all_parameters_scalar_(), nest::BipartiteConnBuilder::sources_, and nest::BipartiteConnBuilder::targets_.
|
inlineoverridevirtual |
Return true if rule is applicable only to nodes with proxies.
Reimplemented from nest::BipartiteConnBuilder.
|
overrideprotectedvirtual |
Connect two nodes in a AllToAll fashion with structural plasticity.
This method is used by the SPManager based on the homostatic rules defined for the synaptic elements on each node.
Reimplemented from nest::BipartiteConnBuilder.
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_(), nest::BipartiteConnBuilder::sources_, nest::BipartiteConnBuilder::targets_, and nest::KernelManager::vp_manager.
|
overrideprotectedvirtual |
Disconnect two nodes connected in a AllToAll fashion with structural plasticity.
This method is used by the SPManager based on the homostatic rules defined for the synaptic elements on each node.
Reimplemented from nest::BipartiteConnBuilder.
References nest::BipartiteConnBuilder::change_connected_synaptic_elements(), nest::BipartiteConnBuilder::exceptions_raised_, nest::NodeManager::get_node_or_proxy(), nest::VPManager::get_thread_id(), nest::kernel(), nest::KernelManager::node_manager, nest::BipartiteConnBuilder::single_disconnect_(), nest::BipartiteConnBuilder::sources_, nest::BipartiteConnBuilder::targets_, and nest::KernelManager::vp_manager.