Class ExponentialTask

  • All Implemented Interfaces:
    org.opentrafficsim.base.Identifiable, Task

    public class ExponentialTask
    extends AbstractTask
    Class for exponential demand.
    • Constructor Detail

      • ExponentialTask

        public ExponentialTask​(String id,
                               double initialTaskDemand,
                               double finalTaskDemand,
                               Duration tau,
                               OTSSimulatorInterface simulator)
        Constructor.
        Parameters:
        id - String; id
        initialTaskDemand - double; initial level of task demand
        finalTaskDemand - double; final level of task demand
        tau - Duration; time scale at which task demand changes from the initial to the final value
        simulator - OTSSimulatorInterface; simulator
    • Method Detail

      • calculateTaskDemand

        public double calculateTaskDemand​(LanePerception perception,
                                          LaneBasedGTU gtu,
                                          org.opentrafficsim.base.parameters.Parameters parameters)
                                   throws org.opentrafficsim.base.parameters.ParameterException,
                                          GTUException
        Returns the gross task demand to be managed by a task manager.
        Parameters:
        perception - LanePerception; perception
        gtu - LaneBasedGTU; gtu
        parameters - Parameters; parameters
        Returns:
        double; gross task demand
        Throws:
        org.opentrafficsim.base.parameters.ParameterException - if a parameter is missing or out of bounds
        GTUException - exceptions pertaining to the GTU