NEST main@caf0ae8
 
Loading...
Searching...
No Matches
nest::Connector< ConnectionT > Class Template Reference

Homogeneous connector, contains synapses of one particular type (syn_id_). More...

#include <connector_base.h>

Inheritance diagram for nest::Connector< ConnectionT >:
[legend]
Collaboration diagram for nest::Connector< ConnectionT >:
[legend]

Public Member Functions

 Connector (const synindex syn_id)
 
 ~Connector () override
 
synindex get_syn_id () const override
 Return syn_id_ of the synapse type of this Connector (size_t in list of synapse prototypes).
 
size_t size () const override
 Return the number of connections in this Connector.
 
void get_synapse_status (const size_t tid, const size_t lcid, Dictionary &dict) const override
 Write status of the connection at position lcid to the dictionary dict.
 
void set_synapse_status (const size_t lcid, const Dictionary &dict, ConnectorModel &cm) override
 Set status of the connection at position lcid according to the dictionary dict.
 
void push_back (const ConnectionT &c)
 
void push_back (ConnectionT &&c)
 
void get_connection (const size_t source_node_id, const size_t target_node_id, const size_t tid, const size_t lcid, const long synapse_label, std::deque< ConnectionID > &conns) const override
 Add ConnectionID with given source_node_id and lcid to conns.
 
void get_connection_with_specified_targets (const size_t source_node_id, const std::vector< size_t > &target_neuron_node_ids, const size_t tid, const size_t lcid, const long synapse_label, std::deque< ConnectionID > &conns) const override
 Add ConnectionID with given source_node_id and lcid to conns.
 
void get_all_connections (const size_t source_node_id, const size_t target_node_id, const size_t tid, const long synapse_label, std::deque< ConnectionID > &conns) const override
 Add ConnectionIDs with given source_node_id to conns, looping over all lcids.
 
void get_source_lcids (const size_t tid, const size_t target_node_id, std::vector< size_t > &source_lcids) const override
 For a given target_node_id add lcids of all connections with matching node ID of target to source_lcids.
 
void get_target_node_ids (const size_t tid, const size_t start_lcid, const std::string &post_synaptic_element, std::vector< size_t > &target_node_ids) const override
 For a given start_lcid add node IDs of all targets that belong to the same source to target_node_ids.
 
size_t get_target_node_id (const size_t tid, const unsigned int lcid) const override
 For a given lcid return the node ID of the target of the connection.
 
void send_to_all (const size_t tid, const std::vector< ConnectorModel * > &cm, Event &e) override
 Send the event e to all connections of this Connector.
 
size_t send (const size_t tid, const size_t lcid, const std::vector< ConnectorModel * > &cm, Event &e) override
 Send the event e to the connection at position lcid.
 
void send_weight_event (const size_t tid, const unsigned int lcid, Event &e, const CommonSynapseProperties &cp) override
 
void trigger_update_weight (const long vt_node_id, const size_t tid, const std::vector< spikecounter > &dopa_spikes, const double t_trig, const std::vector< ConnectorModel * > &cm) override
 Update weights of dopamine modulated STDP connections.
 
void sort_connections (BlockVector< Source > &sources) override
 Sort connections according to source node IDs.
 
void set_source_has_more_targets (const size_t lcid, const bool has_more_targets) override
 Set a flag in the connection indicating whether the following connection belongs to the same source.
 
size_t find_first_target (const size_t tid, const size_t start_lcid, const size_t target_node_id) const override
 Return lcid of the first connection after start_lcid (inclusive) where the node_id of the target matches target_node_id.
 
size_t find_enabled_connection (const size_t tid, const size_t syn_id, const size_t source_node_id, const size_t target_node_id, const SourceTable &source_table) const override
 Return lcid of first connection matching source and target node id and that is not disabled.
 
void disable_connection (const size_t lcid) override
 Disable the transfer of events through the connection at position lcid.
 
void remove_disabled_connections (const size_t first_disabled_index) override
 Remove disabled connections from the connector.
 
void disable_connection (const size_t lcid)
 Disable the transfer of events through the connection at position lcid.
 
void disable_connection (const size_t lcid)
 Disable the transfer of events through the connection at position lcid.
 
 ~Connector ()
 
 ~Connector ()
 
void disable_connection (const size_t lcid)
 Disable the transfer of events through the connection at position lcid.
 
void disable_connection (const size_t lcid)
 Disable the transfer of events through the connection at position lcid.
 
 ~Connector ()
 
 ~Connector ()
 
