NEST
2.6.0,not_revisioned_source_dir@0
|
Layer with free positioning of neurons, positions specified by user. More...
#include <free_layer.h>
Classes | |
class | NodePositionData |
This class is used when communicating positions across MPI procs. More... | |
Public Member Functions | |
Position< D > | get_position (index sind) const |
Get position of node. More... | |
void | set_status (const DictionaryDatum &) |
void | get_status (DictionaryDatum &) const |
Public Member Functions inherited from nest::Layer< D > | |
Layer () | |
Creates an empty layer. More... | |
Layer (const Layer &l) | |
Copy constructor. More... | |
~Layer () | |
Virtual destructor. More... | |
void | set_status (const DictionaryDatum &) |
Change properties of the layer according to the entries in the dictionary. More... | |
void | get_status (DictionaryDatum &) const |
Export properties of the layer by setting entries in the status dictionary. More... | |
const Position< D > & | get_lower_left () const |
const Position< D > & | get_extent () const |
Position< D > | get_center () const |
std::bitset< D > | get_periodic_mask () const |
std::vector< double_t > | get_position_vector (const index sind) const |
virtual Position< D > | compute_displacement (const Position< D > &from_pos, const Position< D > &to_pos) const |
Returns displacement of a position from another position. More... | |
Position< D > | compute_displacement (const Position< D > &from_pos, const index to) const |
Returns displacement of node from given position. More... | |
std::vector< double_t > | compute_displacement (const std::vector< double_t > &from_pos, const index to) const |
Returns displacement of node from given position. More... | |
double_t | compute_distance (const Position< D > &from_pos, const index to) const |
Returns distance to node from given position. More... | |
double_t | compute_distance (const std::vector< double_t > &from_pos, const index to) const |
Returns distance to node from given position. More... | |
lockPTR< Ntree< D, index > > | get_local_positions_ntree (Selector filter=Selector()) |
Get positions for local nodes in layer. More... | |
lockPTR< Ntree< D, index > > | get_global_positions_ntree (Selector filter=Selector()) |
Get positions for all nodes in layer, including nodes on other MPI processes. More... | |
lockPTR< Ntree< D, index > > | get_global_positions_ntree (Selector filter, std::bitset< D > periodic, Position< D > lower_left, Position< D > extent) |
Get positions globally, overriding the dimensions of the layer and the periodic flags. More... | |
std::vector< std::pair < Position< D >, index > > * | get_global_positions_vector (Selector filter=Selector()) |
virtual std::vector< std::pair < Position< D >, index > > | get_global_positions_vector (Selector filter, const MaskDatum &mask, const Position< D > &anchor, bool allow_oversized) |
std::vector< index > | get_global_nodes (const MaskDatum &mask, const std::vector< double_t > &anchor, bool allow_oversized) |
Return a vector with the GIDs of the nodes inside the mask. More... | |
void | connect (AbstractLayer &target, ConnectionCreator &connector) |
Connect this layer to the given target layer. More... | |
void | dump_nodes (std::ostream &os) const |
Write layer data to stream. More... | |
void | dump_connections (std::ostream &out, const Token &syn_model) |
Dumps information about all connections of the given type having their source in the given layer to the given output stream. More... | |
bool | is_subnet () const |
Layers do not allow entry to the ChangeSubnet command, nodes can not be added by the user. More... | |
Public Member Functions inherited from nest::AbstractLayer | |
AbstractLayer () | |
Constructor. More... | |
virtual | ~AbstractLayer () |
Virtual destructor. More... | |
std::vector< Node * >::iterator | local_begin (int_t depth) |
Start of local children at given depth. More... | |
std::vector< Node * >::iterator | local_end (int_t depth) |
End of local children at given depth. More... | |
std::vector< Node * > ::const_iterator | local_begin (int_t depth) const |
Start of local children at given depth. More... | |
std::vector< Node * > ::const_iterator | local_end (int_t depth) const |
End of local children at given depth. More... | |
Public Member Functions inherited from nest::Subnet | |
Subnet () | |
Subnet (const Subnet &) | |
virtual | ~Subnet () |
void | set_status (const DictionaryDatum &) |
void | get_status (DictionaryDatum &) const |
bool | has_proxies () const |
Returns true if the node has proxies on remote threads. More... | |
size_t | global_size () const |
Returns total number of children. More... | |
size_t | local_size () const |
Returns number of childern in local process. More... | |
bool | global_empty () const |
returns true if subnet is empty globally More... | |
bool | local_empty () const |
returns true if subnet has no local nodes More... | |
void | reserve (size_t) |
index | add_node (Node *) |
Add a local node to the subnet. More... | |
index | add_remote_node (index gid, index mid) |
Add a remote node to the subnet. More... | |
vector< Node * >::iterator | local_begin () |
Return iterator to the first local child node. More... | |
vector< Node * >::iterator | local_end () |
Return iterator to the end of the local child-list. More... | |
vector< Node * >::const_iterator | local_begin () const |
Return const iterator to the first local child node. More... | |
vector< Node * >::const_iterator | local_end () const |
Return const iterator to the end of the local child-list. More... | |
Node * | at_lid (index) const |
Return pointer to Node at given LID if it is local. More... | |
std::string | get_label () const |
Return the subnets's user label. More... | |
void | set_label (std::string const) |
Set the subnet's user label. More... | |
DictionaryDatum | get_customdict () const |
Set the subnet's custom dictionary. More... | |
void | set_customdict (DictionaryDatum const dict) |
Return pointer to the subnet's custom dictionary. More... | |
std::string | print_network (int, int, std::string="") |
Prints out one line of the tree view of the network. More... | |
bool | is_homogeneous () const |
Public Member Functions inherited from nest::Node | |
Node () | |
Node (Node const &) | |
virtual | ~Node () |
virtual Node * | clone () const |
Virtual copy constructor. More... | |
virtual bool | potential_global_receiver () const |
Returns true for potential global receivers (e.g. More... | |
virtual void | set_has_proxies (const bool) |
Sets has_proxies_ member variable (to switch to global spike detection mode) More... | |
virtual void | set_local_receiver (const bool) |
Sets local_receiver_ member variable (to switch to global spike detection mode) More... | |
virtual bool | local_receiver () const |
Returns true if the node only receives events from nodes/devices on the same thread. More... | |
virtual bool | one_node_per_process () const |
Returns true if the node exists only once per process, but does not have proxies on remote threads. More... | |
virtual bool | is_off_grid () const |
Returns true if the node if it sends/receives -grid events This is used to discriminate between different types of nodes, when adding new nodes to the network. More... | |
virtual bool | is_proxy () const |
Returns true if the node is a proxy node. More... | |
std::string | get_name () const |
Return class name. More... | |
index | get_gid () const |
Return global Network ID. More... | |
index | get_lid () const |
Return local node ID. More... | |
index | get_subnet_index () const |
Return the index to the node in the node array of the parent subnet. More... | |
int | get_model_id () const |
Return model ID of the node. More... | |
Subnet * | get_parent () const |
Return pointer to parent subnet. More... | |
bool | is_frozen () const |
Returns true if node is frozen, i.e., shall not be updated. More... | |
bool | is_local () const |
Returns true if the node is allocated in the local process. More... | |
void | init_state () |
Set state variables to the default values for the model. More... | |
void | init_buffers () |
Initialize buffers of a node. More... | |
virtual void | finalize () |
Finalize node. More... | |
virtual void | set_status (const DictionaryDatum &)=0 |
Change properties of the node according to the entries in the dictionary. More... | |
virtual void | get_status (DictionaryDatum &) const =0 |
Export properties of the node by setting entries in the status dictionary. More... | |
virtual port | send_test_event (Node &receiving_node, rport receptor_type, synindex syn_id, bool dummy_target) |
Send an event to the receiving_node passed as an argument. More... | |
virtual port | handles_test_event (SpikeEvent &, rport receptor_type) |
Check if the node can handle a particular event and receptor type. More... | |
virtual port | handles_test_event (RateEvent &, rport receptor_type) |
virtual port | handles_test_event (DataLoggingRequest &, rport receptor_type) |
virtual port | handles_test_event (CurrentEvent &, rport receptor_type) |
virtual port | handles_test_event (ConductanceEvent &, rport receptor_type) |
virtual port | handles_test_event (DoubleDataEvent &, rport receptor_type) |
virtual port | handles_test_event (DSSpikeEvent &, rport receptor_type) |
virtual port | handles_test_event (DSCurrentEvent &, rport receptor_type) |
virtual void | register_stdp_connection (double_t) |
Register a STDP connection. More... | |
virtual void | unregister_stdp_connection (double_t) |
Unregister a STDP connection. More... | |
virtual void | handle (SpikeEvent &e) |
Handle incoming spike events. More... | |
virtual void | handle (RateEvent &e) |
Handler for rate events. More... | |
virtual void | handle (DataLoggingRequest &e) |
Handler for universal data logging request. More... | |
virtual void | handle (DataLoggingReply &e) |
Handler for universal data logging request. More... | |
virtual void | handle (CurrentEvent &e) |
Handler for current events. More... | |
virtual void | handle (ConductanceEvent &e) |
Handler for conductance events. More... | |
virtual void | handle (DoubleDataEvent &e) |
Handler for DoubleData events. More... | |
virtual double_t | get_K_value (double_t t) |
return the Kminus value at t (in ms). More... | |
virtual void | get_K_values (double_t t, double_t &Kminus, double_t &triplet_Kminus) |
write the Kminus and triplet_Kminus values at t (in ms) to the provided locations. More... | |
virtual void | get_history (double_t t1, double_t t2, std::deque< histentry >::iterator *start, std::deque< histentry >::iterator *finish) |
return the spike history for (t1,t2]. More... | |
virtual void | event_hook (DSSpikeEvent &) |
Modify Event object parameters during event delivery. More... | |
virtual void | event_hook (DSCurrentEvent &) |
void | set_thread (thread) |
Store the number of the thread to which the node is assigned. More... | |
thread | get_thread () const |
Retrieve the number of the thread to which the node is assigned. More... | |
void | set_vp (thread) |
Store the number of the virtual process to which the node is assigned. More... | |
thread | get_vp () const |
Retrieve the number of the virtual process to which the node is assigned. More... | |
void | set_model_id (int) |
Set the model id. More... | |
DictionaryDatum | get_status_base () |
Return a dictionary with the node's properties. More... | |
void | set_status_base (const DictionaryDatum &) |
Set status dictionary of a node. More... | |
bool | is_model_prototype () const |
Returns true if node is model prototype. More... | |
void | set_thread_lid (const index) |
set thread local index More... | |
index | get_thread_lid () const |
get thread local index More... | |
bool | buffers_initialized () const |
True if buffers have been initialized. More... | |
void | set_buffers_initialized (bool initialized) |
Protected Member Functions | |
template<class Ins > | |
void | communicate_positions_ (Ins iter, const Selector &filter) |
Communicate positions across MPI processes. More... | |
void | insert_global_positions_ntree_ (Ntree< D, index > &tree, const Selector &filter) |
Insert global position info into ntree. More... | |
void | insert_global_positions_vector_ (std::vector< std::pair< Position< D >, index > > &vec, const Selector &filter) |
Insert global position info into vector. More... | |
void | insert_local_positions_ntree_ (Ntree< D, index > &tree, const Selector &filter) |
Insert local position info into ntree. More... | |
Protected Member Functions inherited from nest::Layer< D > | |
void | clear_ntree_cache_ () const |
Clear the cache for global position information. More... | |
void | clear_vector_cache_ () const |
Clear the cache for global position information. More... | |
lockPTR< Ntree< D, index > > | do_get_global_positions_ntree_ (const Selector &filter) |
Protected Member Functions inherited from nest::Subnet | |
void | init_node_ (const Node &) |
void | init_state_ (const Node &) |
Private function to initialize the state of a node to model defaults. More... | |
void | init_buffers_ () |
Private function to initialize the buffers of a node. More... | |
void | calibrate () |
Re-calculate dependent parameters of the node. More... | |
void | update (Time const &, const long_t, const long_t) |
Bring the node from state $t$ to $t+n*dt$. More... | |
Protected Member Functions inherited from nest::Node | |
virtual size_t | num_thread_siblings_ () const |
Return the number of thread siblings in SiblingContainer. More... | |
virtual Node * | get_thread_sibling_ (index) const |
Return the specified member of a SiblingContainer. More... | |
virtual Node * | get_thread_sibling_safe_ (index) const |
Return specified member of a SiblingContainer, with access control. More... | |
Model & | get_model_ () const |
void | set_frozen_ (bool frozen) |
Mark node as frozen. More... | |
template<typename ConcreteNode > | |
const ConcreteNode & | downcast (const Node &) |
Auxiliary function to downcast a Node to a concrete class derived from Node. More... | |
Protected Attributes | |
std::vector< Position< D > > | positions_ |
Vector of positions. Should match node vector in Subnet. More... | |
Protected Attributes inherited from nest::Layer< D > | |
Position< D > | lower_left_ |
lower left corner (minimum coordinates) of layer More... | |
Position< D > | extent_ |
size of layer More... | |
std::bitset< D > | periodic_ |
periodic b.c. More... | |
Protected Attributes inherited from nest::AbstractLayer | |
int_t | depth_ |
number of neurons at each position More... | |
Protected Attributes inherited from nest::Subnet | |
vector< Node * > | nodes_ |
Pointer to child nodes. More... | |
Multirange | gids_ |
GIDs of global child nodes. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from nest::AbstractLayer | |
static index | create_layer (const DictionaryDatum &) |
Factory function for layers. More... | |
Static Public Member Functions inherited from nest::Node | |
static Network * | network () |
Return pointer to network driver class. More... | |
Static Protected Attributes inherited from nest::Layer< D > | |
static lockPTR< Ntree< D, index > > | cached_ntree_ |
Global position information for a single layer. More... | |
static std::vector< std::pair < Position< D >, index > > * | cached_vector_ = 0 |
static Selector | cached_selector_ |
Static Protected Attributes inherited from nest::AbstractLayer | |
static index | cached_ntree_layer_ = -1 |
GID for the single layer for which we cache global position information. More... | |
static index | cached_vector_layer_ = -1 |
GID for the single layer for which we cache global position information. More... | |
Static Protected Attributes inherited from nest::Node | |
static Network * | net_ =NULL |
Pointer to global network driver. More... | |
Layer with free positioning of neurons, positions specified by user.
|
protected |
Communicate positions across MPI processes.
iter | Insert iterator which will recieve pairs of Position,GID |
filter | Selector to optionally communicate only subset of nodes |
References assert(), nest::Communicator::communicate(), nest::Selector::depth, nest::FreeLayer< D >::NodePositionData::get_gid(), nest::FreeLayer< D >::NodePositionData::get_position(), nest::Selector::model, nest::Selector::select_depth(), and nest::Selector::select_model().
|
virtual |
Get position of node.
Only possible for local nodes.
sind | local subnet index of node |
Implements nest::Layer< D >.
void nest::FreeLayer< D >::get_status | ( | DictionaryDatum & | d | ) | const |
|
protectedvirtual |
Insert global position info into ntree.
Implements nest::Layer< D >.
References nest::Ntree< D, T, max_capacity, max_depth >::end().
|
protectedvirtual |
Insert global position info into vector.
Implements nest::Layer< D >.
|
protectedvirtual |
Insert local position info into ntree.
Implements nest::Layer< D >.
References assert(), nest::Selector::depth, nest::Ntree< D, T, max_capacity, max_depth >::insert(), nest::Selector::model, nest::Selector::select_depth(), and nest::Selector::select_model().
void nest::FreeLayer< D >::set_status | ( | const DictionaryDatum & | d | ) |
References nest::names::d, nest::names::positions, nest::Layer< D >::set_status(), and TokenArray::size().
|
protected |
Vector of positions. Should match node vector in Subnet.