@Override public void finishEventsHandling() { // initialize for all found modes Set<String> modes = new HashSet<String>(); for (LegHistogramInstance instance : instances) { modes.addAll(instance.getLegModes()); } for (String mode : modes) this.getDataForMode(mode); for (LegHistogramInstance instance : instances) { int[] arrivals; int[] departures; int[] stucks; // get data for all modes arrivals = instance.getArrivals(); departures = instance.getDepartures(); stucks = instance.getStuck(); for (int i = 0; i < this.nofBins + 1; i++) { this.allModesData.countsArr[i] += arrivals[i]; this.allModesData.countsDep[i] += departures[i]; this.allModesData.countsStuck[i] += stucks[i]; } // get data for every single mode for (String mode : modes) { arrivals = instance.getArrivals(mode); departures = instance.getDepartures(mode); stucks = instance.getStuck(mode); ModeData modeData = getDataForMode(mode); for (int i = 0; i < this.nofBins + 1; i++) { modeData.countsArr[i] += arrivals[i]; modeData.countsDep[i] += departures[i]; modeData.countsStuck[i] += stucks[i]; } } } }
@Override public void synchronize(double time) { for (LegHistogramInstance instance : instances) instance.synchronize(time); }