Eclipse SUMO - Simulation of Urban MObility
MSMeanData_Emissions.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 /****************************************************************************/
15 // Emission data collector for edges/lanes
16 /****************************************************************************/
17 #ifndef MSMeanData_Emissions_h
18 #define MSMeanData_Emissions_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 #include <config.h>
25 
26 #include <vector>
27 #include <set>
28 #include <limits>
30 #include "MSMeanData.h"
31 
32 
33 // ===========================================================================
34 // class declarations
35 // ===========================================================================
36 class OutputDevice;
37 class MSLane;
38 
39 
40 // ===========================================================================
41 // class definitions
42 // ===========================================================================
56 public:
65  public:
67  MSLaneMeanDataValues(MSLane* const lane, const double length, const bool doAdd,
68  const MSMeanData_Emissions* parent);
69 
71  virtual ~MSLaneMeanDataValues();
72 
73 
76  void reset(bool afterWrite = false);
77 
78 
83  void addTo(MSMeanData::MeanDataValues& val) const;
84 
85 
94  void write(OutputDevice& dev, const SUMOTime period,
95  const double numLanes, const double defaultTravelTime,
96  const int numVehicles = -1) const;
97 
98 
99  protected:
103  void notifyMoveInternal(const SUMOTrafficObject& veh, const double /* frontOnLane */, const double timeOnLane, const double /*meanSpeedFrontOnLane*/, const double meanSpeedVehicleOnLane, const double travelledDistanceFrontOnLane, const double travelledDistanceVehicleOnLane, const double /* meanLengthOnLane */);
104 
105 
106  private:
109  };
110 
111 
112 public:
127  MSMeanData_Emissions(const std::string& id,
128  const SUMOTime dumpBegin, const SUMOTime dumpEnd,
129  const bool useLanes, const bool withEmpty,
130  const bool printDefaults, const bool withInternal,
131  const bool trackVehicles,
132  const double minSamples, const double maxTravelTime,
133  const std::string& vTypes);
134 
135 
137  virtual ~MSMeanData_Emissions();
138 
139 
140 
141 protected:
147  MSMeanData::MeanDataValues* createValues(MSLane* const lane, const double length, const bool doAdd) const;
148 
149 
150 
151 private:
154 
157 
158 };
159 
160 
161 #endif
162 
163 /****************************************************************************/
164 
SUMOTrafficObject
Representation of a vehicle or person.
Definition: SUMOTrafficObject.h:47
MSLane
Representation of a lane in the micro simulation.
Definition: MSLane.h:82
OutputDevice
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:63
SUMOTime
long long int SUMOTime
Definition: SUMOTime.h:34
MSMeanData_Emissions::MSLaneMeanDataValues::write
void write(OutputDevice &dev, const SUMOTime period, const double numLanes, const double defaultTravelTime, const int numVehicles=-1) const
Writes output values into the given stream.
Definition: MSMeanData_Emissions.cpp:85
MSMeanData_Emissions::MSLaneMeanDataValues::~MSLaneMeanDataValues
virtual ~MSLaneMeanDataValues()
Destructor.
Definition: MSMeanData_Emissions.cpp:49
MSMeanData_Emissions::MSLaneMeanDataValues::myEmissions
PollutantsInterface::Emissions myEmissions
Collected values.
Definition: MSMeanData_Emissions.h:108
MSMeanData
Data collector for edges/lanes.
Definition: MSMeanData.h:59
MSMeanData_Emissions
Emission data collector for edges/lanes.
Definition: MSMeanData_Emissions.h:55
PollutantsInterface.h
MSMeanData_Emissions::MSLaneMeanDataValues::notifyMoveInternal
void notifyMoveInternal(const SUMOTrafficObject &veh, const double, const double timeOnLane, const double, const double meanSpeedVehicleOnLane, const double travelledDistanceFrontOnLane, const double travelledDistanceVehicleOnLane, const double)
Internal notification about the vehicle moves.
Definition: MSMeanData_Emissions.cpp:71
MSMeanData::MeanDataValues
Data structure for mean (aggregated) edge/lane values.
Definition: MSMeanData.h:68
MSMeanData_Emissions::~MSMeanData_Emissions
virtual ~MSMeanData_Emissions()
Destructor.
Definition: MSMeanData_Emissions.cpp:153
MSMeanData_Emissions::MSLaneMeanDataValues::MSLaneMeanDataValues
MSLaneMeanDataValues(MSLane *const lane, const double length, const bool doAdd, const MSMeanData_Emissions *parent)
Constructor.
Definition: MSMeanData_Emissions.cpp:42
MSMeanData_Emissions::MSLaneMeanDataValues::addTo
void addTo(MSMeanData::MeanDataValues &val) const
Add the values of this to the given one and store them there.
Definition: MSMeanData_Emissions.cpp:62
MSMeanData_Emissions::operator=
MSMeanData_Emissions & operator=(const MSMeanData_Emissions &)
Invalidated assignment operator.
PollutantsInterface::Emissions
Storage for collected values of all emission types.
Definition: PollutantsInterface.h:61
config.h
MSMeanData_Emissions::createValues
MSMeanData::MeanDataValues * createValues(MSLane *const lane, const double length, const bool doAdd) const
Create an instance of MeanDataValues.
Definition: MSMeanData_Emissions.cpp:157
MSMeanData.h
MSMeanData_Emissions::MSLaneMeanDataValues
Data structure for mean (aggregated) edge/lane values.
Definition: MSMeanData_Emissions.h:64
MSMeanData_Emissions::MSMeanData_Emissions
MSMeanData_Emissions(const std::string &id, const SUMOTime dumpBegin, const SUMOTime dumpEnd, const bool useLanes, const bool withEmpty, const bool printDefaults, const bool withInternal, const bool trackVehicles, const double minSamples, const double maxTravelTime, const std::string &vTypes)
Constructor.
Definition: MSMeanData_Emissions.cpp:138
MSMeanData_Emissions::MSLaneMeanDataValues::reset
void reset(bool afterWrite=false)
Resets values so they may be used for the next interval.
Definition: MSMeanData_Emissions.cpp:54