State monitors are used to monitor time continuous state variables such as the membrane voltage or GABA conductance, etc from NeuronGroups. Since these quantities are generally only locally available at individual nodes, each process writes it own file. Moreover, since a high frequency sampling of a state variable quickly generates massive amounts of data, a StateMonitor only records from a single neuron. To monitor multiple neurons also multiple monitors are required.
strin filename = "foo.mem"; StateMonitor * smon_mem = new StateMonitor( neurons_e, 7, "mem", filename.str() ,dt );
This code snipped sets up a StateMonitor to record from the NeuronGroup neurons_e. Specifically, the monitor records from the neuron with ID 7 and from the StateVector “mem” which is one of Auryn's default specifier for the membrane potential. The other remaining arguments pass the filename to record to as well as the sampling interval (here dt
which corresponds to the integration timestep in Auryn.