23 package org.matsim.core.trafficmonitoring;
25 import com.google.inject.Injector;
26 import com.google.inject.Key;
27 import com.google.inject.Singleton;
28 import com.google.inject.name.Names;
29 import jakarta.inject.Inject;
30 import jakarta.inject.Provider;
53 if (
getConfig().travelTimeCalculator().getSeparateModes()) {
56 if (
getConfig().travelTimeCalculator().isCalculateLinkToLinkTravelTimes()) {
57 throw new RuntimeException(
"separate modes together with link2link routing currently not implemented. doesn't look difficult, " 58 +
"but I cannot say if it would be picked up correctly by downstream modules. kai, nov'16");
65 for (
final String mode :
getConfig().routing().getNetworkModes()) {
67 if (analyzedModes.contains(mode)) {
78 return injector.getInstance(Key.get(
TravelTimeCalculator.class, Names.named(mode))).getLinkTravelTimes();
85 }).in(Singleton.class);
103 if (
getConfig().travelTimeCalculator().isCalculateLinkTravelTimes()) {
105 for (String mode :
getConfig().routing().getNetworkModes()) {
109 if (
getConfig().travelTimeCalculator().isCalculateLinkToLinkTravelTimes()) {
139 builder.setMaxTime(config.getMaxTime());
140 builder.setCalculateLinkTravelTimes(config.isCalculateLinkTravelTimes());
141 builder.setCalculateLinkToLinkTravelTimes(config.isCalculateLinkToLinkTravelTimes());
142 builder.setFilterModes(
true);
144 builder.configure(config);
146 eventsManager.addHandler(calculator);
158 return travelTimeCalculator.getLinkTravelTimes();
170 return travelTimeCalculator.getLinkToLinkTravelTimes();
static Set< String > stringToSet(final String values)
void setTimeslice(double timeslice)
TravelTimeCalculatorConfigGroup travelTimeCalculator()
Set< String > getAnalyzedModes()
final com.google.inject.binder.LinkedBindingBuilder< TravelTime > addTravelTimeBinding(String mode)