21 package org.matsim.core.trafficmonitoring;
23 abstract class AbstractTravelTimeAggregator {
25 private final int travelTimeBinSize;
26 private final int numSlots;
27 private TravelTimeGetter travelTimeGetter;
29 AbstractTravelTimeAggregator(
final int numSlots,
final int travelTimeBinSize) {
30 this.numSlots = numSlots;
31 this.travelTimeBinSize = travelTimeBinSize;
39 void connectTravelTimeGetter(
final TravelTimeGetter travelTimeGetter) {
40 this.travelTimeGetter = travelTimeGetter;
41 travelTimeGetter.setTravelTimeAggregator(
this);
44 int getTimeSlotIndex(
final double time) {
48 abstract void addTravelTime(
TravelTimeData travelTimeRole,
double enterTime,
52 final double enterTime,
final double stuckEventTime) {
56 double getTravelTime(
final TravelTimeData travelTimeRole,
final double time) {
57 return this.travelTimeGetter.getTravelTime(travelTimeRole, time);
60 TravelTimeGetter getTravelTimeGetter() {
61 return this.travelTimeGetter;
static int getTimeBinIndex(double time, int travelTimeBinSize, int travelTimeBinCount)