NEST main@caf0ae8
 
Loading...
Searching...
No Matches
nest::ThirdOutBuilder Class Referenceabstract

Builder for connections from third-factor nodes to primary target populations. More...

#include <conn_builder.h>

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

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.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ThirdOutBuilder()

ThirdOutBuilder::ThirdOutBuilder ( const NodeCollectionPTR  third,
const NodeCollectionPTR  targets,
ThirdInBuilder *  third_in,
const Dictionary &  third_conn_spec,
const std::vector< Dictionary > &  syn_specs 
)

Create ThirdOutBuilder.

Parameters
thirdThird-factor population
targetsTarget population of primary connection
third_inThirdInBuilder which will create source-third connections later
third_conn_specSpecification for third-factor connectivity
syn_specsCollection of synapse specifications for third-target connections

Member Function Documentation

◆ connect()

void nest::ThirdOutBuilder::connect ( )
inlinefinaloverridevirtual

Only call third_connect() on ThirdOutBuilder.

Reimplemented from nest::BipartiteConnBuilder.

◆ third_connect()

virtual void nest::ThirdOutBuilder::third_connect ( size_t  source_gid,
Node &  target 
)
pure virtual

Create third-factor connection for given primary connection.

Parameters
source_gidGID of source of primary connection
targetTarget node of primary connection

Implemented in nest::ThirdBernoulliWithPoolBuilder.

Referenced by nest::BipartiteConnBuilder::single_connect_().

Here is the caller graph for this function:

Member Data Documentation

◆ third_in_

ThirdInBuilder* nest::ThirdOutBuilder::third_in_
protected

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