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

Parameter class choosing a value based on a comparing parameter. More...

#include <parameter.h>

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

Public Member Functions

 ConditionalParameter (ParameterPTR condition, ParameterPTR if_true, ParameterPTR if_false)
 Construct the choice of two given parameters, based on a third.
 
 ConditionalParameter (const ConditionalParameter &p)
 
double value (RngPtr rng, Node *node) override
 
double value (RngPtr rng, const std::vector< double > &source_pos, const std::vector< double > &target_pos, const AbstractLayer &layer, Node *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.
 

Protected Attributes

ParameterPTR const condition_
 
ParameterPTR const if_true_
 
ParameterPTR const if_false_
 
- 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

Parameter class choosing a value based on a comparing parameter.

Constructor & Destructor Documentation

◆ ConditionalParameter() [1/2]

nest::ConditionalParameter::ConditionalParameter ( ParameterPTR  condition,
ParameterPTR  if_true,
ParameterPTR  if_false 
)
inline

Construct the choice of two given parameters, based on a third.

Copies are made of the supplied Parameter objects.

◆ ConditionalParameter() [2/2]

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

Member Function Documentation

◆ value() [1/2]

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

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.

References condition_, if_false_, and if_true_.

◆ value() [2/2]

double nest::ConditionalParameter::value ( RngPtr  rng,
Node *  node 
)
inlineoverridevirtual
Returns
the value chosen by the comparison.

Reimplemented from nest::Parameter.

References condition_, if_false_, and if_true_.

Member Data Documentation

◆ condition_

ParameterPTR const nest::ConditionalParameter::condition_
protected

Referenced by value(), and value().

◆ if_false_

ParameterPTR const nest::ConditionalParameter::if_false_
protected

Referenced by value(), and value().

◆ if_true_

ParameterPTR const nest::ConditionalParameter::if_true_
protected

Referenced by value(), and value().


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