SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MSMeanData_HBEFA.h
Go to the documentation of this file.
1 /****************************************************************************/
8 // Emission data collector for edges/lanes
9 /****************************************************************************/
10 // SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
11 // Copyright (C) 2001-2013 DLR (http://www.dlr.de/) and contributors
12 /****************************************************************************/
13 //
14 // This file is part of SUMO.
15 // SUMO is free software: you can redistribute it and/or modify
16 // it under the terms of the GNU General Public License as published by
17 // the Free Software Foundation, either version 3 of the License, or
18 // (at your option) any later version.
19 //
20 /****************************************************************************/
21 #ifndef MSMeanData_HBEFA_h
22 #define MSMeanData_HBEFA_h
23 
24 
25 // ===========================================================================
26 // included modules
27 // ===========================================================================
28 #ifdef _MSC_VER
29 #include <windows_config.h>
30 #else
31 #include <config.h>
32 #endif
33 
34 #include <vector>
35 #include <set>
36 #include "MSMeanData.h"
37 #include <limits>
38 
39 
40 // ===========================================================================
41 // class declarations
42 // ===========================================================================
43 class OutputDevice;
44 class MSLane;
45 
46 
47 // ===========================================================================
48 // class definitions
49 // ===========================================================================
61 class MSMeanData_HBEFA : public MSMeanData {
62 public:
71  public:
73  MSLaneMeanDataValues(MSLane* const lane, const SUMOReal length, const bool doAdd,
74  const std::set<std::string>* const vTypes = 0,
75  const MSMeanData_HBEFA* parent = 0);
76 
78  virtual ~MSLaneMeanDataValues();
79 
80 
83  void reset(bool afterWrite = false);
84 
89  void addTo(MSMeanData::MeanDataValues& val) const;
90 
99  void write(OutputDevice& dev, const SUMOTime period,
100  const SUMOReal numLanes, const SUMOReal defaultTravelTime,
101  const int numVehicles = -1) const;
102 
103  protected:
114  void notifyMoveInternal(SUMOVehicle& veh, SUMOReal timeOnLane,
115  SUMOReal speed);
116 
117  private:
133  const MSMeanData_HBEFA* myParent;
135 
136  };
137 
138 
139 public:
154  MSMeanData_HBEFA(const std::string& id,
155  const SUMOTime dumpBegin, const SUMOTime dumpEnd,
156  const bool useLanes, const bool withEmpty,
157  const bool printDefaults, const bool withInternal,
158  const bool trackVehicles,
159  const SUMOReal minSamples, const SUMOReal maxTravelTime,
160  const std::set<std::string> vTypes);
161 
162 
164  virtual ~MSMeanData_HBEFA();
165 
166 protected:
172  MSMeanData::MeanDataValues* createValues(MSLane* const lane, const SUMOReal length, const bool doAdd) const;
173 
174 private:
177 
180 
181 };
182 
183 
184 #endif
185 
186 /****************************************************************************/
187 
Data collector for edges/lanes.
Definition: MSMeanData.h:66
virtual ~MSMeanData_HBEFA()
Destructor.
void reset(bool afterWrite=false)
Resets values so they may be used for the next interval.
void addTo(MSMeanData::MeanDataValues &val) const
Add the values of this to the given one and store them there.
Representation of a vehicle.
Definition: SUMOVehicle.h:63
Data structure for mean (aggregated) edge/lane values.
Definition: MSMeanData.h:75
SUMOReal HC
Sum of HC emissions in mg.
MSMeanData_HBEFA & operator=(const MSMeanData_HBEFA &)
Invalidated assignment operator.
void notifyMoveInternal(SUMOVehicle &veh, SUMOReal timeOnLane, SUMOReal speed)
Internal notification about the vehicle moves.
SUMOReal fuel
Sum of consumed fuel in ml.
SUMOReal PMx
Sum of PMx emissions in mg.
MSMeanData_HBEFA(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 SUMOReal minSamples, const SUMOReal maxTravelTime, const std::set< std::string > vTypes)
Constructor.
Data structure for mean (aggregated) edge/lane values.
MSMeanData::MeanDataValues * createValues(MSLane *const lane, const SUMOReal length, const bool doAdd) const
Create an instance of MeanDataValues.
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:70
#define SUMOReal
Definition: config.h:221
const MSMeanData_HBEFA * myParent
The meandata parent.
MSLaneMeanDataValues(MSLane *const lane, const SUMOReal length, const bool doAdd, const std::set< std::string > *const vTypes=0, const MSMeanData_HBEFA *parent=0)
Constructor.
SUMOReal CO
Sum of CO emissions in mg.
Representation of a lane in the micro simulation.
Definition: MSLane.h:73
Emission data collector for edges/lanes.
SUMOReal NOx
Sum of NOx emissions in mg.
void write(OutputDevice &dev, const SUMOTime period, const SUMOReal numLanes, const SUMOReal defaultTravelTime, const int numVehicles=-1) const
Writes output values into the given stream.