def getValues(self): values = PeriodicValues(0, self.getPeriod(), self.getSimulationTime()) searches = GenericMeasure('', self.getPeriod(), self.getSimulationTime(), Units.SEARCHES) founds = GenericMeasure('', self.getPeriod(), self.getSimulationTime(), Units.COMPOSITIONS) for found, startTime in self.__searches.values(): searches.incValue(startTime, self.getSimulationTime()) if found: founds.incValue(startTime, self.getSimulationTime()) searchesArray = searches.getValues() foundsArray = founds.getValues() for index in xrange(len(searchesArray)): search = searchesArray.getValue(index) found = foundsArray.getValue(index) if search == 0: values.setValue(index, 0); else: values.setValue(index, found / float(search)) return values