Eclipse 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-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 // An induction loop for mesoscopic simulation
16 /****************************************************************************/
17 #ifndef MEInductLoop_h
18 #define MEInductLoop_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 #include <config.h>
25 
26 #include <string>
27 #include <deque>
28 #include <map>
29 #include <functional>
33 #include <utils/common/Named.h>
34 
35 
36 // ===========================================================================
37 // class declarations
38 // ===========================================================================
39 class MESegment;
40 
41 // ===========================================================================
42 // class definitions
43 // ===========================================================================
49 public:
50  MEInductLoop(const std::string& id,
51  MESegment* s,
52  double positionInMeters,
53  const std::string& vTypes);
54 
55 
56  ~MEInductLoop();
57 
70  dev.writeXMLHeader("detector", "det_e1meso_file.xsd");
71  }
72 
73 
86  void writeXMLOutput(OutputDevice& dev,
87  SUMOTime startTime, SUMOTime stopTime);
89 
90 protected:
93 
95  const double myPosition;
96 
99 
100 private:
101 
103  MEInductLoop();
104 
106  MEInductLoop(const MEInductLoop&);
107 
110 };
111 
112 #endif
113 
114 /****************************************************************************/
115 
const double myPosition
position from the start of the edge / lane
Definition: MEInductLoop.h:95
MEInductLoop()
Hidden default constructor.
long long int SUMOTime
Definition: SUMOTime.h:35
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:50
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:64
void writeXMLDetectorProlog(OutputDevice &dev) const
Opens the XML-output using "detector" as root element.
Definition: MEInductLoop.h:69
MSMeanData_Net::MSLaneMeanDataValues myMeanData
data collector for the loop
Definition: MEInductLoop.h:98
An induction loop for mesoscopic simulation.
Definition: MEInductLoop.h:48
MESegment *const mySegment
mesoscopic edge segment the loop lies on
Definition: MEInductLoop.h:92
Base of value-generating classes (detectors)