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-2012 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 <cassert>
37 #include "MSMeanData.h"
38 #include <limits>
39 
40 
41 // ===========================================================================
42 // class declarations
43 // ===========================================================================
44 class OutputDevice;
45 class MSLane;
46 
47 
48 // ===========================================================================
49 // class definitions
50 // ===========================================================================
62 class MSMeanData_HBEFA : public MSMeanData {
63 public:
72  public:
74  MSLaneMeanDataValues(MSLane* const lane, const SUMOReal length, const bool doAdd,
75  const std::set<std::string>* const vTypes = 0,
76  const MSMeanData_HBEFA* parent = 0) ;
77 
79  virtual ~MSLaneMeanDataValues() ;
80 
81 
84  void reset(bool afterWrite = false) ;
85 
90  void addTo(MSMeanData::MeanDataValues& val) const ;
91 
100  void write(OutputDevice& dev, const SUMOTime period,
101  const SUMOReal numLanes, const SUMOReal defaultTravelTime,
102  const int numVehicles = -1) const;
103 
104  protected:
115  void notifyMoveInternal(SUMOVehicle& veh, SUMOReal timeOnLane,
116  SUMOReal speed) ;
117 
118  private:
134 
136 
137  };
138 
139 
140 public:
155  MSMeanData_HBEFA(const std::string& id,
156  const SUMOTime dumpBegin, const SUMOTime dumpEnd,
157  const bool useLanes, const bool withEmpty,
158  const bool printDefaults, const bool withInternal,
159  const bool trackVehicles,
160  const SUMOReal minSamples, const SUMOReal maxTravelTime,
161  const std::set<std::string> vTypes) ;
162 
163 
165  virtual ~MSMeanData_HBEFA() ;
166 
167 protected:
173  MSMeanData::MeanDataValues* createValues(MSLane* const lane, const SUMOReal length, const bool doAdd) const;
174 
175 private:
178 
181 
182 };
183 
184 
185 #endif
186 
187 /****************************************************************************/
188