194 void update(
const Time&,
const long,
const long )
override;
391 if ( target.get_model_id() != this->get_model_id() and target.is_off_grid() )
393 throw IllegalConnection(
"iaf_tum_2000 neurons cannot be connected to precise spiking neurons." );
397 e.set_sender( *
this );
398 return target.handles_test_event( e, receptor_type );
404 if ( receptor_type > 1 )
408 else if ( receptor_type != 1 and e.get_sender().get_model_id() == this->get_model_id() )
410 throw IllegalConnection(
"iaf_tum_2000 neurons must be connected via receptor_type 1." );
412 return receptor_type;
418 if ( receptor_type == 0 )
422 else if ( receptor_type == 1 )
435 if ( receptor_type != 0 )
456 const double delta_EL = ptmp.
set( d,
this );
458 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
Base class for RNG engine wrappers.
Definition random_generators.h:67
Event for electrical currents.
Definition event.h:569
Request data to be logged/logged data to be sent.
Definition event.h:636
To be thrown if a connection is not possible.
Definition exceptions.h:490
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
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_tum_2000.h:157
friend class UniversalDataLogger< iaf_tum_2000 >
Definition iaf_tum_2000.h:201
size_t send_test_event(Node &, size_t, synindex, bool) override
Send an event to the receiving_node passed as an argument.
Definition iaf_tum_2000.h:389
Variables_ V_
Definition iaf_tum_2000.h:379
double get_V_m_() const
Read out the real membrane potential.
Definition iaf_tum_2000.h:352
void handle(SpikeEvent &) override
Handle incoming spike events.
Definition iaf_tum_2000.cpp:446
void get_status(Dictionary &) const override
Export properties of the node by setting entries in the status dictionary.
Definition iaf_tum_2000.h:443
double get_I_syn_in_() const
Definition iaf_tum_2000.h:364
State_ S_
Definition iaf_tum_2000.h:378
Buffers_ B_
Definition iaf_tum_2000.h:380
void update(const Time &, const long, const long) override
Advance the state of the node in time through the given interval.
Definition iaf_tum_2000.cpp:341
bool is_off_grid() const override
Returns true if the node sends/receives off-grid events.
Definition iaf_tum_2000.h:185
static RecordablesMap< iaf_tum_2000 > recordablesMap_
Mapping of recordables names to access functions.
Definition iaf_tum_2000.h:384
void init_buffers_() override
Configure persistent internal data structures.
Definition iaf_tum_2000.cpp:290
double get_I_syn_ex_() const
Definition iaf_tum_2000.h:358
iaf_tum_2000()
Definition iaf_tum_2000.cpp:268
size_t handles_test_event(SpikeEvent &, size_t) override
Check if the node can handle a particular event and receptor type.
Definition iaf_tum_2000.h:402
void pre_run_hook() override
Re-calculate dependent parameters of the node.
Definition iaf_tum_2000.cpp:298
void set_status(const Dictionary &) override
Change properties of the node according to the entries in the dictionary.
Definition iaf_tum_2000.h:453
double phi_() const
Definition iaf_tum_2000.cpp:258
Parameters_ P_
Instances of private data structures for the different types of data pertaining to the model.
Definition iaf_tum_2000.h:377
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_tum_2000(const std::string &name)
Definition iaf_tum_2000.cpp:50
size_t synindex
For enumerations of synapse types.
Definition nest_types.h:115
Buffers of the model.
Definition iaf_tum_2000.h:297
MultiChannelInputBuffer< NUM_INPUT_CHANNELS > input_buffer_
buffers and sums up incoming spikes/currents
Definition iaf_tum_2000.h:312
UniversalDataLogger< iaf_tum_2000 > logger_
Logger for all analog data.
Definition iaf_tum_2000.h:315
@ I0
Definition iaf_tum_2000.h:306
@ NUM_INPUT_CHANNELS
Definition iaf_tum_2000.h:308
@ I1
Definition iaf_tum_2000.h:307
@ SYN_IN
Definition iaf_tum_2000.h:304
@ SYN_EX
Definition iaf_tum_2000.h:305
Independent parameters of the model.
Definition iaf_tum_2000.h:209
double tau_rec_
Definition iaf_tum_2000.h:246
double tau_ex_
Time constant of excitatory synaptic current in ms.
Definition iaf_tum_2000.h:233
double Theta_
Threshold, RELATIVE TO RESTING POTENTAIL(!).
Definition iaf_tum_2000.h:227
double C_
Membrane capacitance in pF.
Definition iaf_tum_2000.h:214
double set(const Dictionary &, Node *node)
Set values from dictionary.
Definition iaf_tum_2000.cpp:128
double tau_fac_
Definition iaf_tum_2000.h:244
void get(Dictionary &) const
Store current values in dictionary.
Definition iaf_tum_2000.cpp:108
double U_
Definition iaf_tum_2000.h:247
double tau_psc_
Definition iaf_tum_2000.h:245
double t_ref_
Refractory period in ms.
Definition iaf_tum_2000.h:217
double Tau_
Membrane time constant in ms.
Definition iaf_tum_2000.h:211
double delta_
Width of threshold region in mV.
Definition iaf_tum_2000.h:242
double E_L_
Resting potential in mV.
Definition iaf_tum_2000.h:220
double I_e_
External current in pA.
Definition iaf_tum_2000.h:223
double rho_
Stochastic firing intensity at threshold in 1/s.
Definition iaf_tum_2000.h:239
double tau_in_
Time constant of inhibitory synaptic current in ms.
Definition iaf_tum_2000.h:236
double V_reset_
reset value of the membrane potential
Definition iaf_tum_2000.h:230
Parameters_()
Sets default parameter values.
Definition iaf_tum_2000.cpp:71
State variables of the model.
Definition iaf_tum_2000.h:265
void set(const Dictionary &, const Parameters_ &, const double, Node *)
Set values from dictionary.
Definition iaf_tum_2000.cpp:214
double i_syn_in_
Postsynaptic current for inhibitory inputs.
Definition iaf_tum_2000.h:271
double i_0_
Stepwise constant input current.
Definition iaf_tum_2000.h:267
double y_
Definition iaf_tum_2000.h:276
State_()
Default initialization.
Definition iaf_tum_2000.cpp:90
double i_1_
Current input that is filtered through the excitatory synapse exponential kernel.
Definition iaf_tum_2000.h:268
void get(Dictionary &, const Parameters_ &) const
Definition iaf_tum_2000.cpp:205
double u_
Definition iaf_tum_2000.h:277
double V_m_
Membrane potential.
Definition iaf_tum_2000.h:272
int r_ref_
Absolute refractory counter (no membrane potential propagation)
Definition iaf_tum_2000.h:273
double x_
Definition iaf_tum_2000.h:275
double i_syn_ex_
Postsynaptic current for excitatory inputs (includes contribution from current input on receptor type...
Definition iaf_tum_2000.h:269
Internal variables of the model.
Definition iaf_tum_2000.h:324
double P11ex_
Definition iaf_tum_2000.h:334
double P22_
Definition iaf_tum_2000.h:338
double P20_
Amplitude of the synaptic current.
Definition iaf_tum_2000.h:333
double P21ex_
Definition iaf_tum_2000.h:336
int RefractoryCounts_
Definition iaf_tum_2000.h:343
double weighted_spikes_in_
Definition iaf_tum_2000.h:341
double P11in_
Definition iaf_tum_2000.h:335
RngPtr rng_
random number generator of my own thread
Definition iaf_tum_2000.h:345
double weighted_spikes_ex_
Definition iaf_tum_2000.h:340
double P21in_
Definition iaf_tum_2000.h:337