NEST  2.6.0,not_revisioned_source_dir@0
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
nest::GridLayer< D > Class Template Reference

Layer with neurons placed in a grid. More...

#include <grid_layer.h>

Inheritance diagram for nest::GridLayer< D >:
nest::Layer< D > nest::AbstractLayer nest::Subnet nest::Node

Classes

class  masked_iterator
 Iterator iterating over the nodes inside a Mask. More...
 

Public Types

typedef Position< D > key_type
 
typedef index mapped_type
 
typedef std::pair< Position< D >
, index
value_type
 
typedef value_typereference
 
typedef const value_typeconst_reference
 

Public Member Functions

 GridLayer ()
 
 GridLayer (const GridLayer &l)
 
Position< D > get_position (index sind) const
 Get position of node. More...
 
Position< D > lid_to_position (index lid) const
 Get position of node. More...
 
index gridpos_to_lid (Position< D, int_t > pos) const
 
Position< D > gridpos_to_position (Position< D, int_t > gridpos) const
 
std::vector< indexget_nodes (Position< D, int_t > pos)
 Returns nodes at a given discrete layerspace position. More...
 
std::vector< std::pair
< Position< D >, index > > 
get_global_positions_vector (Selector filter, const AbstractMask &mask, const Position< D > &anchor, bool allow_oversized)
 
masked_iterator masked_begin (const Mask< D > &mask, const Position< D > &anchor, const Selector &filter)
 
masked_iterator masked_end ()
 
Position< D, indexget_dims () const
 
void set_status (const DictionaryDatum &d)
 
void get_status (DictionaryDatum &d) 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_tget_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_tcompute_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< indexget_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...
 
Nodeat_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 Nodeclone () 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...
 
Subnetget_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 insert_global_positions_ (Ins iter, const Selector &filter)
 
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 Nodeget_thread_sibling_ (index) const
 Return the specified member of a SiblingContainer. More...
 
virtual Nodeget_thread_sibling_safe_ (index) const
 Return specified member of a SiblingContainer, with access control. More...
 
Modelget_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

Position< D, indexdims_
 number of nodes in each direction. 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 Networknetwork ()
 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 Networknet_ =NULL
 Pointer to global network driver. More...
 

Detailed Description

template<int D>
class nest::GridLayer< D >

Layer with neurons placed in a grid.

Member Typedef Documentation

template<int D>
typedef const value_type& nest::GridLayer< D >::const_reference
template<int D>
typedef Position<D> nest::GridLayer< D >::key_type
template<int D>
typedef index nest::GridLayer< D >::mapped_type
template<int D>
typedef value_type& nest::GridLayer< D >::reference
template<int D>
typedef std::pair<Position<D>,index> nest::GridLayer< D >::value_type

Constructor & Destructor Documentation

template<int D>
nest::GridLayer< D >::GridLayer ( )
inline
template<int D>
nest::GridLayer< D >::GridLayer ( const GridLayer< D > &  l)
inline

Member Function Documentation

template<int D>
Position< D, index > nest::GridLayer< D >::get_dims ( ) const
template<int D>
std::vector< std::pair< Position< D >, index > > nest::GridLayer< D >::get_global_positions_vector ( Selector  filter,
const AbstractMask mask,
const Position< D > &  anchor,
bool  allow_oversized 
)
template<int D>
std::vector< index > nest::GridLayer< D >::get_nodes ( Position< D, int_t pos)

Returns nodes at a given discrete layerspace position.

Parameters
posDiscrete position in layerspace.
Returns
vector of gids at the depth column covering the input position.

References nest::names::d, and nest::names::lid.

Referenced by nest::TopologyModule::GetElement_i_iaFunction::execute().

template<int D>
Position< D > nest::GridLayer< D >::get_position ( index  sind) const
virtual

Get position of node.

Only possible for local nodes.

Parameters
sindsubnet index of node
Returns
position of node identified by Subnet local index value.

Implements nest::Layer< D >.

template<int D>
void nest::GridLayer< D >::get_status ( DictionaryDatum d) const
template<int D>
index nest::GridLayer< D >::gridpos_to_lid ( Position< D, int_t pos) const

References nest::names::lid.

template<int D>
Position< D > nest::GridLayer< D >::gridpos_to_position ( Position< D, int_t gridpos) const
template<int D>
template<class Ins >
void nest::GridLayer< D >::insert_global_positions_ ( Ins  iter,
const Selector filter 
)
protected
template<int D>
void nest::GridLayer< D >::insert_global_positions_ntree_ ( Ntree< D, index > &  tree,
const Selector filter 
)
protectedvirtual

Insert global position info into ntree.

Implements nest::Layer< D >.

References nest::Ntree< D, T, max_capacity, max_depth >::end().

template<int D>
void nest::GridLayer< D >::insert_global_positions_vector_ ( std::vector< std::pair< Position< D >, index > > &  ,
const Selector filter 
)
protectedvirtual

Insert global position info into vector.

Implements nest::Layer< D >.

template<int D>
void nest::GridLayer< D >::insert_local_positions_ntree_ ( Ntree< D, index > &  tree,
const Selector filter 
)
protectedvirtual
template<int D>
Position< D > nest::GridLayer< D >::lid_to_position ( index  lid) const

Get position of node.

Also allowed for non-local nodes.

Parameters
lidlocal index of node
Returns
position of node identified by Subnet local index value.

References assert(), and nest::names::lid.

template<int D>
GridLayer< D >::masked_iterator nest::GridLayer< D >::masked_begin ( const Mask< D > &  mask,
const Position< D > &  anchor,
const Selector filter 
)
inline
template<int D>
GridLayer< D >::masked_iterator nest::GridLayer< D >::masked_end ( )
inline
template<int D>
void nest::GridLayer< D >::set_status ( const DictionaryDatum d)

Member Data Documentation

template<int D>
Position<D,index> nest::GridLayer< D >::dims_
protected

number of nodes in each direction.

Referenced by nest::GridLayer< D >::masked_iterator::masked_iterator().


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