Class Sampler<G extends GtuData,​L extends LaneData>

    • Constructor Detail

      • Sampler

        public Sampler​(Set<ExtendedDataType<?,​?,​?,​G>> extendedDataTypes,
                       Set<FilterDataType<?>> filterDataTypes)
        Constructor.
        Parameters:
        extendedDataTypes - Set<ExtendedDataType<?, ?, ?, G>>; extended data types.
        filterDataTypes - Set<FilterDataType<?>>; filter data types.
    • Method Detail

      • getSamplerData

        public SamplerData<G> getSamplerData()
        Underlying sampler data.
        Returns:
        SamplerData<G>; underlying sampler data
      • contains

        public boolean contains​(ExtendedDataType<?,​?,​?,​?> extendedDataType)
        Whether this sampler has the given extended data type registered to it.
        Parameters:
        extendedDataType - ExtendedDataType<?,?,?,?>; extended data type
        Returns:
        whether this sampler has the given extended data type registered to it
      • registerSpaceTimeRegion

        public final void registerSpaceTimeRegion​(SpaceTimeRegion<L> spaceTimeRegion)
        Registers a space-time region. Data will be recorded across the entire length of a lane, but only during specified time periods.
        Parameters:
        spaceTimeRegion - SpaceTimeRegion<L>; space-time region
        Throws:
        IllegalStateException - if data is not available from the requested start time
      • now

        public abstract Time now()
        Returns the current simulation time.
        Returns:
        current simulation time
      • scheduleStartRecording

        public abstract void scheduleStartRecording​(Time time,
                                                    L lane)
        Schedules the start of recording for a given lane, i.e. the implementation has to invoke startRecording at the specified time, with the given lane as input. In case multiple space time-regions are registered for the same lane, this method is invoked whenever the next space-time region that is added has an earlier start time than any before.
        Parameters:
        time - Time; time to start recording
        lane - L; lane to start recording
      • scheduleStopRecording

        public abstract void scheduleStopRecording​(Time time,
                                                   L lane)
        Schedules the stop of recording for a given lane, i.e. the implementation has to invoke stopRecording at the specified time, with the given lane as input. In case multiple space time-regions are registered for the same lane, this method is invoked whenever the next space-time region that is added has a late end time than any before.
        Parameters:
        time - Time; time to stop recording
        lane - L; lane to stop recording
      • startRecording

        public final void startRecording​(L lane)
        Start recording at the given time (which should be the current time) on the given lane.
        Parameters:
        lane - L; lane
      • initRecording

        public abstract void initRecording​(L lane)
        Adds listeners to start recording.
        Parameters:
        lane - L; lane to initialize recording for
      • stopRecording

        public final void stopRecording​(L lane)
        Stop recording at given lane.
        Parameters:
        lane - L; lane
      • finalizeRecording

        public abstract void finalizeRecording​(L lane)
        Remove listeners to stop recording.
        Parameters:
        lane - L; lane
      • processGtuAddEventWithMove

        public final void processGtuAddEventWithMove​(L lane,
                                                     Length position,
                                                     Speed speed,
                                                     Acceleration acceleration,
                                                     Time time,
                                                     G gtu)
        Creates a trajectory with the current snapshot of a GTU.
        Parameters:
        lane - L; lane the gtu is at
        position - Length; position of the gtu on the lane
        speed - Speed; speed of the gtu
        acceleration - Acceleration; acceleration of the gtu
        time - Time; current time
        gtu - G; gtu
      • processGtuAddEvent

        public final void processGtuAddEvent​(L lane,
                                             G gtu)
        Creates a trajectory, including filter data.
        Parameters:
        lane - L; lane the gtu is at
        gtu - G; gtu
      • processGtuMoveEvent

        public final void processGtuMoveEvent​(L lane,
                                              Length position,
                                              Speed speed,
                                              Acceleration acceleration,
                                              Time time,
                                              G gtu)
        Adds a new snapshot of a GTU to its recording trajectory, if recorded. This method may be invoked on GTU that are not being recorded; the event will then be ignored.
        Parameters:
        lane - L; lane the gtu is at
        position - Length; position of the gtu on the lane
        speed - Speed; speed of the gtu
        acceleration - Acceleration; acceleration of the gtu
        time - Time; current time
        gtu - G; gtu
      • processGtuRemoveEventWithMove

        public final void processGtuRemoveEventWithMove​(L lane,
                                                        Length position,
                                                        Speed speed,
                                                        Acceleration acceleration,
                                                        Time time,
                                                        G gtu)
        Finalizes a trajectory with the current snapshot of a GTU.
        Parameters:
        lane - L; lane the gtu is at
        position - Length; position of the gtu on the lane
        speed - Speed; speed of the gtu
        acceleration - Acceleration; acceleration of the gtu
        time - Time; current time
        gtu - G; gtu
      • processGtuRemoveEvent

        public final void processGtuRemoveEvent​(L lane,
                                                G gtu)
        Finalizes a trajectory.
        Parameters:
        lane - L; lane the gtu is at
        gtu - G; gtu
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object