LCOV - code coverage report
Current view: top level - src/microsim/cfmodels - MSCFModel_KraussPS.h (source / functions) Hit Total Coverage
Test: lcov.info Lines: 0 2 0.0 %
Date: 2024-05-04 15:27:10 Functions: 0 1 0.0 %

          Line data    Source code
       1             : /****************************************************************************/
       2             : // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
       3             : // Copyright (C) 2001-2024 German Aerospace Center (DLR) and others.
       4             : // This program and the accompanying materials are made available under the
       5             : // terms of the Eclipse Public License 2.0 which is available at
       6             : // https://www.eclipse.org/legal/epl-2.0/
       7             : // This Source Code may also be made available under the following Secondary
       8             : // Licenses when the conditions for such availability set forth in the Eclipse
       9             : // Public License 2.0 are satisfied: GNU General Public License, version 2
      10             : // or later which is available at
      11             : // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
      12             : // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
      13             : /****************************************************************************/
      14             : /// @file    MSCFModel_KraussPS.h
      15             : /// @author  Tobias Mayer
      16             : /// @author  Daniel Krajzewicz
      17             : /// @author  Jakob Erdmann
      18             : /// @author  Michael Behrisch
      19             : /// @date    Tue, 28 Jul 2009
      20             : ///
      21             : // Krauss car-following model, changing accel and speed by slope
      22             : /****************************************************************************/
      23             : #pragma once
      24             : #include <config.h>
      25             : 
      26             : #include "MSCFModel_Krauss.h"
      27             : #include <utils/xml/SUMOXMLDefinitions.h>
      28             : 
      29             : 
      30             : // ===========================================================================
      31             : // class definitions
      32             : // ===========================================================================
      33             : /** @class MSCFModel_KraussPS
      34             :  * @brief Krauss car-following model, changing accel and speed by slope
      35             :  * @see MSCFModel
      36             :  * @see MSCFModel_Krauss
      37             :  */
      38             : class MSCFModel_KraussPS : public MSCFModel_Krauss {
      39             : public:
      40             :     /** @brief Constructor
      41             :      *  @param[in] vtype the type for which this model is built and also the parameter object to configure this model
      42             :      */
      43             :     MSCFModel_KraussPS(const MSVehicleType* vtype);
      44             : 
      45             : 
      46             :     /// @brief Destructor
      47             :     ~MSCFModel_KraussPS();
      48             : 
      49             : 
      50             :     /// @name Implementations of the MSCFModel interface
      51             :     /// @{
      52             : 
      53             :     /** @brief Returns the maximum speed given the current speed
      54             :      *
      55             :      * The implementation of this method must take into account the time step
      56             :      *  duration.
      57             :      *
      58             :      * Justification: Due to air brake or other influences, the vehicle's next maximum
      59             :      *  speed may depend on the vehicle's current speed (given).
      60             :      *
      61             :      * @param[in] speed The vehicle's current speed
      62             :      * @param[in] speed The vehicle itself, for obtaining other values
      63             :      * @return The maximum possible speed for the next step
      64             :      */
      65             :     double maxNextSpeed(double speed, const MSVehicle* const veh) const;
      66             : 
      67             : 
      68             :     /** @brief Returns the model's name
      69             :      * @return The model's name
      70             :      * @see MSCFModel::getModelName
      71             :      */
      72           0 :     int getModelID() const {
      73           0 :         return SUMO_TAG_CF_KRAUSS_PLUS_SLOPE;
      74             :     }
      75             :     /// @}
      76             : 
      77             : 
      78             :     /** @brief Duplicates the car-following model
      79             :      * @param[in] vtype The vehicle type this model belongs to (1:1)
      80             :      * @return A duplicate of this car-following model
      81             :      */
      82             :     MSCFModel* duplicate(const MSVehicleType* vtype) const;
      83             : 
      84             : 
      85             : };

Generated by: LCOV version 1.14