23#ifndef SPIKE_GENERATOR_H
24#define SPIKE_GENERATOR_H
274 void update(
Time const&,
const long,
const long )
override;
345 e.set_sender( *
this );
346 return target.handles_test_event( e, receptor_type );
351 e.set_sender( *
this );
352 return target.handles_test_event( e, receptor_type );
382 ptmp.
set( d,
S_, origin,
kernel().simulation_manager.get_time(),
this );
Dictionary class for interface to Python and C++ API.
Definition dictionary.h:213
"Callback request event" for use in Device.
Definition event.h:521
Time const & get_origin() const
Definition device.h:195
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
Event for spike information.
Definition event.h:418
Base class for common properties of StimulationDevices.
Definition stimulation_device.h:154
void enforce_single_syn_type(synindex)
Throws IllegalConnection if synapse id differs from initial synapse id.
Definition stimulation_device.cpp:62
Type
Device type.
Definition stimulation_device.h:187
@ SPIKE_GENERATOR
Definition stimulation_device.h:189
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
Definition nest_time.h:135
Definition spike_generator.h:239
void update(Time const &, const long, const long) override
Advance the state of the node in time through the given interval.
Definition spike_generator.cpp:319
Parameters_ P_
Definition spike_generator.h:333
void pre_run_hook() override
Re-calculate dependent parameters of the node.
Definition spike_generator.cpp:309
spike_generator()
Definition spike_generator.cpp:277
void event_hook(DSSpikeEvent &) override
Modify Event object parameters during event delivery.
Definition spike_generator.cpp:389
void get_status(Dictionary &) const override
Export properties of the node by setting entries in the status dictionary.
Definition spike_generator.h:357
void init_state_() override
Configure state variables depending on runtime information.
Definition spike_generator.cpp:297
StimulationDevice::Type get_type() const override
Definition spike_generator.h:394
void set_status(const Dictionary &) override
Change properties of the node according to the entries in the dictionary.
Definition spike_generator.h:364
void init_buffers_() override
Configure persistent internal data structures.
Definition spike_generator.cpp:303
void set_data_from_stimulation_backend(std::vector< double > &input_spikes) override
Definition spike_generator.cpp:401
State_ S_
Definition spike_generator.h:334
SignalType sends_signal() const override
Definition spike_generator.h:264
size_t send_test_event(Node &, size_t, synindex, bool) override
Send an event to the receiving_node passed as an argument.
Definition spike_generator.h:338
const std::string origin("origin")
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33
KernelManager & kernel()
Definition kernel_manager.h:311
void register_spike_generator(const std::string &name)
Definition spike_generator.cpp:38
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 nest_time.h:255
Definition spike_generator.h:287
Parameters_()
Sets default parameter values.
Definition spike_generator.cpp:47
void get(Dictionary &) const
Store current values in dictionary.
Definition spike_generator.cpp:64
std::vector< long > spike_multiplicities_
Spike multiplicity.
Definition spike_generator.h:296
Parameters_(const Parameters_ &)=default
bool precise_times_
Interpret spike times as precise, i.e. send as step and offset.
Definition spike_generator.h:299
std::vector< Time > spike_stamps_
Spike time stamp as Time, rel to origin_.
Definition spike_generator.h:289
void set(const Dictionary &, State_ &, const Time &, const Time &, Node *node)
Set values from dictionary.
Definition spike_generator.cpp:152
void assert_valid_spike_time_and_insert_(double, const Time &, const Time &)
Insert spike time to arrays, throw BadProperty for invalid spike times.
Definition spike_generator.cpp:87
std::vector< double > spike_weights_
Spike weights as double.
Definition spike_generator.h:294
Parameters_ & operator=(const Parameters_ &)=default
bool shift_now_spikes_
Shift spike times at present to next step.
Definition spike_generator.h:305
bool allow_offgrid_times_
Allow and round up spikes not on steps; irrelevant if precise_times_.
Definition spike_generator.h:302
std::vector< double > spike_offsets_
Spike time offset, if using precise_times_.
Definition spike_generator.h:292
Definition spike_generator.h:279
State_()
Definition spike_generator.cpp:267
size_t position_
index of next spike to deliver
Definition spike_generator.h:281