void disable_connection (const size_t lcid)
 Disable the transfer of events through the connection at position lcid.
 
void disable_connection (const size_t lcid)
 Disable the transfer of events through the connection at position lcid.
 
 ~Connector ()
 
 ~Connector ()
 
void disable_connection (const size_t lcid)
 Disable the transfer of events through the connection at position lcid.
 
void disable_connection (const size_t lcid)
 Disable the transfer of events through the connection at position lcid.
 
 ~Connector ()
 
 ~Connector ()
 
- Public Member Functions inherited from nest::ConnectorBase
virtual ~ConnectorBase ()
 

Private Attributes

BlockVector< ConnectionT > C_
 
const synindex syn_id_
 

Detailed Description

template<typename ConnectionT>
class nest::Connector< ConnectionT >

Homogeneous connector, contains synapses of one particular type (syn_id_).

Constructor & Destructor Documentation

◆ Connector()

template<typename ConnectionT >
nest::Connector< ConnectionT >::Connector ( const synindex  syn_id)
inlineexplicit

◆ ~Connector() [1/9]

template<typename ConnectionT >
nest::Connector< ConnectionT >::~Connector ( )
inlineoverride

References nest::Connector< ConnectionT >::C_, and BlockVector< value_type_ >::clear().

Here is the call graph for this function:

◆ ~Connector() [2/9]

◆ ~Connector() [3/9]

◆ ~Connector() [4/9]

◆ ~Connector() [5/9]

◆ ~Connector() [6/9]

◆ ~Connector() [7/9]

◆ ~Connector() [8/9]

◆ ~Connector() [9/9]

Member Function Documentation

◆ disable_connection() [1/9]

void nest::Connector< eprop_synapse< TargetIdentifierPtrRport > >::disable_connection ( const size_t  lcid)
virtual

Disable the transfer of events through the connection at position lcid.

Implements nest::ConnectorBase.

◆ disable_connection() [2/9]

void nest::Connector< eprop_synapse< TargetIdentifierIndex > >::disable_connection ( const size_t  lcid)
virtual

Disable the transfer of events through the connection at position lcid.

Implements nest::ConnectorBase.

◆ disable_connection() [3/9]

void nest::Connector< eprop_synapse< TargetIdentifierPtrRport > >::disable_connection ( const size_t  lcid)
virtual

Disable the transfer of events through the connection at position lcid.

Implements nest::ConnectorBase.

◆ disable_connection() [4/9]

void nest::Connector< eprop_synapse< TargetIdentifierIndex > >::disable_connection ( const size_t  lcid)
virtual

Disable the transfer of events through the connection at position lcid.

Implements nest::ConnectorBase.

◆ disable_connection() [5/9]

void nest::Connector< eprop_synapse_bsshslm_2020< TargetIdentifierPtrRport > >::disable_connection ( const size_t  lcid)
virtual

Disable the transfer of events through the connection at position lcid.

Implements nest::ConnectorBase.

◆ disable_connection() [6/9]

void nest::Connector< eprop_synapse_bsshslm_2020< TargetIdentifierIndex > >::disable_connection ( const size_t  lcid)
virtual

Disable the transfer of events through the connection at position lcid.

Implements nest::ConnectorBase.

◆ disable_connection() [7/9]

void nest::Connector< eprop_synapse_bsshslm_2020< TargetIdentifierPtrRport > >::disable_connection ( const size_t  lcid)
virtual

Disable the transfer of events through the connection at position lcid.

Implements nest::ConnectorBase.

◆ disable_connection() [8/9]

void nest::Connector< eprop_synapse_bsshslm_2020< TargetIdentifierIndex > >::disable_connection ( const size_t  lcid)
virtual

Disable the transfer of events through the connection at position lcid.

Implements nest::ConnectorBase.

◆ disable_connection() [9/9]

template<typename ConnectionT >
void nest::Connector< ConnectionT >::disable_connection ( const size_t  lcid)
inlineoverridevirtual

Disable the transfer of events through the connection at position lcid.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_.

◆ find_enabled_connection()

template<typename ConnectionT >
size_t nest::Connector< ConnectionT >::find_enabled_connection ( const size_t  tid,
const size_t  syn_id,
const size_t  source_node_id,
const size_t  target_node_id,
const SourceTable &  source_table 
) const
inlineoverridevirtual

Return lcid of first connection matching source and target node id and that is not disabled.

Intended for use with unsorted (uncompressed) connections.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_, nest::SourceTable::get_node_id(), and BlockVector< value_type_ >::size().

