def allocate_spike_ensembles(self):
if self.__ccore_pcnn_dynamic_pointer is not None:<EOL><INDENT>return wrapper.pcnn_dynamic_allocate_spike_ensembles(self.__ccore_pcnn_dynamic_pointer)<EOL><DEDENT>spike_ensembles = []<EOL>number_oscillators = len(self.__dynamic[<NUM_LIT:0>])<EOL>for t in range(len(self.__dynamic)):<EOL><INDENT>spike_ensemble = []<EOL>for index in range(number_oscillators):<EOL><INDENT>if self.__dynamic[t][index] == self.__OUTPUT_TRUE:<EOL><INDENT>spike_ensemble.append(index)<EOL><DEDENT><DEDENT>if len(spike_ensemble) > <NUM_LIT:0>:<EOL><INDENT>spike_ensembles.append(spike_ensemble)<EOL><DEDENT><DEDENT>return spike_ensembles<EOL>
!
        @brief Analyses output dynamic of network and allocates spikes on each iteration as a list of indexes of oscillators.
        @details Each allocated spike ensemble represents list of indexes of oscillators whose output is active.

        @return (list) Spike ensembles of oscillators.