:py:mod:`starling_sim.basemodel.trace.events` ============================================= .. py:module:: starling_sim.basemodel.trace.events .. autoapi-nested-parse:: This module contains event classes that compose agents' traces Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: starling_sim.basemodel.trace.events.Event starling_sim.basemodel.trace.events.DurationEvent starling_sim.basemodel.trace.events.InputEvent starling_sim.basemodel.trace.events.MoveEvent starling_sim.basemodel.trace.events.RouteEvent starling_sim.basemodel.trace.events.PositionChangeEvent starling_sim.basemodel.trace.events.WaitEvent starling_sim.basemodel.trace.events.IdleEvent starling_sim.basemodel.trace.events.ServiceEvent starling_sim.basemodel.trace.events.RequestEvent starling_sim.basemodel.trace.events.StopEvent starling_sim.basemodel.trace.events.StaffOperationEvent starling_sim.basemodel.trace.events.GetVehicleEvent starling_sim.basemodel.trace.events.LeaveVehicleEvent starling_sim.basemodel.trace.events.LeaveSystemEvent starling_sim.basemodel.trace.events.DestinationReachedEvent starling_sim.basemodel.trace.events.LeaveSimulationEvent .. py:class:: Event(time) This class represents the events contained in the trace. It should be extended to describe the different kinds of events of the simulation. .. py:property:: name .. py:property:: xml_attrib .. py:method:: to_xml() -> xml.etree.ElementTree.Element .. py:method:: _get_xml_attrib() -> dict .. py:method:: _xml_sub_elements() -> list | None .. py:method:: __str__() Return str(self). .. py:class:: DurationEvent(time) Bases: :py:obj:`Event`, :py:obj:`abc.ABC` This abstract event describes an event that takes place over several time steps. .. py:property:: total_duration Get the total duration of the event. :return: integer describing the total event duration .. py:method:: _total_duration() -> int :abstractmethod: .. py:class:: InputEvent(time, agent) Bases: :py:obj:`Event` This event describes the generation of a traced element. .. py:class:: MoveEvent(time, origin, destination, move_distance, move_duration, mode) Bases: :py:obj:`DurationEvent` This event describes an agent moving .. py:method:: _total_duration() -> int .. py:class:: RouteEvent(time, route_data, mode) Bases: :py:obj:`MoveEvent` This event describes the route of an agent .. py:method:: set_route_data(route_data) .. py:method:: get_route_data_in_interval(start_time, end_time) .. py:method:: _xml_sub_elements() -> list | None .. py:method:: _get_xml_attrib() .. py:class:: PositionChangeEvent(time, origin, destination, distance, duration, mode) Bases: :py:obj:`MoveEvent` This event describes a position change of an agent .. py:class:: WaitEvent(time, reason, waiting_time) Bases: :py:obj:`DurationEvent` This event describes the a waiting agent .. py:method:: _total_duration() .. py:class:: IdleEvent(time, idle_duration) Bases: :py:obj:`Event` This event describes an idle agent .. py:class:: ServiceEvent(time, former_status, new_status) Bases: :py:obj:`Event` This event describes a status change of an agent service. .. py:class:: RequestEvent(time, request) Bases: :py:obj:`DurationEvent` This event describes a user request .. py:method:: _total_duration() .. py:class:: StopEvent(time, operator, service_vehicle, trip, stop) Bases: :py:obj:`Event` This event describes the processing of a Stop .. py:method:: set_dropoffs(dropoffs, dropoff_time) .. py:method:: set_pickups(pickups, pickup_time) .. py:method:: _xml_sub_elements() -> list | None .. py:method:: _get_xml_attrib() .. py:class:: StaffOperationEvent(time, staff, total, goal, targets=None, structure=None) Bases: :py:obj:`Event` This event describes a staff operation .. py:class:: GetVehicleEvent(time, agent, vehicle) Bases: :py:obj:`Event` This event describes an agent getting a vehicle .. py:class:: LeaveVehicleEvent(time, agent, vehicle) Bases: :py:obj:`Event` This event describes an agent returning a vehicle .. py:class:: LeaveSystemEvent(time) Bases: :py:obj:`Event` This event describes an agent leaving the simulation .. py:class:: DestinationReachedEvent(time) Bases: :py:obj:`Event` This event describes an agent reaching its destination .. py:class:: LeaveSimulationEvent(time, cause) Bases: :py:obj:`Event` This event describes an agent leaving the simulation.