SUMO - Simulation of Urban MObility
MEInductLoop.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-2017 German Aerospace Center (DLR) and others.
4 /****************************************************************************/
5 //
6 // This program and the accompanying materials
7 // are made available under the terms of the Eclipse Public License v2.0
8 // which accompanies this distribution, and is available at
9 // http://www.eclipse.org/legal/epl-v20.html
10 //
11 /****************************************************************************/
17 // An induction loop for mesoscopic simulation
18 /****************************************************************************/
19 #ifndef MEInductLoop_h
20 #define MEInductLoop_h
21 
22 
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 #ifdef _MSC_VER
27 #include <windows_config.h>
28 #else
29 #include <config.h>
30 #endif
31 
32 #include <string>
33 #include <deque>
34 #include <map>
35 #include <functional>
39 #include <utils/common/Named.h>
40 
41 
42 // ===========================================================================
43 // class declarations
44 // ===========================================================================
45 class MESegment;
46 
47 // ===========================================================================
48 // class definitions
49 // ===========================================================================
55 public:
56  MEInductLoop(const std::string& id,
57  MESegment* s,
58  double positionInMeters,
59  const std::string& vTypes);
60 
61 
62  ~MEInductLoop();
63 
76  dev.writeXMLHeader("detector", "det_e1meso_file.xsd");
77  }
78 
79 
92  void writeXMLOutput(OutputDevice& dev,
93  SUMOTime startTime, SUMOTime stopTime);
95 
96 protected:
99 
101  const double myPosition;
102 
105 
106 private:
107 
109  MEInductLoop();
110 
112  MEInductLoop(const MEInductLoop&);
113 
116 };
117 
118 #endif
119 
120 /****************************************************************************/
121 
const double myPosition
position from the start of the edge / lane
Definition: MEInductLoop.h:101
MEInductLoop()
Hidden default constructor.
void writeXMLOutput(OutputDevice &dev, SUMOTime startTime, SUMOTime stopTime)
Data structure for mean (aggregated) edge/lane values.
bool writeXMLHeader(const std::string &rootElement, const std::string &schemaFile, std::map< SumoXMLAttr, std::string > attrs=std::map< SumoXMLAttr, std::string >())
Writes an XML header with optional configuration.
MEInductLoop & operator=(const MEInductLoop &)
Hidden assignment operator.
A single mesoscopic segment (cell)
Definition: MESegment.h:56
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:70
long long int SUMOTime
Definition: TraCIDefs.h:51
void writeXMLDetectorProlog(OutputDevice &dev) const
Opens the XML-output using "detector" as root element.
Definition: MEInductLoop.h:75
MSMeanData_Net::MSLaneMeanDataValues myMeanData
data collector for the loop
Definition: MEInductLoop.h:104
An induction loop for mesoscopic simulation.
Definition: MEInductLoop.h:54
MESegment *const mySegment
mesoscopic edge segment the loop lies on
Definition: MEInductLoop.h:98
Base of value-generating classes (detectors)