SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHEMCEPHandler.h
Go to the documentation of this file.
1 /****************************************************************************/
10 // Helper singelton class for PHEM Light, holds CEP data for emission computation
11 /****************************************************************************/
12 // SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
13 // Copyright (C) 2013-2014 DLR (http://www.dlr.de/) and contributors
14 /****************************************************************************/
15 //
16 // This file is part of SUMO.
17 // SUMO is free software: you can redistribute it and/or modify
18 // it under the terms of the GNU General Public License as published by
19 // the Free Software Foundation, either version 3 of the License, or
20 // (at your option) any later version.
21 //
22 /****************************************************************************/
23 #ifndef PHEMCEPHandler_h
24 #define PHEMCEPHandler_h
25 
26 // ===========================================================================
27 // included modules
28 // ===========================================================================
29 #ifdef _MSC_VER
30 #include <windows_config.h>
31 #else
32 #include <config.h>
33 #endif
34 
35 #include <vector>
37 #include "PHEMCEP.h"
38 
39 
40 // ===========================================================================
41 // class definitions
42 // ===========================================================================
48 public:
51 
52 
57 
58 
63  PHEMCEP* GetCep(SUMOEmissionClass emissionClass);
64 
65 
70  bool Load(SUMOEmissionClass emissionClass, const std::string& emissionClassIdentifier);
71 
72 
73 private:
96  bool ReadVehicleFile(const std::string& path, const std::string& emissionClass,
97  double& vehicleMass, double& vehicleLoading, double& vehicleMassRot,
98  double& crossArea, double& cWValue,
99  double& f0, double& f1, double& f2, double& f3, double& f4, double& ratedPower, std::string& vehicleMassType, std::string& vehicleFuelType,
100  double& pNormV0, double& pNormP0, double& pNormV1, double& pNormP1, std::vector< std::vector<double> >& matrixRotFactor);
101 
102 
110  bool ReadEmissionData(bool readFC, const std::string& path, const std::string& emissionClass,
111  std::vector<std::string>& header, std::vector<std::vector<double> >& matrix);
112 
113 
114 private:
116  std::map<SUMOEmissionClass, PHEMCEP*> _ceps;
117 
118 
119 private:
123  PHEMCEPHandler();
125  void operator=(PHEMCEPHandler const&);
126 
127 };
128 
129 #endif