Class DistractionFactory


  • public class DistractionFactory
    extends Object
    Utility to create a list of default distractions as derived by the research of Manuel Lindorfer.

    Copyright (c) 2013-2022 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
    BSD-style license. See OpenTrafficSim License.

    Version:
    $Revision$, $LastChangedDate$, by $Author$, initial version 28 jun. 2018
    Author:
    Alexander Verbraeck, Peter Knoppers, Wouter Schakel
    • Constructor Detail

      • DistractionFactory

        public DistractionFactory​(StreamInterface stream)
        Constructor.
        Parameters:
        stream - StreamInterface; random number stream
    • Method Detail

      • addDistraction

        public final DistractionFactory addDistraction​(DefaultDistraction defaultDistraction,
                                                       double taskDemand)
        Adds a default distraction.
        Parameters:
        defaultDistraction - DefaultDistraction; default distraction
        taskDemand - double; task demand
        Returns:
        DistractionFactory; this factory for method chaining
      • addDistraction

        public final DistractionFactory addDistraction​(DefaultDistraction defaultDistraction,
                                                       TaskSupplier taskSupplier)
        Adds a default distraction.
        Parameters:
        defaultDistraction - DefaultDistraction; default distraction
        taskSupplier - TaskSupplier; task supplier
        Returns:
        DistractionFactory; this factory for method chaining
      • addDistraction

        public final DistractionFactory addDistraction​(String id,
                                                       String description,
                                                       Frequency frequency,
                                                       double exposure,
                                                       Duration averageDuration,
                                                       Duration stdDuration,
                                                       double taskDemand)
        Helper method to create a distraction.
        Parameters:
        id - String; id
        description - String; description
        frequency - Frequency; frequency per exposed driver
        exposure - double; exposure (value in range [0...1])
        averageDuration - Duration; average duration
        stdDuration - Duration; standard deviation of duration
        taskDemand - double; task demand
        Returns:
        DistractionFactory; this factory for method chaining
      • addDistraction

        public final DistractionFactory addDistraction​(String id,
                                                       String description,
                                                       Frequency frequency,
                                                       double exposure,
                                                       Duration averageDuration,
                                                       Duration stdDuration,
                                                       TaskSupplier taskSupplier)
        Helper method to create a distraction.
        Parameters:
        id - String; id
        description - String; description
        frequency - Frequency; frequency per exposed driver
        exposure - double; exposure (value in range [0...1])
        averageDuration - Duration; average duration
        stdDuration - Duration; standard deviation of duration
        taskSupplier - TaskSupplier; task supplier
        Returns:
        DistractionFactory; this factory for method chaining
      • build

        public final List<Distraction> build()
        Returns the list of distractions.
        Returns:
        List; list of distractions