NEST main@caf0ae8
 
Loading...
Searching...
No Matches
glif_psc_double_alpha.h
Go to the documentation of this file.
1/*
2 * glif_psc_double_alpha.h
3 *
4 * This file is part of NEST.
5 *
6 * Copyright (C) 2004 The NEST Initiative
7 *
8 * NEST is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * NEST is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with NEST. If not, see <http://www.gnu.org/licenses/>.
20 *
21 */
22
23#ifndef GLIF_PSC_DOUBLE_ALPHA_H
24#define GLIF_PSC_DOUBLE_ALPHA_H
25
26#include "archiving_node.h"
27#include "connection.h"
28#include "event.h"
29#include "nest_types.h"
30#include "ring_buffer.h"
32
33/* BeginUserDocs: neuron, integrate-and-fire, current-based, adaptation, hard threshold
34
35Short description
36+++++++++++++++++
37
38Current-based generalized leaky integrate-and-fire (GLIF) models with double alpha-function
39(from the Allen Institute)
40
41Description
42+++++++++++
43
44``glif_psc_double_alpha`` provides five generalized leaky integrate-and-fire
45(GLIF) models :footcite:p:`Teeter2018` with double alpha-function shaped synaptic currents.
46Incoming spike events induce a postsynaptic change of current modeled
47by the sum of two alpha functions (fast and slow components) for each receptor :footcite:p:`Meffin2004`.
48This function is normalized such that an event of weight 1.0 results in a peak current
49of the fast component of the alpha function to be 1 pA at
50:math:`t = \tau_\text{syn, fast}`.
51The relative peak current of the slow component is given as ``amp_slow``, at
52:math:`t = \tau_\text{syn, slow}`. Namely,
53
54.. math::
55
56 I_\text{syn} = \text{alpha_function} \left( \tau_\text{syn} = \tau_\text{syn, fast} \right) + \text{amp_slow} \cdot
57 \text{alpha_function} \left( \tau_\text{syn} = \tau_\text{syn, slow} \right).
58
59Therefore if ``amp_slow`` is not 0, the peak current of the total synaptic current is larger
60than the specified weight. By default, ``glif_psc_double_alpha`` has a single synapse that
61is accessible through ``receptor_port`` 1. An arbitrary number of synapses with different
62time constants and ``amp_slow`` can be configured by setting the desired parameters of
63``tau_syn_fast``, ``tau_syn_slow``, and ``amp_slow`` arrays. The resulting synapses are addressed
64through ``receptor_port`` 1, 2, 3, ....
65
66The five GLIF models are:
67
68* **GLIF Model 1** - Traditional leaky integrate and fire (LIF)
69* **GLIF Model 2** - Leaky integrate and fire with biologically defined reset rules
70 (LIF_R)
71* **GLIF Model 3** - Leaky integrate and fire with after-spike currents (LIF_ASC)
72* **GLIF Model 4** - Leaky integrate and fire with biologically defined reset rules
73 and after-spike currents (LIF_R_ASC)
74* **GLIF Model 5** - Leaky integrate and fire with biologically defined reset rules,
75 after-spike currents and a voltage dependent threshold (LIF_R_ASC_A)
76
77GLIF model mechanism setting is based on three parameters
78(``spike_dependent_threshold``, ``after_spike_currents``, ``adapting_threshold``).
79The settings of these three parameters for the five GLIF models are listed
80below. Other combinations of these parameters will not be supported.
81
82+--------+---------------------------+----------------------+--------------------+
83| Model | spike_dependent_threshold | after_spike_currents | adapting_threshold |
84+========+===========================+======================+====================+
85| GLIF1 | False | False | False |
86+--------+---------------------------+----------------------+--------------------+
87| GLIF2 | True | False | False |
88+--------+---------------------------+----------------------+--------------------+
89| GLIF3 | False | True | False |
90+--------+---------------------------+----------------------+--------------------+
91| GLIF4 | True | True | False |
92+--------+---------------------------+----------------------+--------------------+
93| GLIF5 | True | True | True |
94+--------+---------------------------+----------------------+--------------------+
95
96Typical parameter setting of different levels of GLIF models for different cells
97can be found and downloaded in the `Allen Cell Type Database
98<https://celltypes.brain-map.org>`_. For example, the default parameter setting of this
99``glif_psc_double_alpha`` neuron model was from the parameter values of GLIF Model 5 of
100Cell 490626718, which can be retrieved from the `Allen Brain Atlas
101<https://celltypes.brain-map.org/mouse/experiment/electrophysiology/
102490626718>`_, with units being converted from SI units (i.e., V, S (1/Ohm),
103F, s, A) to NEST used units (i.e., mV, nS (1/GOhm), pF, ms, pA) and values
104being rounded to appropriate digits for simplification.
105
106For models with spike dependent threshold (i.e., GLIF2, GLIF4 and GLIF5),
107parameter setting of ``voltage_reset_fraction`` and ``voltage_reset_add`` may lead to the
108situation that voltage is bigger than threshold after reset. In this case, the neuron
109will continue to spike until the end of the simulation regardless the stimulated inputs.
110We recommend the setting of the parameters of these three models to follow the
111condition of
112
113.. math::
114
115 E_L + \mathrm{voltage\_reset\_fraction} \cdot \left( V_\mathrm{th} - E_L \right)
116 + \mathrm{voltage\_reset\_add} < V_\mathrm{th} + \mathrm{th\_spike\_add}
117
118.. note::
119
120 If ``tau_m`` is very close to ``tau_syn_ex`` or ``tau_syn_in``, the model
121 will numerically behave as if ``tau_m`` is equal to ``tau_syn_ex`` or
122 ``tau_syn_in``, respectively, to avoid numerical instabilities.
123
124 For implementation details see the
125 `IAF Integration Singularity <../model_details/IAF_Integration_Singularity.ipynb>`_ notebook.
126
127Parameters
128++++++++++
129
130The following parameters can be set in the status dictionary.
131
132========= ======== ============================================================
133**Membrane parameters**
134-------------------------------------------------------------------------------
135V_m double Membrane potential in mV (absolute value)
136V_th double Instantaneous threshold in mV
137g double Membrane conductance in nS
138E_L double Resting membrane potential in mV
139C_m double Capacitance of the membrane in pF
140t_ref double Duration of refractory time in ms
141V_reset double Reset potential of the membrane in mV (GLIF 1 or GLIF 3)
142========= ======== ============================================================
143
144========================= =============== =====================================
145**Spike adaptation and firing intensity parameters**
146-------------------------------------------------------------------------------
147th_spike_add double Threshold addition following spike
148 in mV (delta_theta_s in Equation (6)
149 in :footcite:p:`Teeter2018`)
150th_spike_decay double Spike-induced threshold time
151 constant in 1/ms (bs in Equation (2)
152 in :footcite:p:`Teeter2018`)
153voltage_reset_fraction double Voltage fraction coefficient
154 following spike (fv in Equation (5)
155 in :footcite:p:`Teeter2018`)
156voltage_reset_add double Voltage addition following spike in
157 mV (-delta_V (sign flipped) in
158 Equation (5) in :footcite:p:`Teeter2018`)
159asc_init double vector Initial values of after-spike
160 currents in pA
161asc_decay double vector After-spike current time constants
162 in 1/ms (kj in Equation (3) in :footcite:p:`Teeter2018`)
163asc_amps double vector After-spike current amplitudes in
164 pA (deltaIj in Equation (7) in :footcite:p:`Teeter2018`)
165asc_r double vector Current fraction following spike
166 coefficients for fj in Equation (7)
167 in :footcite:p:`Teeter2018`
168th_voltage_index double Adaptation index of threshold - A
169 'leak-conductance' for the
170 voltage-dependent component of the
171 threshold in 1/ms (av in Equation
172 (4) in :footcite:p:`Teeter2018`)
173th_voltage_decay double Voltage-induced threshold time
174 constant - Inverse of which is the
175 time constant of the
176 voltage-dependent component of the
177 threshold in 1/ms (bv in Equation
178 (4) in :footcite:p:`Teeter2018`)
179tau_syn_fast double vector Time constants of the faster
180 synaptic alpha function in ms
181tau_syn_slow double vector Time constants of the slower
182 synaptic alpha function in ms
183amp_slow double vector Relative amplitude of the slower
184 synaptic alpha function
185E_rev double vector Reversal potential in mV
186spike_dependent_threshold bool flag whether the neuron has
187 biologically defined reset rules
188 with a spike dependent threshold
189 component
190after_spike_currents bool flag whether the neuron has after
191 spike currents
192adapting_threshold bool flag whether the neuron has a
193 voltage dependent threshold component
194========================= =============== =====================================
195
196References
197++++++++++
198
199.. footbibliography::
200
201See also
202++++++++
203
204gif_psc_exp_multisynapse, gif_cond_exp, gif_cond_exp_multisynapse, gif_pop_psc_exp,
205glif_psc
206
207Examples using this model
208+++++++++++++++++++++++++
209
210.. listexamples:: glif_psc_double_alpha
211
212EndUserDocs */
213
214namespace nest
215{
216
217void register_glif_psc_double_alpha( const std::string& name );
218
220{
221public:
223
225
226 using Node::handle;
228
229 size_t send_test_event( Node&, size_t, synindex, bool ) override;
230
231 void handle( SpikeEvent& ) override;
232 void handle( CurrentEvent& ) override;
233 void handle( DataLoggingRequest& ) override;
234
235 size_t handles_test_event( SpikeEvent&, size_t ) override;
236 size_t handles_test_event( CurrentEvent&, size_t ) override;
237 size_t handles_test_event( DataLoggingRequest&, size_t ) override;
238
239 void get_status( Dictionary& ) const override;
240 void set_status( const Dictionary& ) override;
241
242private:
244 void init_buffers_() override;
245
247 void pre_run_hook() override;
248
250 void update( Time const&, const long, const long ) override;
251
252 // The next two classes need to be friends to access the State_ class/member
254 friend class UniversalDataLogger< glif_psc_double_alpha >;
255
257 {
258 double G_;
259 double E_L_;
260 double th_inf_;
261 double C_m_;
262 double t_ref_;
263 double V_reset_;
272 std::vector< double > asc_init_;
273 std::vector< double > asc_decay_;
274 std::vector< double > asc_amps_;
275 std::vector< double > asc_r_;
276 std::vector< double > tau_syn_fast_;
277 std::vector< double > tau_syn_slow_;
278 std::vector< double > amp_slow_;
279
282
285
288
291
292 size_t n_receptors_() const;
293
294 Parameters_();
295
296 void get( Dictionary& ) const;
297 double set( const Dictionary&, Node* );
298 };
299
300 struct State_
301 {
302 double U_;
303 double threshold_;
306 double I_;
307 double I_syn_;
308 double I_syn_fast_;
309 double I_syn_slow_;
310 std::vector< double > ASCurrents_;
313 std::vector< double > y1_fast_;
314 std::vector< double > y2_fast_;
315 std::vector< double > y1_slow_;
316 std::vector< double > y2_slow_;
317
318 State_( const Parameters_& );
319
320 void get( Dictionary&, const Parameters_& ) const;
321 void set( const Dictionary&, const Parameters_&, double, Node* );
322 };
323
324
336
338 {
345 std::vector< double > asc_decay_rates_;
346 std::vector< double > asc_stable_coeff_;
347 std::vector< double > asc_refractory_decay_rates_;
348 double phi;
349
350 std::vector< double > P11_fast_;
351 std::vector< double > P21_fast_;
352 std::vector< double > P22_fast_;
353 double P30_;
354 double P33_;
355 std::vector< double > P31_fast_;
356 std::vector< double > P32_fast_;
357
358 // slow component
359 std::vector< double > P11_slow_;
360 std::vector< double > P21_slow_;
361 std::vector< double > P22_slow_;
362 std::vector< double > P31_slow_;
363 std::vector< double > P32_slow_;
364
365
370 std::vector< double > PSCInitialValues_;
371 std::vector< double > PSCInitialValues_slow_;
372 };
373
374 double
375 get_V_m_() const
376 {
377 return S_.U_ + P_.E_L_;
378 }
379
380 double
382 {
383 return S_.ASCurrents_sum_;
384 }
385
386 double
387 get_I_() const
388 {
389 return S_.I_;
390 }
391
392 double
394 {
395 return S_.I_syn_;
396 }
397
398 double
400 {
401 return S_.threshold_ + P_.E_L_;
402 }
403
404 double
406 {
407 return S_.threshold_spike_;
408 }
409
410 double
412 {
413 return S_.threshold_voltage_;
414 }
415
420
423};
424
425
426inline size_t
431
432inline size_t
433glif_psc_double_alpha::send_test_event( Node& target, size_t receptor_type, synindex, bool )
434{
435 SpikeEvent e;
436 e.set_sender( *this );
437 return target.handles_test_event( e, receptor_type );
438}
439
440inline size_t
442{
443 if ( receptor_type != 0 )
444 {
445 throw UnknownReceptorType( receptor_type, get_name() );
446 }
447 return 0;
448}
449
450inline size_t
452{
453 if ( receptor_type != 0 )
454 {
455 throw UnknownReceptorType( receptor_type, get_name() );
456 }
457 return B_.logger_.connect_logging_device( dlr, recordablesMap_ );
458}
459
460inline void
462{
463 // get our own parameter and state data
464 P_.get( d );
465 S_.get( d, P_ );
466
467 // get information managed by parent class
469
470 d[ names::recordables ] = recordablesMap_.get_list();
471}
472
473inline void
475{
476 Parameters_ ptmp = P_; // temporary copy in case of errors
477 const double delta_EL = ptmp.set( d, this ); // throws if BadProperty
478 State_ stmp = S_; // temporary copy in case of errors
479 stmp.set( d, ptmp, delta_EL, this ); // throws if BadProperty
480
482
483 // if we get here, temporaries contain consistent set of properties
484 P_ = ptmp;
485 S_ = stmp;
486}
487
488} // namespace nest
489
490#endif
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
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 glif_psc_double_alpha.h:220
double get_ASCurrents_sum_() const
Definition glif_psc_double_alpha.h:381
void handle(SpikeEvent &) override
Handle incoming spike events.
Definition glif_psc_double_alpha.cpp:672
State_ S_
Definition glif_psc_double_alpha.h:417
size_t handles_test_event(SpikeEvent &, size_t) override
Check if the node can handle a particular event and receptor type.
Definition glif_psc_double_alpha.cpp:660
void pre_run_hook() override
Initialize auxiliary quantities, leave parameters and state untouched.
Definition glif_psc_double_alpha.cpp:421
double get_threshold_voltage_() const
Definition glif_psc_double_alpha.h:411
Parameters_ P_
Definition glif_psc_double_alpha.h:416
Variables_ V_
Definition glif_psc_double_alpha.h:418
friend class UniversalDataLogger< glif_psc_double_alpha >
Definition glif_psc_double_alpha.h:254
static RecordablesMap< glif_psc_double_alpha > recordablesMap_
Mapping of recordables names to access functions.
Definition glif_psc_double_alpha.h:422
void set_status(const Dictionary &) override
Change properties of the node according to the entries in the dictionary.
Definition glif_psc_double_alpha.h:474
Buffers_ B_
Definition glif_psc_double_alpha.h:419
size_t send_test_event(Node &, size_t, synindex, bool) override
Send an event to the receiving_node passed as an argument.
Definition glif_psc_double_alpha.h:433
glif_psc_double_alpha()
Definition glif_psc_double_alpha.cpp:391
void init_buffers_() override
Reset internal buffers of neuron.
Definition glif_psc_double_alpha.cpp:413
void update(Time const &, const long, const long) override
Take neuron through given time interval.
Definition glif_psc_double_alpha.cpp:514
double get_threshold_() const
Definition glif_psc_double_alpha.h:399
void get_status(Dictionary &) const override
Export properties of the node by setting entries in the status dictionary.
Definition glif_psc_double_alpha.h:461
double get_I_() const
Definition glif_psc_double_alpha.h:387
double get_I_syn_() const
Definition glif_psc_double_alpha.h:393
double get_V_m_() const
Definition glif_psc_double_alpha.h:375
double get_threshold_spike_() const
Definition glif_psc_double_alpha.h:405
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_glif_psc_double_alpha(const std::string &name)
Definition glif_psc_double_alpha.cpp:43
size_t synindex
For enumerations of synapse types.
Definition nest_types.h:115
Definition glif_psc_double_alpha.h:326
std::vector< RingBuffer > spikes_
Buffer incoming spikes through delay, as sum.
Definition glif_psc_double_alpha.h:330
UniversalDataLogger< glif_psc_double_alpha > logger_
Logger for all analog data.
Definition glif_psc_double_alpha.h:334
RingBuffer currents_
Buffer incoming currents through delay,.
Definition glif_psc_double_alpha.h:331
Definition glif_psc_double_alpha.h:257
size_t n_receptors_() const
Returns the size of tau_syn_fast_.
Definition glif_psc_double_alpha.h:427
double th_voltage_decay_
inverse of which is the time constant of the voltage-dependent component of the threshold in 1/ms
Definition glif_psc_double_alpha.h:270
double voltage_reset_add_
voltage additive constant following reset in mV
Definition glif_psc_double_alpha.h:267
double set(const Dictionary &, Node *)
Definition glif_psc_double_alpha.cpp:155
Parameters_()
Definition glif_psc_double_alpha.cpp:67
bool has_theta_spike_
boolean flag which indicates whether the neuron has spike dependent threshold component
Definition glif_psc_double_alpha.h:284
std::vector< double > tau_syn_fast_
synaptic port time constants in ms
Definition glif_psc_double_alpha.h:276
std::vector< double > asc_r_
coefficient
Definition glif_psc_double_alpha.h:275
std::vector< double > asc_init_
initial values of ASCurrents_ in pA
Definition glif_psc_double_alpha.h:272
double th_inf_
infinity threshold in mV
Definition glif_psc_double_alpha.h:260
double th_voltage_index_
a 'leak-conductance' for the voltage-dependent component of the threshold in 1/ms
Definition glif_psc_double_alpha.h:268
void get(Dictionary &) const
Definition glif_psc_double_alpha.cpp:122
std::vector< double > amp_slow_
synaptic port time constants in ms
Definition glif_psc_double_alpha.h:278
double th_spike_decay_
spike induced threshold in 1/ms
Definition glif_psc_double_alpha.h:265
double voltage_reset_fraction_
voltage fraction following reset coefficient
Definition glif_psc_double_alpha.h:266
bool has_asc_
boolean flag which indicates whether the neuron has after spike currents
Definition glif_psc_double_alpha.h:287
double t_ref_
refractory time in ms
Definition glif_psc_double_alpha.h:262
bool has_theta_voltage_
boolean flag which indicates whether the neuron has voltage dependent threshold component
Definition glif_psc_double_alpha.h:290
double G_
membrane conductance in nS
Definition glif_psc_double_alpha.h:258
std::vector< double > asc_decay_
predefined time scale in 1/ms
Definition glif_psc_double_alpha.h:273
double V_reset_
Membrane voltage following spike in mV.
Definition glif_psc_double_alpha.h:263
std::vector< double > tau_syn_slow_
synaptic port time constants in ms
Definition glif_psc_double_alpha.h:277
double E_L_
resting potential in mV
Definition glif_psc_double_alpha.h:259
double C_m_
capacitance in pF
Definition glif_psc_double_alpha.h:261
bool has_connections_
boolean flag which indicates whether the neuron has connections
Definition glif_psc_double_alpha.h:281
std::vector< double > asc_amps_
in pA
Definition glif_psc_double_alpha.h:274
double th_spike_add_
threshold additive constant following reset in mV
Definition glif_psc_double_alpha.h:264
Definition glif_psc_double_alpha.h:301
double ASCurrents_sum_
in pA
Definition glif_psc_double_alpha.h:311
double U_
relative membrane potential in mV
Definition glif_psc_double_alpha.h:302
double threshold_spike_
spike component of threshold in mV
Definition glif_psc_double_alpha.h:304
double threshold_voltage_
voltage component of threshold in mV
Definition glif_psc_double_alpha.h:305
std::vector< double > ASCurrents_
after-spike currents in pA
Definition glif_psc_double_alpha.h:310
std::vector< double > y2_slow_
synapse current evolution state 2 in pA
Definition glif_psc_double_alpha.h:316
std::vector< double > y1_fast_
synapse current evolution state 1 in pA
Definition glif_psc_double_alpha.h:313
int refractory_steps_
Number of refractory steps remaining.
Definition glif_psc_double_alpha.h:312
double I_
external current in pA
Definition glif_psc_double_alpha.h:306
void get(Dictionary &, const Parameters_ &) const
Definition glif_psc_double_alpha.cpp:330
double I_syn_fast_
postsynaptic current in pA
Definition glif_psc_double_alpha.h:308
void set(const Dictionary &, const Parameters_ &, double, Node *)
Definition glif_psc_double_alpha.cpp:339
std::vector< double > y1_slow_
synapse current evolution state 1 in pA
Definition glif_psc_double_alpha.h:315
double I_syn_
postsynaptic current in pA
Definition glif_psc_double_alpha.h:307
double I_syn_slow_
postsynaptic current in pA
Definition glif_psc_double_alpha.h:309
std::vector< double > y2_fast_
synapse current evolution state 2 in pA
Definition glif_psc_double_alpha.h:314
double threshold_
total threshold in mV
Definition glif_psc_double_alpha.h:303
Definition glif_psc_double_alpha.h:338
std::vector< double > PSCInitialValues_slow_
Definition glif_psc_double_alpha.h:371
std::vector< double > P31_slow_
synaptic/membrane current evolution parameter
Definition glif_psc_double_alpha.h:362
std::vector< double > asc_stable_coeff_
after spike current stable coefficient
Definition glif_psc_double_alpha.h:346
std::vector< double > asc_refractory_decay_rates_
after spike current decay rates during refractory
Definition glif_psc_double_alpha.h:347
std::vector< double > P21_slow_
synaptic current evolution parameter
Definition glif_psc_double_alpha.h:360
double abpara_ratio_voltage_
ratio of parameters of voltage threshold component av/bv
Definition glif_psc_double_alpha.h:344
std::vector< double > P31_fast_
synaptic/membrane current evolution parameter
Definition glif_psc_double_alpha.h:355
std::vector< double > P22_slow_
synaptic current evolution parameter
Definition glif_psc_double_alpha.h:361
std::vector< double > P21_fast_
synaptic current evolution parameter
Definition glif_psc_double_alpha.h:351
std::vector< double > P32_fast_
synaptic/membrane current evolution parameter
Definition glif_psc_double_alpha.h:356
double phi
threshold voltage component coefficient
Definition glif_psc_double_alpha.h:348
double theta_spike_refractory_decay_rate_
threshold spike component decay rate during refractory
Definition glif_psc_double_alpha.h:341
std::vector< double > P32_slow_
synaptic/membrane current evolution parameter
Definition glif_psc_double_alpha.h:363
std::vector< double > asc_decay_rates_
after spike current decay rates
Definition glif_psc_double_alpha.h:345
double theta_spike_decay_rate_
threshold spike component decay rate
Definition glif_psc_double_alpha.h:340
double P30_
membrane current/voltage evolution parameter
Definition glif_psc_double_alpha.h:353
double P33_
membrane voltage evolution parameter
Definition glif_psc_double_alpha.h:354
int RefractoryCounts_
counter during refractory period
Definition glif_psc_double_alpha.h:339
std::vector< double > P11_slow_
synaptic current evolution parameter
Definition glif_psc_double_alpha.h:359
std::vector< double > P22_fast_
synaptic current evolution parameter
Definition glif_psc_double_alpha.h:352
std::vector< double > PSCInitialValues_
Amplitude of the synaptic current.
Definition glif_psc_double_alpha.h:370
double theta_voltage_decay_rate_inverse_
inverse of threshold voltage component decay rate
Definition glif_psc_double_alpha.h:342
std::vector< double > P11_fast_
synaptic current evolution parameter
Definition glif_psc_double_alpha.h:350
double potential_decay_rate_
membrane potential decay rate
Definition glif_psc_double_alpha.h:343