24#ifndef TARGET_IDENTIFIER_H
25#define TARGET_IDENTIFIER_H
156 "Only rport==0 allowed for HPC synapses. Use normal synapse models "
157 "instead. See Kunkel et al, Front Neuroinform 8:78 (2014), Sec "
169 assert(
kernel().node_manager.thread_local_data_is_up_to_date() );
171 size_t target_lid = target->get_thread_lid();
172 if ( target_lid > max_targetindex )
175 String::compose(
"HPC synapses support at most %1 nodes per thread. "
176 "See Kunkel et al, Front Neuroinform 8:78 (2014), Sec 3.3.2.",
Dictionary class for interface to Python and C++ API.
Definition dictionary.h:213
To be thrown if a connection is not possible.
Definition exceptions.h:490
Node * thread_lid_to_node(size_t t, targetindex thread_local_id) const
Return node on thread t with given local node id.
Definition node_manager.h:376
Base class for all NEST network objects.
Definition node.h:99
size_t get_node_id() const
Return global Network ID.
Definition node.h:1200
Class providing compact (hpc) target identified by index.
Definition target_identifier.h:113
TargetIdentifierIndex & operator=(const TargetIdentifierIndex &t)=default
void get_status(Dictionary &d) const
Definition target_identifier.h:125
Node * get_target_ptr(const size_t tid) const
Definition target_identifier.h:136
void set_target(Node *target)
Definition target_identifier.h:167
size_t get_rport() const
Definition target_identifier.h:143
targetindex target_
Target node.
Definition target_identifier.h:163
void set_rport(size_t rprt)
Definition target_identifier.h:151
TargetIdentifierIndex(const TargetIdentifierIndex &t)=default
TargetIdentifierIndex()
Definition target_identifier.h:116
Class providing classic target identified information with target pointer and rport.
Definition target_identifier.h:48
void set_rport(size_t rprt)
Definition target_identifier.h:92
TargetIdentifierPtrRport()
Definition target_identifier.h:51
TargetIdentifierPtrRport & operator=(const TargetIdentifierPtrRport &t)=default
size_t rport_
Receiver port at the target node.
Definition target_identifier.h:99
Node * get_target_ptr(const size_t) const
Definition target_identifier.h:74
void set_target(Node *target)
Definition target_identifier.h:86
Node * target_
Target node.
Definition target_identifier.h:98
void get_status(Dictionary &d) const
Definition target_identifier.h:63
TargetIdentifierPtrRport(const TargetIdentifierPtrRport &t)=default
size_t get_rport() const
Definition target_identifier.h:80
NodeManager node_manager
Definition kernel_manager.h:245
const std::string target("target")
const std::string rport("receptor")
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33
KernelManager & kernel()
Definition kernel_manager.h:311
unsigned short targetindex
Unsigned short type for compact target representation.
Definition nest_types.h:124
constexpr targetindex invalid_targetindex
Definition nest_types.h:125