RateChecker
A rate checker monitors the firing rate of a single SpikingGroup and triggers if it goes either above or below a predefined threshold.
In most cases your definition will look similar to this:
RateChecker * chk = new RateChecker( neurons_e , 0.1 , 1000. , 100e-3);
Here the first argument neurons_e
is any NeuronGroup defined earlier. The second and third argument give the min/max firing rate in Hz beyond which the checker will trigger. If you don't want a minimum firing rate, just make it negative - and if you don't want a higher limit, just pick a very large number like it is done here (1000Hz cannot be achieved by my most standard neuron models in Auryn). Finally, the last argument gives the timescale over which the RateChecker computes the running firing rate average. In this case it is set to 100ms. Note that because the RateChecker computes a running average it takes about 5-6 x the time constant until the rate estimate has converged to the actual firing rate. To avoid that the RateChecker triggers spuriously before that, it is initialized at (max-min)/2.
Note that the rate estimate in Auryn's progress bar is provided by the System.