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

#include <conn_builder.h>

Inheritance diagram for nest::AllToAllBuilder:
[legend]
Collaboration diagram for nest::AllToAllBuilder:
[legend]

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.
 

Constructor & Destructor Documentation

◆ AllToAllBuilder()

nest::AllToAllBuilder::AllToAllBuilder ( NodeCollectionPTR  sources,
NodeCollectionPTR  targets,
ThirdOutBuilder *  third_out,
const Dictionary &  conn_spec,
const std::vector< Dictionary > &  syn_specs 
)
inline

Member Function Documentation

◆ connect_()

◆ disconnect_()

void nest::AllToAllBuilder::disconnect_ ( )
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.

Here is the call graph for this function:

◆ inner_connect_()

void nest::AllToAllBuilder::inner_connect_ ( const int  tid,
RngPtr  rng,
Node *  target,
size_t  tnode_id,
bool  skip 
)
private

References nest::BipartiteConnBuilder::allow_autapses_, nest::BipartiteConnBuilder::single_connect_(), nest::BipartiteConnBuilder::skip_conn_parameter_(), and nest::BipartiteConnBuilder::sources_.

Referenced by connect_().

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

◆ is_symmetric()

bool nest::AllToAllBuilder::is_symmetric ( ) const
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_.

Here is the call graph for this function:

◆ requires_proxies()

bool nest::AllToAllBuilder::requires_proxies ( ) const
inlineoverridevirtual

Return true if rule is applicable only to nodes with proxies.

Reimplemented from nest::BipartiteConnBuilder.

◆ sp_connect_()

void nest::AllToAllBuilder::sp_connect_ ( )
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.

Here is the call graph for this function:

◆ sp_disconnect_()

void nest::AllToAllBuilder::sp_disconnect_ ( )
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.

Here is the call graph for this function:

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