Node position parameter. More...
#include <parameter.h>
Public Member Functions | |
| NodePosParameter (const Dictionary &d) | |
| Creates a NodePosParameter with specifications specified in a dictionary. | |
| double | value (RngPtr, Node *node) override |
| Generates a value based on parameter specifications and arguments. | |
| double | value (RngPtr, const std::vector< double > &source_pos, const std::vector< double > &target_pos, const AbstractLayer &, Node *) override |
| Generates a value based on parameter specifications and arguments. | |
Public Member Functions inherited from nest::Parameter | |
| Parameter (bool is_spatial=false, bool returns_int_only=false) | |
| Creates a Parameter, with optionally specified attributes. | |
| Parameter (const Parameter &p)=default | |
| virtual | ~Parameter ()=default |
| std::vector< double > | apply (const NodeCollectionPTR &, const std::vector< std::vector< double > > &) |
| Applies a parameter on a single-node ID NodeCollection and given array of positions. | |
| bool | is_spatial () const |
| Check if the Parameter is based on spatial properties. | |
| bool | returns_int_only () const |
| Check if the Parameter only returns integer values. | |
Private Member Functions | |
| double | get_node_pos_ (Node *node) const |
Private Attributes | |
| long | dimension_ |
| int | synaptic_endpoint_ |
Additional Inherited Members | |
Protected Member Functions inherited from nest::Parameter | |
| bool | value_is_integer_ (const double value) const |
Protected Attributes inherited from nest::Parameter | |
| bool | is_spatial_ { false } |
| bool | returns_int_only_ { false } |
Node position parameter.
|
inline |
Creates a NodePosParameter with specifications specified in a dictionary.
| d | dictionary with parameter specifications |
The dictionary can include the following entries: dimension - Dimension from which to get the position value of the node. 0: x, 1: y, 2: z. synaptic_endpoint - If specified, specifies if the position should be taken from the presynaptic or postsynaptic node in a connection. 0: unspecified, 1: presynaptic, 2: postsynaptic.
References nest::names::dimension(), dimension_, nest::names::synaptic_endpoint(), and synaptic_endpoint_.
|
private |
References dimension_, nest::Node::get_node_id(), nest::kernel(), nest::NodeManager::node_id_to_node_collection(), and nest::KernelManager::node_manager.
Referenced by value().
|
inlineoverridevirtual |
Generates a value based on parameter specifications and arguments.
Used when connecting spatial nodes. Note that not all parameters support all overloaded versions.
| rng | pointer to the random number generator |
| source_pos | position of the source node |
| target_pos | position of the target node |
| layer | spatial layer |
| node | target node, required for normal and lognormal parameters |
Reimplemented from nest::Parameter.
References dimension_, and synaptic_endpoint_.
Generates a value based on parameter specifications and arguments.
Used when getting a parameter value based on random values or node attributes, like position. Note that not all parameters support all overloaded versions.
| rng | pointer to the random number generator |
| node | pointer to the node, used when the node position is relevant |
Reimplemented from nest::Parameter.
References get_node_pos_(), and synaptic_endpoint_.
|
private |
Referenced by get_node_pos_(), NodePosParameter(), and value().
|
private |
Referenced by NodePosParameter(), value(), and value().