Assuming each sample will run 1.0 second until a condition is satisfied, e.g. for 2 samples:
for i in range(2): while True: if condition_is_not_met_for_sample_i: run(1.0*second) else: break
To met the condition, sample#1 run 1.0s and sample#2 run 3 rounds of 1.0s. Then the spikes recorded in t = 1s - 4s are all from the sample#2. Is it possible for spikemonitor to only record spikes from the run when the condition is met? In another word, can the spike is recorded in such a way that t = 0-1s are from sample#1 and t = 1s-2s are from the successful run of sample#2?
The purpose is for the convenience of correlating sample ID with spikes in analysis. If each sample run only 1.0s, one know the t = 0-1s and 1s-2s are for sample#1 and sample#2, respectively. When condition is added, one need to record manually the time period that corresponds to a sample. For example, one need to record that t = 1s - 4s are produced when running on sample#2.