Builder for connections from third-factor nodes to primary target populations. More...
#include <conn_builder.h>
Public Member Functions | |
| ThirdOutBuilder (const NodeCollectionPTR third, const NodeCollectionPTR targets, ThirdInBuilder *third_in, const Dictionary &third_conn_spec, const std::vector< Dictionary > &syn_specs) | |
| Create ThirdOutBuilder. | |
| void | connect () override final |
| Only call third_connect() on ThirdOutBuilder. | |
| virtual void | third_connect (size_t source_gid, Node &target)=0 |
| Create third-factor connection for given primary connection. | |
Public Member Functions inherited from nest::BipartiteConnBuilder | |
| 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 Attributes | |
| ThirdInBuilder * | third_in_ |
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. | |
Additional Inherited Members | |
Protected Member Functions inherited from nest::BipartiteConnBuilder | |
| virtual void | connect_ ()=0 |
| Implements the actual connection algorithm. | |
| 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. | |
Builder for connections from third-factor nodes to primary target populations.
This builder creates connections from third-factor nodes to primary targets based on the third-factor connection rule. It also registers source-third-factor pairs with the corresponding third-in ConnBuilder for later instantiation.
This class needs to be subclassed for each third-factor connection rule.
| ThirdOutBuilder::ThirdOutBuilder | ( | const NodeCollectionPTR | third, |
| const NodeCollectionPTR | targets, | ||
| ThirdInBuilder * | third_in, | ||
| const Dictionary & | third_conn_spec, | ||
| const std::vector< Dictionary > & | syn_specs | ||
| ) |
Create ThirdOutBuilder.
| third | Third-factor population |
| targets | Target population of primary connection |
| third_in | ThirdInBuilder which will create source-third connections later |
| third_conn_spec | Specification for third-factor connectivity |
| syn_specs | Collection of synapse specifications for third-target connections |
|
inlinefinaloverridevirtual |
Only call third_connect() on ThirdOutBuilder.
Reimplemented from nest::BipartiteConnBuilder.
|
pure virtual |
Create third-factor connection for given primary connection.
| source_gid | GID of source of primary connection |
| target | Target node of primary connection |
Implemented in nest::ThirdBernoulliWithPoolBuilder.
Referenced by nest::BipartiteConnBuilder::single_connect_().
|
protected |
Referenced by nest::ThirdBernoulliWithPoolBuilder::third_connect().