23#ifndef RATE_NEURON_IPN_H
24#define RATE_NEURON_IPN_H
107template <
class TNonlinearities >
155 bool update_(
Time const&,
const long,
const long,
const bool );
157 void update(
Time const&,
const long,
const long )
override;
162 friend class UniversalDataLogger<
rate_neuron_ipn< TNonlinearities > >;
254 UniversalDataLogger< rate_neuron_ipn >
logger_;
299template <
class TNonlinearities >
303 update_( origin, from, to,
false );
306template <
class TNonlinearities >
311 const bool wfr_tol_exceeded = update_( origin, from, to,
true );
314 return not wfr_tol_exceeded;
317template <
class TNonlinearities >
321 if ( receptor_type != 0 )
328template <
class TNonlinearities >
332 if ( receptor_type != 0 )
339template <
class TNonlinearities >
343 if ( receptor_type != 0 )
347 return B_.logger_.connect_logging_device( dlr, recordablesMap_ );
350template <
class TNonlinearities >
359 nonlinearities_.get( d );
362template <
class TNonlinearities >
381 nonlinearities_.
set( d,
this );
Dictionary class for interface to Python and C++ API.
Definition dictionary.h:213
A node which archives spike history for the purposes of spike-timing dependent plasticity (STDP)
Definition archiving_node.h:49
void get_status(Dictionary &d) const override
Export properties of the node by setting entries in the status dictionary.
Definition archiving_node.cpp:220
void set_status(const Dictionary &d) override
Change properties of the node according to the entries in the dictionary.
Definition archiving_node.cpp:236
Request data to be logged/logged data to be sent.
Definition event.h:636
Event for rate model connections with delay.
Definition secondary_event.h:331
Event for rate model connections without delay.
Definition secondary_event.h:315
Base class for all NEST network objects.
Definition node.h:99
Map names of recordables to data access functions.
Definition recordables_map.h:61
Buffer Layout.
Definition ring_buffer.h:83
Definition nest_time.h:135
Exception to be thrown if the specified receptor type does not exist in the node.
Definition exceptions.h:417
Definition rate_neuron_ipn.h:109
double get_noise_() const
Read out the noise.
Definition rate_neuron_ipn.h:283
bool wfr_update(Time const &, const long, const long) override
Advance the state of the node in time through the given interval (see Node::update() for more details...
Definition rate_neuron_ipn.h:308
void init_buffers_() override
Configure persistent internal data structures.
Definition rate_neuron_ipn_impl.h:211
bool update_(Time const &, const long, const long, const bool)
This is the actual update function.
Definition rate_neuron_ipn_impl.h:263
rate_neuron_ipn()
Definition rate_neuron_ipn_impl.h:184
State_ S_
Definition rate_neuron_ipn.h:291
void set_status(const Dictionary &) override
Change properties of the node according to the entries in the dictionary.
Definition rate_neuron_ipn.h:364
Node base
Definition rate_neuron_ipn.h:112
Parameters_ P_
Definition rate_neuron_ipn.h:290
Buffers_ B_
Definition rate_neuron_ipn.h:293
Variables_ V_
Definition rate_neuron_ipn.h:292
void sends_secondary_event(InstantaneousRateConnectionEvent &) override
Required to check, if source neuron may send a SecondaryEvent.
Definition rate_neuron_ipn.h:135
double get_rate_() const
Read out the rate.
Definition rate_neuron_ipn.h:276
void sends_secondary_event(DelayedRateConnectionEvent &) override
Required to check, if source neuron may send a SecondaryEvent.
Definition rate_neuron_ipn.h:139
static RecordablesMap< rate_neuron_ipn< TNonlinearities > > recordablesMap_
Mapping of recordables names to access functions.
Definition rate_neuron_ipn.h:296
TNonlinearities nonlinearities_
Definition rate_neuron_ipn.h:150
void get_status(Dictionary &) const override
Export properties of the node by setting entries in the status dictionary.
Definition rate_neuron_ipn.h:352
size_t handles_test_event(InstantaneousRateConnectionEvent &, size_t) override
Definition rate_neuron_ipn.h:319
void update(Time const &, const long, const long) override
Advance the state of the node in time through the given interval.
Definition rate_neuron_ipn.h:301
void pre_run_hook() override
Re-calculate dependent parameters of the node.
Definition rate_neuron_ipn_impl.h:235
void handle(InstantaneousRateConnectionEvent &) override
Handler for rate neuron events.
Definition rate_neuron_ipn_impl.h:392
virtual size_t handles_test_event(SpikeEvent &, size_t receptor_type)
Check if the node can handle a particular event and receptor type.
Definition node.cpp:271
virtual void sends_secondary_event(GapJunctionEvent &ge)
Required to check, if source neuron may send a SecondaryEvent.
Definition node.cpp:381
virtual void handle(SpikeEvent &e)
Handle incoming spike events.
Definition node.cpp:265
const std::string recordables("recordables")
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33
Declarations for base class Node.
Buffers of the model.
Definition rate_neuron_ipn.h:237
RingBuffer delayed_rates_ex_
buffer for rate vector received by
Definition rate_neuron_ipn.h:241
std::vector< double > instant_rates_in_
buffer for rate vector received
Definition rate_neuron_ipn.h:247
std::vector< double > instant_rates_ex_
buffer for rate vector received
Definition rate_neuron_ipn.h:245
std::vector< double > random_numbers
remembers the random_numbers in
Definition rate_neuron_ipn.h:250
RingBuffer delayed_rates_in_
buffer for rate vector received by
Definition rate_neuron_ipn.h:243
std::vector< double > last_y_values
remembers y_values from last wfr_update
Definition rate_neuron_ipn.h:249
UniversalDataLogger< rate_neuron_ipn > logger_
Logger for all analog data.
Definition rate_neuron_ipn.h:254
Independent parameters of the model.
Definition rate_neuron_ipn.h:170
double rectify_rate_
Minimum rate.
Definition rate_neuron_ipn.h:184
double lambda_
Passive decay rate in ms.
Definition rate_neuron_ipn.h:175
double tau_
Time constant in ms.
Definition rate_neuron_ipn.h:172
void get(Dictionary &) const
Store current values in dictionary.
Definition rate_neuron_ipn_impl.h:87
double mu_
Mean input.
Definition rate_neuron_ipn.h:181
Parameters_()
Sets default parameter values.
Definition rate_neuron_ipn_impl.h:61
double sigma_
Noise parameter.
Definition rate_neuron_ipn.h:178
bool linear_summation_
Target of non-linearity.
Definition rate_neuron_ipn.h:190
void set(const Dictionary &, Node *node)
Definition rate_neuron_ipn_impl.h:105
bool mult_coupling_
use multiplicative coupling? Default is false
Definition rate_neuron_ipn.h:200
bool rectify_output_
Should the rate be rectified?.
Definition rate_neuron_ipn.h:197
State variables of the model.
Definition rate_neuron_ipn.h:215
State_()
Default initialization.
Definition rate_neuron_ipn_impl.h:75
void set(const Dictionary &, Node *node)
Set values from dictionary.
Definition rate_neuron_ipn_impl.h:162
double noise_
Noise.
Definition rate_neuron_ipn.h:217
double rate_
Rate.
Definition rate_neuron_ipn.h:216
void get(Dictionary &) const
Definition rate_neuron_ipn_impl.h:154
Internal variables of the model.
Definition rate_neuron_ipn.h:263
normal_distribution normal_dist_
normal distribution
Definition rate_neuron_ipn.h:271
double P2_
Definition rate_neuron_ipn.h:266
double P1_
Definition rate_neuron_ipn.h:265
double input_noise_factor_
Definition rate_neuron_ipn.h:269