NEST main@caf0ae8
 
Loading...
Searching...
No Matches
nest::DimensionParameter Class Reference

Position-generating Parameter class. More...

#include <parameter.h>

Inheritance diagram for nest::DimensionParameter:
[legend]
Collaboration diagram for nest::DimensionParameter:
[legend]

Public Member Functions

 DimensionParameter (ParameterPTR px, ParameterPTR py)
 Construct the Parameter with one given Parameter per dimension.
 
 DimensionParameter (ParameterPTR px, ParameterPTR py, ParameterPTR pz)
 
 DimensionParameter (const DimensionParameter &p)
 
double value (RngPtr, Node *) override
 The DimensionParameter has no double value, so this method will always throw.
 
std::vector< double > get_values (RngPtr rng)
 Generates a position with values for each dimension generated from their respective parameters.
 
int get_num_dimensions () const
 
virtual double value (RngPtr, Node *)
 Generates a value based on parameter specifications and arguments.
 
virtual double value (RngPtr rng, const std::vector< double > &source_pos, const std::vector< double > &target_pos, const AbstractLayer &layer, Node *node)
 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.
 

Protected Attributes

int num_dimensions_
 
ParameterPTR const px_
 
ParameterPTR const py_
 
ParameterPTR const pz_
 
- Protected Attributes inherited from nest::Parameter
bool is_spatial_ { false }
 
bool returns_int_only_ { false }
 

Additional Inherited Members

- Protected Member Functions inherited from nest::Parameter
bool value_is_integer_ (const double value) const
 

Detailed Description

Position-generating Parameter class.

One Parameter per dimension is stored. When getting a position vector, a value for each dimension is generated from their respective Parameters.

Constructor & Destructor Documentation

◆ DimensionParameter() [1/3]

nest::DimensionParameter::DimensionParameter ( ParameterPTR  px,
ParameterPTR  py 
)
inline

Construct the Parameter with one given Parameter per dimension.

A copy is made of the supplied Parameter objects.

◆ DimensionParameter() [2/3]

nest::DimensionParameter::DimensionParameter ( ParameterPTR  px,
ParameterPTR  py,
ParameterPTR  pz 
)
inline

◆ DimensionParameter() [3/3]

nest::DimensionParameter::DimensionParameter ( const DimensionParameter &  p)
inline

Member Function Documentation

◆ get_num_dimensions()

int nest::DimensionParameter::get_num_dimensions ( ) const
inline

References num_dimensions_.

◆ get_values()

std::vector< double > nest::DimensionParameter::get_values ( RngPtr  rng)
inline

Generates a position with values for each dimension generated from their respective parameters.

Returns
The position, given as an array.

References num_dimensions_, px_, py_, and pz_.

◆ value() [1/3]

double nest::Parameter::value ( RngPtr  rng,
const std::vector< double > &  source_pos,
const std::vector< double > &  target_pos,
const AbstractLayer &  layer,
Node *  node 
)
inlinevirtual

Generates a value based on parameter specifications and arguments.

Used when connecting spatial nodes. Note that not all parameters support all overloaded versions.

Parameters
rngpointer to the random number generator
source_posposition of the source node
target_posposition of the target node
layerspatial layer
nodetarget node, required for normal and lognormal parameters
Returns
the value of the parameter.

Reimplemented from nest::Parameter.

◆ value() [2/3]

virtual double nest::Parameter::value ( RngPtr  ,
Node *   
)
inlinevirtual

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.

Parameters
rngpointer to the random number generator
nodepointer to the node, used when the node position is relevant
Returns
the value of the parameter.

Reimplemented from nest::Parameter.

◆ value() [3/3]

double nest::DimensionParameter::value ( RngPtr  ,
Node *   
)
inlineoverridevirtual

The DimensionParameter has no double value, so this method will always throw.

Reimplemented from nest::Parameter.

Member Data Documentation

◆ num_dimensions_

int nest::DimensionParameter::num_dimensions_
protected

Referenced by get_num_dimensions(), and get_values().

◆ px_

ParameterPTR const nest::DimensionParameter::px_
protected

Referenced by get_values().

◆ py_

ParameterPTR const nest::DimensionParameter::py_
protected

Referenced by get_values().

◆ pz_

ParameterPTR const nest::DimensionParameter::pz_
protected

Referenced by get_values().


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