23#ifndef NOISE_GENERATOR_H
24#define NOISE_GENERATOR_H
198 void update(
Time const&,
const long,
const long )
override;
303 if (
kernel().vp_manager.get_num_threads() > 1 )
305 throw KernelException(
"Recording from a noise_generator is only possible in single-threaded mode." );
308 if ( receptor_type != 0 )
330 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:187
@ CURRENT_GENERATOR
Definition stimulation_device.h:188
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 noise_generator.h:152
void handle(DataLoggingRequest &) override
Handler for universal data logging request.
Definition noise_generator.cpp:357
StimulationDevice::Type get_type() const override
Definition noise_generator.h:355
Buffers_ B_
Definition noise_generator.h:296
noise_generator()
Definition noise_generator.cpp:187
friend class UniversalDataLogger< noise_generator >
Definition noise_generator.h:254
bool local_receiver() const override
Allow multimeter to connect to local instances.
Definition noise_generator.h:349
void update(Time const &, const long, const long) override
Advance the state of the node in time through the given interval.
Definition noise_generator.cpp:293
void init_buffers_() override
Configure persistent internal data structures.
Definition noise_generator.cpp:216
void get_status(Dictionary &) const override
Export properties of the node by setting entries in the status dictionary.
Definition noise_generator.h:316
void set_data_from_stimulation_backend(std::vector< double > &input_param) override
Definition noise_generator.cpp:367
void init_state_() override
Configure state variables depending on runtime information.
Definition noise_generator.cpp:210
size_t handles_test_event(DataLoggingRequest &, size_t) override
Definition noise_generator.h:301
Parameters_ P_
Definition noise_generator.h:294
void set_status(const Dictionary &) override
Change properties of the node according to the entries in the dictionary.
Definition noise_generator.h:326
void calibrate_time(const TimeConverter &tc) override
Re-calculate time-based properties of the node.
Definition noise_generator.cpp:395
void pre_run_hook() override
Recalculates parameters and forces reinitialization of amplitudes if number of targets has changed.
Definition noise_generator.cpp:227
State_ S_
Definition noise_generator.h:295
static RecordablesMap< noise_generator > recordablesMap_
Definition noise_generator.h:292
std::vector< double > AmpVec_
Definition noise_generator.h:203
double get_I_avg_() const
Definition noise_generator.h:285
Variables_ V_
Definition noise_generator.h:297
void event_hook(DSCurrentEvent &) override
Definition noise_generator.cpp:344
SignalType sends_signal() const override
Definition noise_generator.h:343
size_t send_test_event(Node &, size_t, synindex, bool) override
Send an event to the receiving_node passed as an argument.
Definition noise_generator.cpp:266
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
void register_noise_generator(const std::string &name)
Definition noise_generator.cpp:41
KernelManager & kernel()
Definition kernel_manager.h:311
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 noise_generator.h:259
long next_step_
time step of next change in current
Definition noise_generator.h:260
AmpVec_ amps_
amplitudes, one per target
Definition noise_generator.h:261
UniversalDataLogger< noise_generator > logger_
Definition noise_generator.h:264
Store independent parameters of the model.
Definition noise_generator.h:209
double mean_
mean current, in pA
Definition noise_generator.h:210
double std_
standard deviation of current, in pA
Definition noise_generator.h:211
double std_mod_
standard deviation of current modulation, in pA
Definition noise_generator.h:212
Time get_default_dt()
Definition noise_generator.h:361
void get(Dictionary &) const
Store current values in dictionary.
Definition noise_generator.cpp:131
Parameters_()
Sets default parameter values.
Definition noise_generator.cpp:59
double freq_
Standard frequency in Hz.
Definition noise_generator.h:213
size_t num_targets_
Number of targets.
Definition noise_generator.h:223
Time dt_
time interval between updates
Definition noise_generator.h:215
double phi_deg_
Phase of sinusodial noise modulation (0-360 deg)
Definition noise_generator.h:214
Parameters_ & operator=(const Parameters_ &p)
Definition noise_generator.cpp:90
void set(const Dictionary &, const noise_generator &, Node *node)
Set values from dictionary.
Definition noise_generator.cpp:149
Definition noise_generator.h:239
double I_avg_
Average of instantaneous currents computed Used for recording current.
Definition noise_generator.h:242
double y_1_
Definition noise_generator.h:241
double y_0_
Definition noise_generator.h:240
void get(Dictionary &) const
Store current values in dictionary.
Definition noise_generator.cpp:142
State_()
Sets default parameter values.
Definition noise_generator.cpp:107
Definition noise_generator.h:270
double A_11_
Definition noise_generator.h:281
double A_10_
Definition noise_generator.h:280
double A_00_
Definition noise_generator.h:278
double phi_rad_
phase of sine current (0-2Pi rad)
Definition noise_generator.h:275
double A_01_
Definition noise_generator.h:279
double omega_
frequency [radian/s]
Definition noise_generator.h:274
normal_distribution normal_dist_
normal distribution
Definition noise_generator.h:271
long dt_steps_
update interval in steps
Definition noise_generator.h:273