group_recorded = NeuronGroup(N, eqs, threshold="V > vthr", events = {'event_1': 'condition_1'}, reset='V=V_reset', refractory= tref, method = 'euler')
group_recorded.run_on_event('event_1', 'w += increment; last_event = t') #How to add a delay here, so that w is only incremented a certain time after event_1 begins?
Hi Wilhelm,
I have an additional short question about the introduction of delays when using 'run_on_event'- is it possible, in addition to an 'event_delay' (which specifies the minimal amount of temporal separation between events), to also specify a delay similar to a synaptic delay? Concretely,
group_recorded = NeuronGroup(N, eqs, threshold="V > vthr", events = {'event_1': 'condition_1'}, reset='V=V_reset', refractory= tref, method = 'euler')
group_recorded.run_on_event('event_1', 'w += increment; last_event = t') #How to add a delay here, so that w is only incremented a certain time after event_1 begins?
The only way to trigger events with a delay is to use synapses. In your case, you could remove the `w += increment` from the run_on_event call, and instead use a synapse to apply it with a certain delay:
delayed_trigger = Synapses(group_recorded, group_recorded,
on_pre='w_post += increment',
on_event='event_1',
delay=...)
delayed_trigger.connect(j='i') # connect each neuron to
itself
Best,
Marcel