21 package org.matsim.core.mobsim.qsim.pt;
23 import java.util.ArrayList;
24 import java.util.Collection;
25 import java.util.Collections;
26 import java.util.List;
27 import java.util.Map.Entry;
29 import org.apache.logging.log4j.LogManager;
30 import org.apache.logging.log4j.Logger;
51 import jakarta.inject.Inject;
105 this.qSim = queueSimulation;
108 this.agentTracker = tracker;
142 Collection<MobsimAgent> drivers =
new ArrayList<>();
145 for (
Umlauf umlauf : umlaufCache.getUmlaeufe()) {
147 if (!umlauf.getUmlaufStuecke().isEmpty()) {
156 UmlaufCache umlaufCache;
158 Collection<Umlauf> umlaeufe = umlaufBuilder.
build();
180 if (accessStopId == null) {
183 log.error(
"pt-agent doesn't know to what transit stop to go. Removing agent from simulation. Agent " + planAgent.
getId().toString());
200 String requestedMode = agent.
getMode();
224 return Collections.unmodifiableCollection(ptDrivers);
AbstractTransitDriverAgent createTransitDriver(Umlauf umlauf, InternalInterface internalInterface, TransitStopAgentTracker transitStopAgentTracker)
TransitAgentTriesToTeleportException(String message)
Id< Link > getStartLinkId()
PlanElement getNextPlanElement()
InternalInterface getInternalInterface()
void handleAgentPTDeparture(final MobsimAgent planAgent, Id< Link > linkId)
void setDriver(final DriverAgent driver)
TransitQSimEngine(QSim queueSimulation, TransitStopHandlerFactory stopHandlerFactory, UmlaufBuilder umlaufBuilder, TransitStopAgentTracker tracker, TransitDriverAgentFactory transitDriverFactory)
Map< Id< TransitStopFacility >, TransitStopFacility > getFacilities()
void addAgentToStop(final double now, final PTPassengerAgent agent, final Id< TransitStopFacility > stopId)
InternalInterface internalInterface
final UmlaufBuilder umlaufBuilder
final TransitStopAgentTracker agentTracker
Vehicles getTransitVehicles()
Collection< MobsimAgent > createVehiclesAndDriversWithUmlaeufe()
void setInternalInterface(InternalInterface internalInterface)
Set< String > getTransitModes()
abstract Collection< Umlauf > build()
AbstractTransitDriverAgent createAndScheduleVehicleAndDriver(Umlauf umlauf, Vehicle vehicle)
final void setVehicle(final MobsimVehicle vehicle)
Collection< MobsimAgent > ptDrivers
void insertAgentIntoMobsim(final MobsimAgent agent)
void registerAdditionalAgentOnLink(MobsimAgent agent)
MobsimTimer getSimTimer()
void processEvent(final Event event)
UmlaufCache getOrCreateUmlaufCache(final Scenario scenario)
Collection< MobsimAgent > getPtDrivers()
TransitStopHandler createTransitStopHandler(Vehicle vehicle)
TransitConfigGroup transit()
void insertAgentsIntoMobsim()
EventsManager getEventsManager()
void doSimStep(double time)
boolean handleDeparture(double now, MobsimAgent agent, Id< Link > linkId)
TransitStopAgentTracker getAgentTracker()
static final long serialVersionUID
AgentCounter getAgentCounter()
Map< Id< Vehicle >, Vehicle > getVehicles()
TransitSchedule getTransitSchedule()
TransitStopHandlerFactory stopHandlerFactory
Map< Id< TransitStopFacility >, List< PTPassengerAgent > > getAgentsAtStop()
void setStopHandler(TransitStopHandler stopHandler)
void addParkedVehicle(MobsimVehicle veh, Id< Link > startLinkId)
final TransitDriverAgentFactory transitDriverFactory