23#ifndef IAF_PSC_DELTA_PS_H
24#define IAF_PSC_DELTA_PS_H
207 void update(
Time const&,
const long,
const long )
override;
218 void emit_spike_(
Time const& origin,
const long lag,
const double offset_U );
400 e.set_sender( *
this );
401 return target.handles_test_event( e, receptor_type );
407 if ( receptor_type != 0 )
417 if ( receptor_type != 0 )
427 if ( receptor_type != 0 )
448 const double delta_EL = ptmp.
set( d,
this );
450 stmp.
set( d, ptmp, delta_EL,
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
Event for electrical currents.
Definition event.h:569
Request data to be logged/logged data to be sent.
Definition event.h:636
Base class for all NEST network objects.
Definition node.h:99
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
Buffer Layout.
Definition ring_buffer.h:83
Queue for all spikes arriving into a neuron.
Definition slice_ring_buffer.h:63
Event for spike information.
Definition event.h:418
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 iaf_psc_delta_ps.h:153
void init_buffers_() override
Configure persistent internal data structures.
Definition iaf_psc_delta_ps.cpp:233
void emit_instant_spike_(Time const &origin, const long lag, const double spike_offset)
Instantaneously emit a spike at the precise time defined by origin, lag and spike_offset and reset th...
Definition iaf_psc_delta_ps.cpp:486
void handle(SpikeEvent &) override
Handle incoming spike events.
Definition iaf_psc_delta_ps.cpp:506
Buffers_ B_
Definition iaf_psc_delta_ps.h:388
friend class UniversalDataLogger< iaf_psc_delta_ps >
Definition iaf_psc_delta_ps.h:287
void update(Time const &, const long, const long) override
Advance the state of the node in time through the given interval.
Definition iaf_psc_delta_ps.cpp:263
void set_status(const Dictionary &) override
Change properties of the node according to the entries in the dictionary.
Definition iaf_psc_delta_ps.h:445
size_t handles_test_event(SpikeEvent &, size_t) override
Check if the node can handle a particular event and receptor type.
Definition iaf_psc_delta_ps.h:405
void pre_run_hook() override
Re-calculate dependent parameters of the node.
Definition iaf_psc_delta_ps.cpp:244
void propagate_(const double dt)
Propagate neuron state.
Definition iaf_psc_delta_ps.cpp:450
Parameters_ P_
Instances of private data structures for the different types of data pertaining to the model.
Definition iaf_psc_delta_ps.h:385
static RecordablesMap< iaf_psc_delta_ps > recordablesMap_
Mapping of recordables names to access functions.
Definition iaf_psc_delta_ps.h:392
size_t send_test_event(Node &, size_t, synindex, bool) override
Send an event to the receiving_node passed as an argument.
Definition iaf_psc_delta_ps.h:397
bool is_off_grid() const override
Returns true if the node sends/receives off-grid events.
Definition iaf_psc_delta_ps.h:190
void emit_spike_(Time const &origin, const long lag, const double offset_U)
Calculate the precise spike time, emit the spike and reset the neuron.
Definition iaf_psc_delta_ps.cpp:462
Variables_ V_
Definition iaf_psc_delta_ps.h:387
double get_V_m_() const
Read out the real membrane potential.
Definition iaf_psc_delta_ps.h:372
void get_status(Dictionary &) const override
Export properties of the node by setting entries in the status dictionary.
Definition iaf_psc_delta_ps.h:435
State_ S_
Definition iaf_psc_delta_ps.h:386
iaf_psc_delta_ps()
Basic constructor.
Definition iaf_psc_delta_ps.cpp:211
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_iaf_psc_delta_ps(const std::string &name)
Definition iaf_psc_delta_ps.cpp:45
size_t synindex
For enumerations of synapse types.
Definition nest_types.h:115
Buffers of the model.
Definition iaf_psc_delta_ps.h:327
UniversalDataLogger< iaf_psc_delta_ps > logger_
Logger for all analog data.
Definition iaf_psc_delta_ps.h:344
RingBuffer currents_
Queue for incoming current events.
Definition iaf_psc_delta_ps.h:341
SliceRingBuffer events_
Queue for incoming events.
Definition iaf_psc_delta_ps.h:336
Independent parameters of the model.
Definition iaf_psc_delta_ps.h:243
double tau_m_
Membrane time constant in ms.
Definition iaf_psc_delta_ps.h:246
double E_L_
Resting potential in mV.
Definition iaf_psc_delta_ps.h:255
double I_e_
External DC current [pA].
Definition iaf_psc_delta_ps.h:258
Parameters_()
Sets default parameter values.
Definition iaf_psc_delta_ps.cpp:72
double c_m_
Membrane capacitance in pF.
Definition iaf_psc_delta_ps.h:249
void get(Dictionary &) const
Store current values in dictionary.
Definition iaf_psc_delta_ps.cpp:99
double set(const Dictionary &, Node *)
Set values from dictionary.
Definition iaf_psc_delta_ps.cpp:112
double U_reset_
Reset potential.
Definition iaf_psc_delta_ps.h:272
double U_th_
Threshold, RELATIVE TO RESTING POTENTIAL(!).
Definition iaf_psc_delta_ps.h:262
double t_ref_
Refractory period in ms.
Definition iaf_psc_delta_ps.h:252
double U_min_
Lower bound, RELATIVE TO RESTING POTENTIAL(!).
Definition iaf_psc_delta_ps.h:266
State variables of the model.
Definition iaf_psc_delta_ps.h:295
void get(Dictionary &, const Parameters_ &) const
Definition iaf_psc_delta_ps.cpp:177
double U_
This is the membrane potential RELATIVE TO RESTING POTENTIAL.
Definition iaf_psc_delta_ps.h:297
long last_spike_step_
step of last spike, for reporting in status dict
Definition iaf_psc_delta_ps.h:301
bool with_refr_input_
spikes arriving during refractory period are counted
Definition iaf_psc_delta_ps.h:306
State_()
Default initialization.
Definition iaf_psc_delta_ps.cpp:84
double I_
This is the current to be applied during this time step.
Definition iaf_psc_delta_ps.h:298
double last_spike_offset_
offset of last spike, for reporting in status dict
Definition iaf_psc_delta_ps.h:302
bool is_refractory_
flag for refractoriness
Definition iaf_psc_delta_ps.h:305
void set(const Dictionary &, const Parameters_ &, double, Node *)
Set values from dictionary.
Definition iaf_psc_delta_ps.cpp:185
Internal variables of the model.
Definition iaf_psc_delta_ps.h:353
double exp_t_
$ e^{-t/\tau_m} $
Definition iaf_psc_delta_ps.h:354
double expm1_t_
$ e^{-t/\tau_m} - 1 $
Definition iaf_psc_delta_ps.h:355
long refractory_steps_
refractory time in steps
Definition iaf_psc_delta_ps.h:360
double R_
$ \frac{\tau_m}{c_m} $
Definition iaf_psc_delta_ps.h:356
double refr_spikes_buffer_
Accumulate spikes arriving during refractory period, discounted for decay until end of refractory per...
Definition iaf_psc_delta_ps.h:365
double h_ms_
duration of time step [ms]
Definition iaf_psc_delta_ps.h:358