Eclipse SUMO - Simulation of Urban MObility
TrajectoriesHandler.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2014-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 /****************************************************************************/
14 // An XML-Handler for amitran and netstate trajectories
15 /****************************************************************************/
16 #ifndef TrajectoriesHandler_h
17 #define TrajectoriesHandler_h
18 
19 
20 // ===========================================================================
21 // included modules
22 // ===========================================================================
23 #include <config.h>
24 
25 #include <string>
26 #include <utility>
28 
29 
30 // ===========================================================================
31 // class definitions
32 // ===========================================================================
40 public:
41  static const int INVALID_VALUE = -999999;
42 
43 public:
48  TrajectoriesHandler(const bool computeA, const bool computeAForward, const bool accelZeroCorrection,
49  const SUMOEmissionClass defaultClass,
50  const double defaultSlope, std::ostream* stdOut, OutputDevice* xmlOut);
51 
52 
55 
56  const PollutantsInterface::Emissions computeEmissions(const std::string id,
57  const SUMOEmissionClass c, double& v,
58  double& a, double& s);
59 
60  bool writeEmissions(std::ostream& o, const std::string id,
61  const SUMOEmissionClass c,
62  double t, double& v,
63  double& a, double& s);
64 
65  bool writeXMLEmissions(const std::string id,
66  const SUMOEmissionClass c,
67  SUMOTime t, double& v,
68  double a = INVALID_VALUE, double s = INVALID_VALUE);
69 
70  void writeSums(std::ostream& o, const std::string id);
71 
72  void writeNormedSums(std::ostream& o, const std::string id, const double factor);
73 
74 
75 protected:
77 
78 
88  void myStartElement(int element,
89  const SUMOSAXAttributes& attrs);
91 
92 
93 private:
94  const bool myComputeA;
95  const bool myComputeAForward;
98  const double myDefaultSlope;
99  std::ostream* myStdOut;
101  std::map<std::string, double> myLastV;
102  std::map<std::string, double> myLastSlope;
104  double myStepSize;
105  std::map<std::string, PollutantsInterface::Emissions> mySums;
106  std::map<std::string, SUMOEmissionClass> myEmissionClassByType;
107  std::map<std::string, SUMOEmissionClass> myEmissionClassByVehicle;
108 
109 
110 private:
113 
116 
117 
118 };
119 
120 
121 #endif
122 
123 /****************************************************************************/
124 
TrajectoriesHandler::~TrajectoriesHandler
~TrajectoriesHandler()
Destructor.
Definition: TrajectoriesHandler.cpp:47
TrajectoriesHandler::operator=
TrajectoriesHandler & operator=(const TrajectoriesHandler &s)
invalidated assignment operator
TrajectoriesHandler::myEmissionClassByVehicle
std::map< std::string, SUMOEmissionClass > myEmissionClassByVehicle
Definition: TrajectoriesHandler.h:107
TrajectoriesHandler::myStdOut
std::ostream * myStdOut
Definition: TrajectoriesHandler.h:99
TrajectoriesHandler::computeEmissions
const PollutantsInterface::Emissions computeEmissions(const std::string id, const SUMOEmissionClass c, double &v, double &a, double &s)
Definition: TrajectoriesHandler.cpp:112
SUMOSAXHandler
SAX-handler base for SUMO-files.
Definition: SUMOSAXHandler.h:41
OutputDevice
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:63
TrajectoriesHandler::writeXMLEmissions
bool writeXMLEmissions(const std::string id, const SUMOEmissionClass c, SUMOTime t, double &v, double a=INVALID_VALUE, double s=INVALID_VALUE)
Definition: TrajectoriesHandler.cpp:169
TrajectoriesHandler::myComputeA
const bool myComputeA
Definition: TrajectoriesHandler.h:94
SUMOSAXHandler.h
TrajectoriesHandler::myAccelZeroCorrection
const bool myAccelZeroCorrection
Definition: TrajectoriesHandler.h:96
SUMOTime
long long int SUMOTime
Definition: SUMOTime.h:34
TrajectoriesHandler::INVALID_VALUE
static const int INVALID_VALUE
Definition: TrajectoriesHandler.h:41
SUMOEmissionClass
int SUMOEmissionClass
Definition: SUMOVehicleClass.h:231
TrajectoriesHandler::writeEmissions
bool writeEmissions(std::ostream &o, const std::string id, const SUMOEmissionClass c, double t, double &v, double &a, double &s)
Definition: TrajectoriesHandler.cpp:145
TrajectoriesHandler::myLastSlope
std::map< std::string, double > myLastSlope
Definition: TrajectoriesHandler.h:102
TrajectoriesHandler::myCurrentTime
SUMOTime myCurrentTime
Definition: TrajectoriesHandler.h:103
TrajectoriesHandler::myDefaultSlope
const double myDefaultSlope
Definition: TrajectoriesHandler.h:98
TrajectoriesHandler
An XML-Handler for amitran and netstate trajectories.
Definition: TrajectoriesHandler.h:39
TrajectoriesHandler::myXMLOut
OutputDevice * myXMLOut
Definition: TrajectoriesHandler.h:100
TrajectoriesHandler::myEmissionClassByType
std::map< std::string, SUMOEmissionClass > myEmissionClassByType
Definition: TrajectoriesHandler.h:106
PollutantsInterface::Emissions
Storage for collected values of all emission types.
Definition: PollutantsInterface.h:61
TrajectoriesHandler::myDefaultClass
const SUMOEmissionClass myDefaultClass
Definition: TrajectoriesHandler.h:97
TrajectoriesHandler::myComputeAForward
const bool myComputeAForward
Definition: TrajectoriesHandler.h:95
config.h
TrajectoriesHandler::myLastV
std::map< std::string, double > myLastV
Definition: TrajectoriesHandler.h:101
TrajectoriesHandler::myStepSize
double myStepSize
Definition: TrajectoriesHandler.h:104
TrajectoriesHandler::writeSums
void writeSums(std::ostream &o, const std::string id)
Definition: TrajectoriesHandler.cpp:194
TrajectoriesHandler::writeNormedSums
void writeNormedSums(std::ostream &o, const std::string id, const double factor)
Definition: TrajectoriesHandler.cpp:206
TrajectoriesHandler::mySums
std::map< std::string, PollutantsInterface::Emissions > mySums
Definition: TrajectoriesHandler.h:105
TrajectoriesHandler::TrajectoriesHandler
TrajectoriesHandler(const bool computeA, const bool computeAForward, const bool accelZeroCorrection, const SUMOEmissionClass defaultClass, const double defaultSlope, std::ostream *stdOut, OutputDevice *xmlOut)
Constructor.
Definition: TrajectoriesHandler.cpp:40
SUMOSAXAttributes
Encapsulated SAX-Attributes.
Definition: SUMOSAXAttributes.h:56
TrajectoriesHandler::myStartElement
void myStartElement(int element, const SUMOSAXAttributes &attrs)
Called when an opening-tag occurs.
Definition: TrajectoriesHandler.cpp:51