NEST main@caf0ae8
 
Loading...
Searching...
No Matches
nest::RecordablesMap< HostNode > Class Template Reference

Map names of recordables to data access functions. More...

#include <recordables_map.h>

Inheritance diagram for nest::RecordablesMap< HostNode >:
[legend]
Collaboration diagram for nest::RecordablesMap< HostNode >:
[legend]

Public Types

typedef double(HostNode::* DataAccessFct) () const
 Datatype for access functions.
 

Public Member Functions

virtual ~RecordablesMap ()
 
void create ()
 Create the map.
 
std::vector< std::string > get_list () const
 Obtain list of all recordables, for use by get_status().
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 
void create ()
 

Private Types

typedef std::map< std::string, double(HostNode::*)() const > Base_
 

Private Member Functions

void insert_ (const std::string &n, const DataAccessFct f)
 Insertion functions to be used in create(), adds entry to map and list.
 

Detailed Description

template<typename HostNode>
class nest::RecordablesMap< HostNode >

Map names of recordables to data access functions.

This map identifies the data access functions for recordable state variables in model neurons. Each neuron model shall have exactly one static instance of RecordablesMap.

Note
The map is initialized by the create() member function and not by the constructor because of the following conflict: The recordablesMap_ shall be a private static member of its host class, since the same map applies to all objects. Creation by a constructor leads to static initialization conflicts with the Name class. Thus, creation is deferred to the plain constructor of the host Node class, which is called only once to create the model prototype instance. PYNEST-NG-FUTURE: is this still the case?
See also
multimeter, UniversalDataLogger

Member Typedef Documentation

◆ Base_

template<typename HostNode >
typedef std::map< std::string, double ( HostNode::* )() const > nest::RecordablesMap< HostNode >::Base_
private

◆ DataAccessFct

template<typename HostNode >
typedef double(HostNode::* nest::RecordablesMap< HostNode >::DataAccessFct) () const

Datatype for access functions.

Constructor & Destructor Documentation

◆ ~RecordablesMap()

template<typename HostNode >
virtual nest::RecordablesMap< HostNode >::~RecordablesMap ( )
inlinevirtual

Member Function Documentation

◆ create() [1/70]

void nest::RecordablesMap< ac_generator >::create ( )

References nest::ac_generator::get_I_(), and nest::names::I().

Here is the call graph for this function:

◆ create() [2/70]

◆ create() [3/70]

void nest::RecordablesMap< dc_generator >::create ( )

References nest::dc_generator::get_I_(), and nest::names::I().

Here is the call graph for this function:

◆ create() [4/70]

◆ create() [5/70]

◆ create() [6/70]

◆ create() [7/70]

◆ create() [8/70]

◆ create() [9/70]

◆ create() [10/70]

◆ create() [11/70]

◆ create() [12/70]

void nest::RecordablesMap< erfc_neuron >::create ( )

References nest::binary_neuron< TGainfunction >::get_input__(), nest::binary_neuron< TGainfunction >::get_output_state__(), nest::names::h(), and nest::names::S().

Here is the call graph for this function:

◆ create() [13/70]

void nest::RecordablesMap< erfc_neuron >::create ( )

◆ create() [14/70]

void nest::RecordablesMap< gauss_rate_ipn >::create ( )

