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.sourceforge.net/
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 
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