====== The System class and its instance sys ======s
The System class keeps track of the different instances of objects that are created during for setting up a simulation. It requires the logger
to be defined (see Logger) and expects an MPI communicator as argument. Most Auryn objects expect a global variable sys
of type System to be present in the namespace of the simulation program, which is why it has do be defined as simulator init code that precedes the declaration of any other simulator object.
It contains important code such as the run function that is used to trigger a simulation, which will when called iterate the Auryn duty cycle for the specified period of simulation time (simtime
).
Note that the rate estimate in Auryn's progress bar is provided by the System class. It's parameters can be configured using the functions set_online_rate_monitor_id (int id=0)
and set_online_rate_monitor_tau (AurynDouble tau=100e-3)
.
If you set the GroupID to a negative value the rate estimate will be turned off. Zero and positive values will instruct the System class to average the firing rate of the corresponding SpikingGroup. For balanced networks this should typically be the population corresponding to the main fraction of the excitatory cells, but not an input PoissonGroup.