23#ifndef IAF_PSC_EXP_PS_LOSSLESS_H
24#define IAF_PSC_EXP_PS_LOSSLESS_H
209 void update(
Time const& origin,
const long from,
const long to )
override;
233 void emit_spike_(
const Time& origin,
const long lag,
const double t0,
const double dt );
453 e.set_sender( *
this );
454 return target.handles_test_event( e, receptor_type );
460 if ( receptor_type != 0 )
470 if ( receptor_type != 0 )
480 if ( receptor_type != 0 )
501 double delta_EL = ptmp.
set( d,
this );
503 stmp.
set( d, ptmp, delta_EL,
this );
Dictionary class for interface to Python and C++ API.
Definition dictionary.h:213
Exact integration voltage propagator for models with exponential psc.
Definition iaf_propagator.h:101
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_exp_ps_lossless.h:128
void init_buffers_() override
Configure persistent internal data structures.
Definition iaf_psc_exp_ps_lossless.cpp:263
void get_status(Dictionary &) const override
Export properties of the node by setting entries in the status dictionary.
Definition iaf_psc_exp_ps_lossless.h:488
void set_status(const Dictionary &) override
Change properties of the node according to the entries in the dictionary.
Definition iaf_psc_exp_ps_lossless.h:498
iaf_psc_exp_ps_lossless()
Basic constructor.
Definition iaf_psc_exp_ps_lossless.cpp:241
double is_spike_(const double)
Retrospective spike detection by state space analysis.
Definition iaf_psc_exp_ps_lossless.cpp:595
void emit_instant_spike_(const Time &origin, const long lag, const double spike_offset)
Emit a single spike at a precisely given time.
Definition iaf_psc_exp_ps_lossless.cpp:560
void update(Time const &origin, const long from, const long to) override
Time Evolution Operator.
Definition iaf_psc_exp_ps_lossless.cpp:316
Buffers_ B_
Definition iaf_psc_exp_ps_lossless.h:442
Variables_ V_
Definition iaf_psc_exp_ps_lossless.h:441
double get_V_m_() const
Read out the real membrane potential.
Definition iaf_psc_exp_ps_lossless.h:412
void emit_spike_(const Time &origin, const long lag, const double t0, const double dt)
Emit a single spike caused by DC current in absence of spike input.
Definition iaf_psc_exp_ps_lossless.cpp:535
void handle(SpikeEvent &) override
Handle incoming spike events.
Definition iaf_psc_exp_ps_lossless.cpp:473
double get_I_syn_in_() const
Definition iaf_psc_exp_ps_lossless.h:427
double get_I_syn_ex_() const
Definition iaf_psc_exp_ps_lossless.h:422
Parameters_ P_
Instances of private data structures for the different types of data pertaining to the model.
Definition iaf_psc_exp_ps_lossless.h:439
State_ S_
Definition iaf_psc_exp_ps_lossless.h:440
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_exp_ps_lossless.h:450
bool is_off_grid() const override
Returns true if the node sends/receives off-grid events.
Definition iaf_psc_exp_ps_lossless.h:164
size_t handles_test_event(SpikeEvent &, size_t) override
Check if the node can handle a particular event and receptor type.
Definition iaf_psc_exp_ps_lossless.h:458
double get_I_syn_() const
Definition iaf_psc_exp_ps_lossless.h:417
double threshold_distance(double t_step) const
Based on the current state, compute the value of the membrane potential after taking a timestep of le...
Definition iaf_psc_exp_ps_lossless.cpp:581
void propagate_(const double dt)
Propagate neuron state.
Definition iaf_psc_exp_ps_lossless.cpp:510
IAFPropagatorExp propagator_ex_
Propagator object for updating synaptic components.
Definition iaf_psc_exp_ps_lossless.h:262
static RecordablesMap< iaf_psc_exp_ps_lossless > recordablesMap_
Mapping of recordables names to access functions.
Definition iaf_psc_exp_ps_lossless.h:446
IAFPropagatorExp propagator_in_
Definition iaf_psc_exp_ps_lossless.h:263
friend class UniversalDataLogger< iaf_psc_exp_ps_lossless >
Definition iaf_psc_exp_ps_lossless.h:214
void pre_run_hook() override
Re-calculate dependent parameters of the node.
Definition iaf_psc_exp_ps_lossless.cpp:272
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_exp_ps_lossless(const std::string &name)
Definition iaf_psc_exp_ps_lossless.cpp:48
size_t synindex
For enumerations of synapse types.
Definition nest_types.h:115
Buffers of the model.
Definition iaf_psc_exp_ps_lossless.h:340
SliceRingBuffer events_
Queue for incoming events.
Definition iaf_psc_exp_ps_lossless.h:348
RingBuffer currents_
Definition iaf_psc_exp_ps_lossless.h:349
UniversalDataLogger< iaf_psc_exp_ps_lossless > logger_
Logger for all analog data.
Definition iaf_psc_exp_ps_lossless.h:352
Independent parameters of the model.
Definition iaf_psc_exp_ps_lossless.h:271
double U_min_
Lower bound, RELATIVE TO RESTING POTENTIAL(!).
Definition iaf_psc_exp_ps_lossless.h:299
double t_ref_
Refractory period in ms.
Definition iaf_psc_exp_ps_lossless.h:285
double tau_in_
Time constant of inh.
Definition iaf_psc_exp_ps_lossless.h:279
double U_reset_
Reset potential.
Definition iaf_psc_exp_ps_lossless.h:304
void get(Dictionary &) const
Store current values in dictionary.
Definition iaf_psc_exp_ps_lossless.cpp:109
Parameters_()
Sets default parameter values.
Definition iaf_psc_exp_ps_lossless.cpp:70
double set(const Dictionary &, Node *node)
Set values from dictionary.
Definition iaf_psc_exp_ps_lossless.cpp:124
double c_m_
Membrane capacitance in pF.
Definition iaf_psc_exp_ps_lossless.h:282
double U_th_
Threshold, RELATIVE TO RESTING POTENTIAL(!).
Definition iaf_psc_exp_ps_lossless.h:295
double tau_ex_
Time constant of exc.
Definition iaf_psc_exp_ps_lossless.h:276
double tau_m_
Membrane time constant in ms.
Definition iaf_psc_exp_ps_lossless.h:273
double E_L_
Resting potential in mV.
Definition iaf_psc_exp_ps_lossless.h:288
double I_e_
External DC current [pA].
Definition iaf_psc_exp_ps_lossless.h:291
State variables of the model.
Definition iaf_psc_exp_ps_lossless.h:318
void set(const Dictionary &, const Parameters_ &, double delta_EL, Node *)
Definition iaf_psc_exp_ps_lossless.cpp:222
double last_spike_offset_
Offset of most recent spike.
Definition iaf_psc_exp_ps_lossless.h:326
void get(Dictionary &, const Parameters_ &) const
Definition iaf_psc_exp_ps_lossless.cpp:210
bool is_refractory_
True while refractory.
Definition iaf_psc_exp_ps_lossless.h:324
double y2_
Membrane potential (relative to resting potential)
Definition iaf_psc_exp_ps_lossless.h:322
double y0_
External input current.
Definition iaf_psc_exp_ps_lossless.h:319
double I_syn_in_
Inh. exponential current.
Definition iaf_psc_exp_ps_lossless.h:321
long last_spike_step_
Time stamp of most recent spike.
Definition iaf_psc_exp_ps_lossless.h:325
State_()
Default initialization.
Definition iaf_psc_exp_ps_lossless.cpp:84
double I_syn_ex_
Exc. exponential current.
Definition iaf_psc_exp_ps_lossless.h:320
Internal variables of the model.
Definition iaf_psc_exp_ps_lossless.h:361
double y2_before_
y2_ at beginning of ministep
Definition iaf_psc_exp_ps_lossless.h:373
double exp_tau_in_
exp(-h/tau_in)
Definition iaf_psc_exp_ps_lossless.h:366
double y0_before_
y0_ at beginning of ministep
Definition iaf_psc_exp_ps_lossless.h:370
double b3_
Definition iaf_psc_exp_ps_lossless.h:391
double c4_
Definition iaf_psc_exp_ps_lossless.h:402
double I_syn_in_before_
I_syn_in_ at beginning of ministep.
Definition iaf_psc_exp_ps_lossless.h:372
double a1_
Pre-computed constants for inequality V < g(h, I_e)
Definition iaf_psc_exp_ps_lossless.h:379
double b4_
Definition iaf_psc_exp_ps_lossless.h:392
double c1_
Pre-computed constants for inequality V < b(I_e)
Definition iaf_psc_exp_ps_lossless.h:399
double P21_in_
Progagator matrix element, 2nd row.
Definition iaf_psc_exp_ps_lossless.h:368
double exp_tau_ex_
exp(-h/tau_ex)
Definition iaf_psc_exp_ps_lossless.h:365
double a3_
Definition iaf_psc_exp_ps_lossless.h:381
double b2_
Definition iaf_psc_exp_ps_lossless.h:390
double P21_ex_
Progagator matrix element, 2nd row.
Definition iaf_psc_exp_ps_lossless.h:369
double c5_
Definition iaf_psc_exp_ps_lossless.h:403
long refractory_steps_
Refractory time in steps.
Definition iaf_psc_exp_ps_lossless.h:363
double P20_
Progagator matrix element, 2nd row.
Definition iaf_psc_exp_ps_lossless.h:367
double h_ms_
Time resolution [ms].
Definition iaf_psc_exp_ps_lossless.h:362
double a2_
Definition iaf_psc_exp_ps_lossless.h:380
double a4_
Definition iaf_psc_exp_ps_lossless.h:382
double b1_
Pre-computed constants for inequality V < f(h, I)
Definition iaf_psc_exp_ps_lossless.h:389
double c3_
Definition iaf_psc_exp_ps_lossless.h:401
double expm1_tau_m_
expm1(-h/tau_m)
Definition iaf_psc_exp_ps_lossless.h:364
double c2_
Definition iaf_psc_exp_ps_lossless.h:400
double I_syn_ex_before_
I_syn_ex_ at beginning of ministep.
Definition iaf_psc_exp_ps_lossless.h:371
double c6_
Definition iaf_psc_exp_ps_lossless.h:404