23#ifndef OU_NOISE_GENERATOR_H
24#define OU_NOISE_GENERATOR_H
158 void update(
Time const&,
const long,
const long )
override;
253 if (
kernel().vp_manager.get_num_threads() > 1 )
255 throw KernelException(
"Recording from a ou_noise_generator is only possible in single-threaded mode." );
258 if ( receptor_type != 0 )
279 ptmp.
set( d, *
this,
this );
Dictionary class for interface to Python and C++ API.
Definition dictionary.h:213
"Callback request event" for use in Device.
Definition event.h:615
Request data to be logged/logged data to be sent.
Definition event.h:636
Base class for all Kernel exceptions.
Definition exceptions.h:65
Base class for all NEST network objects.
Definition node.h:99
virtual void event_hook(DSSpikeEvent &)
Modify Event object parameters during event delivery.
Definition node.cpp:586
virtual SignalType sends_signal() const
Definition node.h:963
std::string get_name() const
Return class name.
Definition node.cpp:105
Map names of recordables to data access functions.
Definition recordables_map.h:61
Base class for common properties of StimulationDevices.
Definition stimulation_device.h:154
Type
Device type.
Definition stimulation_device.h:192
@ CURRENT_GENERATOR
Definition stimulation_device.h:193
void set_status(const Dictionary &) override
Change properties of the node according to the entries in the dictionary.
Definition stimulation_device.cpp:125
void get_status(Dictionary &d) const override
Export properties of the node by setting entries in the status dictionary.
Definition stimulation_device.cpp:168
Class to convert times from one representation to another.
Definition nest_timeconverter.h:42
Definition nest_time.h:135
static Time get_resolution()
Definition nest_time.h:325
Exception to be thrown if the specified receptor type does not exist in the node.
Definition exceptions.h:417
Definition ou_noise_generator.h:113
std::vector< double > AmpVec_
Definition ou_noise_generator.h:163
State_ S_
Definition ou_noise_generator.h:245
void update(Time const &, const long, const long) override
Advance the state of the node in time through the given interval.
Definition ou_noise_generator.cpp:271
static RecordablesMap< ou_noise_generator > recordablesMap_
Definition ou_noise_generator.h:242
Parameters_ P_
Definition ou_noise_generator.h:244
void calibrate_time(const TimeConverter &tc) override
Re-calculate time-based properties of the node.
Definition ou_noise_generator.cpp:376
void get_status(Dictionary &) const override
Export properties of the node by setting entries in the status dictionary.
Definition ou_noise_generator.h:266
size_t handles_test_event(DataLoggingRequest &, size_t) override
Definition ou_noise_generator.h:251
SignalType sends_signal() const override
Definition ou_noise_generator.h:292
double get_I_avg_() const
Definition ou_noise_generator.h:235
void set_status(const Dictionary &) override
Change properties of the node according to the entries in the dictionary.
Definition ou_noise_generator.h:275
void init_buffers_() override
Configure persistent internal data structures.
Definition ou_noise_generator.cpp:194
Variables_ V_
Definition ou_noise_generator.h:247
ou_noise_generator()
Definition ou_noise_generator.cpp:165
size_t send_test_event(Node &, size_t, synindex, bool) override
Send an event to the receiving_node passed as an argument.
Definition ou_noise_generator.cpp:244
void pre_run_hook() override
Recalculates parameters and forces reinitialization of amplitudes if number of targets has changed.
Definition ou_noise_generator.cpp:206
Buffers_ B_
Definition ou_noise_generator.h:246
void handle(DataLoggingRequest &) override
Handler for universal data logging request.
Definition ou_noise_generator.cpp:341
void set_data_from_stimulation_backend(std::vector< double > &input_param) override
Definition ou_noise_generator.cpp:351
bool local_receiver() const override
Allow multimeter to connect to local instances.
Definition ou_noise_generator.h:298
void event_hook(DSCurrentEvent &) override
Definition ou_noise_generator.cpp:328
void init_state_() override
Configure state variables depending on runtime information.
Definition ou_noise_generator.cpp:188
StimulationDevice::Type get_type() const override
Definition ou_noise_generator.h:304
friend class UniversalDataLogger< ou_noise_generator >
Definition ou_noise_generator.h:208
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 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
KernelManager & kernel()
Definition kernel_manager.h:311
void register_ou_noise_generator(const std::string &name)
Definition ou_noise_generator.cpp:43
SignalType
enum type of signal conveyed by spike events of a node.
Definition nest_types.h:165
@ ALL
Definition nest_types.h:169
size_t synindex
For enumerations of synapse types.
Definition nest_types.h:115
Definition ou_noise_generator.h:213
UniversalDataLogger< ou_noise_generator > logger_
Definition ou_noise_generator.h:218
long next_step_
time step of next change in current
Definition ou_noise_generator.h:214
AmpVec_ amps_
amplitudes, one per target
Definition ou_noise_generator.h:215
Store independent parameters of the model.
Definition ou_noise_generator.h:169
double mean_
mean current, in pA
Definition ou_noise_generator.h:170
Time get_default_dt()
Definition ou_noise_generator.h:310
size_t num_targets_
Number of targets.
Definition ou_noise_generator.h:181
double std_
standard deviation of current, in pA
Definition ou_noise_generator.h:171
Time dt_
time interval between updates
Definition ou_noise_generator.h:173
void get(Dictionary &) const
Store current values in dictionary.
Definition ou_noise_generator.cpp:126
Parameters_()
Sets default parameter values.
Definition ou_noise_generator.cpp:62
void set(const Dictionary &, const ou_noise_generator &, Node *node)
Set values from dictionary.
Definition ou_noise_generator.cpp:135
double tau_
OU time constant, in ms.
Definition ou_noise_generator.h:172
Parameters_ & operator=(const Parameters_ &p)
Definition ou_noise_generator.cpp:89
Definition ou_noise_generator.h:197
double I_avg_
Average of instantaneous currents computed Used for recording current.
Definition ou_noise_generator.h:198
State_()
Sets default parameter values.
Definition ou_noise_generator.cpp:104
Definition ou_noise_generator.h:224
long dt_steps_
update interval in steps
Definition ou_noise_generator.h:227
normal_distribution normal_dist_
normal distribution
Definition ou_noise_generator.h:225
double prop_
propagator exp(-dt/tau)
Definition ou_noise_generator.h:228
double mean_weight_
weight for mean contribution
Definition ou_noise_generator.h:230
double noise_amp_
noise amplitude for one update, in pA
Definition ou_noise_generator.h:229
double mean_incr_
precomputed mean contribution per step
Definition ou_noise_generator.h:231