References nest::rate_neuron_ipn< TNonlinearities >::get_noise_(), nest::rate_neuron_ipn< TNonlinearities >::get_rate_(), nest::names::noise(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [15/70]

References nest::rate_transformer_node< TNonlinearities >::get_rate_(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [16/70]

void nest::RecordablesMap< gauss_rate_ipn >::create ( )

◆ create() [17/70]

◆ create() [18/70]

void nest::RecordablesMap< gif_psc_exp >::create ( )

References nest::names::E_sfa(), nest::gif_psc_exp::get_E_sfa_(), nest::gif_psc_exp::get_I_stc_(), nest::gif_psc_exp::get_I_syn_ex_(), nest::gif_psc_exp::get_I_syn_in_(), nest::gif_psc_exp::get_V_m_(), nest::names::I_stc(), nest::names::I_syn_ex(), nest::names::I_syn_in(), and nest::names::V_m().

Here is the call graph for this function:

◆ create() [19/70]

References nest::names::E_sfa(), nest::gif_psc_exp_multisynapse::get_E_sfa_(), nest::gif_psc_exp_multisynapse::get_I_stc_(), nest::gif_psc_exp_multisynapse::get_V_m_(), nest::names::I_stc(), and nest::names::V_m().

Here is the call graph for this function:

◆ create() [20/70]

References nest::binary_neuron< TGainfunction >::get_input__(), nest::binary_neuron< TGainfunction >::get_output_state__(), nest::names::h(), and nest::names::S().

Here is the call graph for this function:

◆ create() [21/70]

◆ create() [22/70]

◆ create() [23/70]

◆ create() [24/70]

void nest::RecordablesMap< iaf_chs_2007 >::create ( )

References nest::iaf_chs_2007::get_V_m_(), and nest::names::V_m().

Here is the call graph for this function:

◆ create() [25/70]

void nest::RecordablesMap< iaf_psc_alpha >::create ( )

References nest::iaf_psc_alpha::get_I_syn_ex_(), nest::iaf_psc_alpha::get_I_syn_in_(), nest::iaf_psc_alpha::get_V_m_(), nest::names::I_syn_ex(), nest::names::I_syn_in(), and nest::names::V_m().

Here is the call graph for this function:

◆ create() [26/70]

References nest::iaf_psc_alpha_ps::get_I_ex_(), nest::iaf_psc_alpha_ps::get_I_in_(), nest::iaf_psc_alpha_ps::get_V_m_(), nest::names::I_syn_ex(), nest::names::I_syn_in(), and nest::names::V_m().

Here is the call graph for this function:

◆ create() [27/70]

void nest::RecordablesMap< iaf_psc_delta >::create ( )

References nest::iaf_psc_delta::get_V_m_(), and nest::names::V_m().

Here is the call graph for this function:

◆ create() [28/70]

References nest::iaf_psc_delta_ps::get_V_m_(), and nest::names::V_m().

Here is the call graph for this function:

◆ create() [29/70]

void nest::RecordablesMap< iaf_psc_exp >::create ( )

References nest::iaf_psc_exp::get_I_syn_ex_(), nest::iaf_psc_exp::get_I_syn_in_(), nest::iaf_psc_exp::get_V_m_(), nest::names::I_syn_ex(), nest::names::I_syn_in(), and nest::names::V_m().

Here is the call graph for this function:

◆ create() [30/70]

References nest::iaf_psc_exp_htum::get_I_syn_ex_(), nest::iaf_psc_exp_htum::get_I_syn_in_(), nest::iaf_psc_exp_htum::get_V_m_(), nest::names::I_syn_ex(), nest::names::I_syn_in(), and nest::names::V_m().

Here is the call graph for this function:

◆ create() [31/70]

void nest::RecordablesMap< iaf_psc_exp_ps >::create ( )

References nest::iaf_psc_exp_ps::get_V_m_(), and nest::names::V_m().

Here is the call graph for this function:

◆ create() [32/70]

◆ create() [33/70]

void nest::RecordablesMap< iaf_tum_2000 >::create ( )

References nest::iaf_tum_2000::get_I_syn_ex_(), nest::iaf_tum_2000::get_I_syn_in_(), nest::iaf_tum_2000::get_V_m_(), nest::names::I_syn_ex(), nest::names::I_syn_in(), and nest::names::V_m().

Here is the call graph for this function:

◆ create() [34/70]

◆ create() [35/70]

void nest::RecordablesMap< izhikevich >::create ( )

References nest::izhikevich::get_U_m_(), nest::izhikevich::get_V_m_(), nest::names::U_m(), and nest::names::V_m().

Here is the call graph for this function:

◆ create() [36/70]

void nest::RecordablesMap< lin_rate_ipn >::create ( )

References nest::rate_neuron_ipn< TNonlinearities >::get_noise_(), nest::rate_neuron_ipn< TNonlinearities >::get_rate_(), nest::names::noise(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [37/70]

void nest::RecordablesMap< lin_rate_opn >::create ( )

References nest::rate_neuron_opn< TNonlinearities >::get_noise_(), nest::rate_neuron_opn< TNonlinearities >::get_noisy_rate_(), nest::rate_neuron_opn< TNonlinearities >::get_rate_(), nest::names::noise(), nest::names::noisy_rate(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [38/70]

References nest::rate_transformer_node< TNonlinearities >::get_rate_(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [39/70]

void nest::RecordablesMap< lin_rate_ipn >::create ( )

◆ create() [40/70]

void nest::RecordablesMap< lin_rate_opn >::create ( )

◆ create() [41/70]

◆ create() [42/70]

void nest::RecordablesMap< mat2_psc_exp >::create ( )

References nest::mat2_psc_exp::get_V_m_(), nest::mat2_psc_exp::get_V_th_(), nest::names::V_m(), and nest::names::V_th().

Here is the call graph for this function:

◆ create() [43/70]

References nest::binary_neuron< TGainfunction >::get_input__(), nest::binary_neuron< TGainfunction >::get_output_state__(), nest::names::h(), and nest::names::S().

Here is the call graph for this function:

◆ create() [44/70]

◆ create() [45/70]

References nest::noise_generator::get_I_avg_(), and nest::names::I().

Here is the call graph for this function:

◆ create() [46/70]

void nest::RecordablesMap< pp_psc_delta >::create ( )

References nest::names::E_sfa(), nest::pp_psc_delta::get_E_sfa_(), nest::pp_psc_delta::get_V_m_(), and nest::names::V_m().

Here is the call graph for this function:

◆ create() [47/70]

References nest::rate_neuron_ipn< TNonlinearities >::get_noise_(), nest::rate_neuron_ipn< TNonlinearities >::get_rate_(), nest::names::noise(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [48/70]

References nest::rate_transformer_node< TNonlinearities >::get_rate_(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [49/70]

◆ create() [50/70]

◆ create() [51/70]

References nest::rate_neuron_ipn< TNonlinearities >::get_noise_(), nest::rate_neuron_ipn< TNonlinearities >::get_rate_(), nest::names::noise(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [52/70]

References nest::rate_transformer_node< TNonlinearities >::get_rate_(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [53/70]

◆ create() [54/70]

◆ create() [55/70]

References nest::sinusoidal_poisson_generator::get_rate_(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [56/70]

References nest::step_current_generator::get_I_(), and nest::names::I().

Here is the call graph for this function:

◆ create() [57/70]

References nest::step_rate_generator::get_rate_(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [58/70]

void nest::RecordablesMap< tanh_rate_ipn >::create ( )

References nest::rate_neuron_ipn< TNonlinearities >::get_noise_(), nest::rate_neuron_ipn< TNonlinearities >::get_rate_(), nest::names::noise(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [59/70]

void nest::RecordablesMap< tanh_rate_opn >::create ( )

References nest::rate_neuron_opn< TNonlinearities >::get_noise_(), nest::rate_neuron_opn< TNonlinearities >::get_noisy_rate_(), nest::rate_neuron_opn< TNonlinearities >::get_rate_(), nest::names::noise(), nest::names::noisy_rate(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [60/70]

References nest::rate_transformer_node< TNonlinearities >::get_rate_(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [61/70]

void nest::RecordablesMap< tanh_rate_ipn >::create ( )

◆ create() [62/70]

void nest::RecordablesMap< tanh_rate_opn >::create ( )

◆ create() [63/70]

◆ create() [64/70]

References nest::rate_neuron_ipn< TNonlinearities >::get_noise_(), nest::rate_neuron_ipn< TNonlinearities >::get_rate_(), nest::names::noise(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [65/70]

References nest::rate_neuron_opn< TNonlinearities >::get_noise_(), nest::rate_neuron_opn< TNonlinearities >::get_noisy_rate_(), nest::rate_neuron_opn< TNonlinearities >::get_rate_(), nest::names::noise(), nest::names::noisy_rate(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [66/70]

References nest::rate_transformer_node< TNonlinearities >::get_rate_(), and nest::names::rate().

Here is the call graph for this function:

◆ create() [67/70]

◆ create() [68/70]

◆ create() [69/70]

◆ create() [70/70]

template<typename HostNode >
void nest::RecordablesMap< HostNode >::create ( )

Create the map.

This function must be specialized for each class owning a Recordables map and must fill the map. This should happen as part of the original constructor for the Node.

◆ get_list()

template<typename HostNode >
std::vector< std::string > nest::RecordablesMap< HostNode >::get_list ( ) const
inline

Obtain list of all recordables, for use by get_status().

Todo:
This fct should return the recordables_ entry, but since filling recordables_ leads to seg fault on exit, we just build the list every time, even though that beats the goal of being more efficient ...

◆ insert_()

template<typename HostNode >
void nest::RecordablesMap< HostNode >::insert_ ( const std::string &  n,
const DataAccessFct  f 
)
inlineprivate

Insertion functions to be used in create(), adds entry to map and list.


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