Here is the call graph for this function:

◆ find_first_target()

template<typename ConnectionT >
size_t nest::Connector< ConnectionT >::find_first_target ( const size_t  tid,
const size_t  start_lcid,
const size_t  target_node_id 
) const
inlineoverridevirtual

Return lcid of the first connection after start_lcid (inclusive) where the node_id of the target matches target_node_id.

If there are no matches, the function returns invalid_index.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_.

◆ get_all_connections()

template<typename ConnectionT >
void nest::Connector< ConnectionT >::get_all_connections ( const size_t  source_node_id,
const size_t  target_node_id,
const size_t  tid,
const long  synapse_label,
std::deque< ConnectionID > &  conns 
) const
inlineoverridevirtual

Add ConnectionIDs with given source_node_id to conns, looping over all lcids.

If target_node_id is given, only add connection if target_node_id matches the node ID of the target of the connection.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_, nest::Connector< ConnectionT >::get_connection(), and BlockVector< value_type_ >::size().

Here is the call graph for this function:

◆ get_connection()

template<typename ConnectionT >
void nest::Connector< ConnectionT >::get_connection ( const size_t  source_node_id,
const size_t  target_node_id,
const size_t  tid,
const size_t  lcid,
const long  synapse_label,
std::deque< ConnectionID > &  conns 
) const
inlineoverridevirtual

Add ConnectionID with given source_node_id and lcid to conns.

If target_node_id is given, only add connection if target_node_id matches the node_id of the target of the connection.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_, BlockVector< value_type_ >::push_back(), nest::Connector< ConnectionT >::syn_id_, and nest::UNLABELED_CONNECTION.

Referenced by nest::Connector< ConnectionT >::get_all_connections().

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

◆ get_connection_with_specified_targets()

template<typename ConnectionT >
void nest::Connector< ConnectionT >::get_connection_with_specified_targets ( const size_t  source_node_id,
const std::vector< size_t > &  target_neuron_node_ids,
const size_t  tid,
const size_t  lcid,
const long  synapse_label,
std::deque< ConnectionID > &  conns 
) const
inlineoverridevirtual

Add ConnectionID with given source_node_id and lcid to conns.

If target_neuron_node_ids is given, only add connection if target_neuron_node_ids contains the node ID of the target of the connection.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_, BlockVector< value_type_ >::push_back(), nest::Connector< ConnectionT >::syn_id_, and nest::UNLABELED_CONNECTION.

Here is the call graph for this function:

◆ get_source_lcids()

template<typename ConnectionT >
void nest::Connector< ConnectionT >::get_source_lcids ( const size_t  tid,
const size_t  target_node_id,
std::vector< size_t > &  source_lcids 
) const
inlineoverridevirtual

For a given target_node_id add lcids of all connections with matching node ID of target to source_lcids.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_, BlockVector< value_type_ >::push_back(), and BlockVector< value_type_ >::size().

Here is the call graph for this function:

◆ get_syn_id()

template<typename ConnectionT >
synindex nest::Connector< ConnectionT >::get_syn_id ( ) const
inlineoverridevirtual

Return syn_id_ of the synapse type of this Connector (size_t in list of synapse prototypes).

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::syn_id_.

◆ get_synapse_status()

template<typename ConnectionT >
void nest::Connector< ConnectionT >::get_synapse_status ( const size_t  tid,
const size_t  lcid,
Dictionary &  dict 
) const
inlineoverridevirtual

Write status of the connection at position lcid to the dictionary dict.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_, BlockVector< value_type_ >::size(), and nest::names::target().

Here is the call graph for this function:

◆ get_target_node_id()

template<typename ConnectionT >
size_t nest::Connector< ConnectionT >::get_target_node_id ( const size_t  tid,
const unsigned int  lcid 
) const
inlineoverridevirtual

For a given lcid return the node ID of the target of the connection.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_.

◆ get_target_node_ids()

template<typename ConnectionT >
void nest::Connector< ConnectionT >::get_target_node_ids ( const size_t  tid,
const size_t  start_lcid,
const std::string &  post_synaptic_element,
std::vector< size_t > &  target_node_ids 
) const
inlineoverridevirtual

For a given start_lcid add node IDs of all targets that belong to the same source to target_node_ids.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_.

◆ push_back() [1/2]

template<typename ConnectionT >
void nest::Connector< ConnectionT >::push_back ( ConnectionT &&  c)
inline

