Eclipse SUMO - Simulation of Urban MObility
MSCFModel_KraussX.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
14 // Experimental extensions to the Krauss car-following model
15 /****************************************************************************/
16 #ifndef MSCFModel_KraussX_h
17 #define MSCFModel_KraussX_h
18 
19 // ===========================================================================
20 // included modules
21 // ===========================================================================
22 #include <config.h>
23 
24 #include "MSCFModel_Krauss.h"
26 
27 
28 // ===========================================================================
29 // class definitions
30 // ===========================================================================
37 public:
41  MSCFModel_KraussX(const MSVehicleType* vtype);
42 
43 
46 
47 
51  double patchSpeedBeforeLC(const MSVehicle* veh, double vMin, double vMax) const;
52 
53 
58  int getModelID() const {
59  return SUMO_TAG_CF_KRAUSSX;
60  }
62 
63 
68  MSCFModel* duplicate(const MSVehicleType* vtype) const;
69 
70 private:
71 
72 
80  double dawdleX(double vOld, double vMin, double vMax, std::mt19937* rng) const;
81 
83  double myTmp1;
84  double myTmp2;
85 
86 };
87 
88 #endif /* MSCFModel_KraussX_H */
89 
MSVehicleType
The car-following model and parameter.
Definition: MSVehicleType.h:65
MSCFModel_KraussX::myTmp1
double myTmp1
extension parameter nr1
Definition: MSCFModel_KraussX.h:83
MSCFModel_Krauss
Krauss car-following model, with acceleration decrease and faster start.
Definition: MSCFModel_Krauss.h:38
MSCFModel_KraussX::duplicate
MSCFModel * duplicate(const MSVehicleType *vtype) const
Duplicates the car-following model.
Definition: MSCFModel_KraussX.cpp:49
MSCFModel_KraussX
Krauss car-following model, changing accel and speed by slope.
Definition: MSCFModel_KraussX.h:36
SUMO_TAG_CF_KRAUSSX
Definition: SUMOXMLDefinitions.h:278
MSCFModel_KraussX::dawdleX
double dawdleX(double vOld, double vMin, double vMax, std::mt19937 *rng) const
Applies driver imperfection (dawdling / sigma)
Definition: MSCFModel_KraussX.cpp:61
MSCFModel_KraussX::myTmp2
double myTmp2
Definition: MSCFModel_KraussX.h:84
MSCFModel_Krauss.h
MSCFModel
The car-following model abstraction.
Definition: MSCFModel.h:56
config.h
MSCFModel_KraussX::~MSCFModel_KraussX
~MSCFModel_KraussX()
Destructor.
Definition: MSCFModel_KraussX.cpp:45
SUMOXMLDefinitions.h
MSCFModel_KraussX::MSCFModel_KraussX
MSCFModel_KraussX(const MSVehicleType *vtype)
Constructor.
Definition: MSCFModel_KraussX.cpp:38
MSCFModel_KraussX::patchSpeedBeforeLC
double patchSpeedBeforeLC(const MSVehicle *veh, double vMin, double vMax) const
apply custom speed adaptations within the given speed bounds
Definition: MSCFModel_KraussX.cpp:55
MSCFModel_KraussX::getModelID
int getModelID() const
Returns the model's name.
Definition: MSCFModel_KraussX.h:58
MSVehicle
Representation of a vehicle in the micro simulation.
Definition: MSVehicle.h:79