References nest::Connector< ConnectionT >::C_, and BlockVector< value_type_ >::push_back().

Here is the call graph for this function:

◆ push_back() [2/2]

template<typename ConnectionT >
void nest::Connector< ConnectionT >::push_back ( const ConnectionT &  c)
inline

References nest::Connector< ConnectionT >::C_, and BlockVector< value_type_ >::push_back().

Referenced by nest::GenericConnectorModel< ConnectionT >::add_connection_().

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

◆ remove_disabled_connections()

template<typename ConnectionT >
void nest::Connector< ConnectionT >::remove_disabled_connections ( const size_t  first_disabled_index)
inlineoverridevirtual

Remove disabled connections from the connector.

Implements nest::ConnectorBase.

References BlockVector< value_type_ >::begin(), nest::Connector< ConnectionT >::C_, BlockVector< value_type_ >::end(), and BlockVector< value_type_ >::erase().

Here is the call graph for this function:

◆ send()

template<typename ConnectionT >
size_t nest::Connector< ConnectionT >::send ( const size_t  tid,
const size_t  lcid,
const std::vector< ConnectorModel * > &  cm,
Event &  e 
)
inlineoverridevirtual

Send the event e to the connection at position lcid.

Return bool indicating whether the following connection belongs to the same source.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_, nest::Connector< ConnectionT >::send_weight_event(), BlockVector< value_type_ >::size(), and nest::Connector< ConnectionT >::syn_id_.

Here is the call graph for this function:

◆ send_to_all()

template<typename ConnectionT >
void nest::Connector< ConnectionT >::send_to_all ( const size_t  tid,
const std::vector< ConnectorModel * > &  cm,
Event &  e 
)
inlineoverridevirtual

Send the event e to all connections of this Connector.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_, BlockVector< value_type_ >::size(), and nest::Connector< ConnectionT >::syn_id_.

Here is the call graph for this function:

◆ send_weight_event()

template<typename ConnectionT >
void nest::Connector< ConnectionT >::send_weight_event ( const size_t  tid,
const unsigned int  lcid,
Event &  e,
const CommonSynapseProperties &  cp 
)
overridevirtual

Implements nest::ConnectorBase.

References nest::CommonSynapseProperties::get_weight_recorder(), nest::kernel(), nest::Event::set_delay_steps(), nest::Event::set_port(), nest::Event::set_receiver(), nest::WeightRecorderEvent::set_receiver_node_id(), nest::Event::set_rport(), nest::Event::set_sender_node_id(), nest::Event::set_stamp(), and nest::Event::set_weight().

Referenced by nest::Connector< ConnectionT >::send().

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

◆ set_source_has_more_targets()

template<typename ConnectionT >
void nest::Connector< ConnectionT >::set_source_has_more_targets ( const size_t  lcid,
const bool  has_more_targets 
)
inlineoverridevirtual

Set a flag in the connection indicating whether the following connection belongs to the same source.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_.

◆ set_synapse_status()

template<typename ConnectionT >
void nest::Connector< ConnectionT >::set_synapse_status ( const size_t  tid,
const Dictionary &  dict,
ConnectorModel &  cm 
)
inlineoverridevirtual

Set status of the connection at position lcid according to the dictionary dict.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_, and BlockVector< value_type_ >::size().

Here is the call graph for this function:

◆ size()

template<typename ConnectionT >
size_t nest::Connector< ConnectionT >::size ( ) const
inlineoverridevirtual

Return the number of connections in this Connector.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_, and BlockVector< value_type_ >::size().

Here is the call graph for this function:

◆ sort_connections()

template<typename ConnectionT >
void nest::Connector< ConnectionT >::sort_connections ( BlockVector< Source > &  )
inlineoverridevirtual

Sort connections according to source node IDs.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_, and nest::sort().

Here is the call graph for this function:

◆ trigger_update_weight()

template<typename ConnectionT >
void nest::Connector< ConnectionT >::trigger_update_weight ( const long  vt_node_id,
const size_t  tid,
const std::vector< spikecounter > &  dopa_spikes,
const double  t_trig,
const std::vector< ConnectorModel * > &  cm 
)
inlineoverridevirtual

Update weights of dopamine modulated STDP connections.

Implements nest::ConnectorBase.

References nest::Connector< ConnectionT >::C_, BlockVector< value_type_ >::size(), and nest::Connector< ConnectionT >::syn_id_.

Here is the call graph for this function:

Member Data Documentation

◆ C_

◆ syn_id_


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