Eclipse SUMO - Simulation of Urban MObility
FareToken.h
Go to the documentation of this file.
1
/****************************************************************************/
2
// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3
// Copyright (C) 2002-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
// Fare Modul for calculating prices during intermodal routing
15
/****************************************************************************/
16
17
#ifndef SUMO_FARETOKEN_H
18
#define SUMO_FARETOKEN_H
19
enum class
FareToken
: int {
20
None
= 0,
21
Free
= 1,
// walking and other things can be free
22
H
= 2,
23
L
= 3,
24
T1
= 4,
25
T2
= 5,
26
T3
= 6,
27
Z
= 7,
28
M
= 8,
29
U
= 9,
30
KL
= 10,
31
KH
= 11,
32
K
= 12,
33
KHU
= 13,
34
KLU
= 14,
35
KHZ
= 15,
36
KLZ
= 16,
37
ZU
= 17,
//Artificial state for after leaving short trip khu or klu since a pedestrian edge does not allow us
38
//to distinguish between z or u zones
39
START
= 18
40
41
};
42
43
namespace
FareUtil
{
44
45
inline
std::string
tokenToString
(
FareToken
const
& token) {
46
switch
(token) {
47
case
FareToken::H
:
48
return
"H"
;
49
case
FareToken::L
:
50
return
"L"
;
51
case
FareToken::T1
:
52
return
"T1"
;
53
case
FareToken::T2
:
54
return
"T2"
;
55
case
FareToken::T3
:
56
return
"T3"
;
57
case
FareToken::U
:
58
return
"U"
;
59
case
FareToken::Z
:
60
return
"Z"
;
61
case
FareToken::M
:
62
return
"M"
;
63
case
FareToken::K
:
64
return
"K"
;
65
case
FareToken::KL
:
66
return
"KL"
;
67
case
FareToken::KH
:
68
return
"KH"
;
69
case
FareToken::ZU
:
70
return
"ZU"
;
71
case
FareToken::None
:
72
return
"None"
;
73
case
FareToken::Free
:
74
return
"Free"
;
75
case
FareToken::KHU
:
76
return
"KHU"
;
77
case
FareToken::KLU
:
78
return
"KLU"
;
79
case
FareToken ::KHZ:
80
return
"KHZ"
;
81
case
FareToken ::KLZ:
82
return
"KLZ"
;
83
default
:
84
return
""
;
85
}
86
}
87
88
89
inline
std::string
tokenToTicket
(
FareToken
const
& token) {
90
switch
(token) {
91
case
FareToken::H
:
92
return
"Einzelticket Halle"
;
93
case
FareToken::L
:
94
return
"Einzelticket Leipzig"
;
95
case
FareToken::T1
:
96
return
"Einzelticket Stadtverkehr 1"
;
97
case
FareToken::T2
:
98
return
"Einzelticket Stadtverkehr 2"
;
99
case
FareToken::T3
:
100
return
"Einzelticket Stadtverkehr 3"
;
101
case
FareToken::U
:
102
return
"Einzelticket"
;
103
case
FareToken::Z
:
104
return
"Einzelticket"
;
105
case
FareToken::M
:
106
return
"Einzelticket Verbundpreis"
;
107
case
FareToken::K
:
108
return
"Kurzstreckenticket"
;
109
case
FareToken::KL
:
110
return
"Kurzstreckenticket Leipzig"
;
111
case
FareToken::KH
:
112
return
"Kurzstreckenticket Halle"
;
113
case
FareToken::ZU
:
114
return
"None"
;
115
case
FareToken::None
:
116
return
"None"
;
117
case
FareToken::Free
:
118
return
"Free"
;
119
case
FareToken::KHU
:
120
return
"Kurzstreckenticket Halle"
;
121
case
FareToken::KLU
:
122
return
"Kurzstreckenticket Leipzig"
;
123
case
FareToken ::KHZ:
124
return
"Kurzstreckenticket Halle"
;
125
case
FareToken ::KLZ:
126
return
"Kurzstreckenticket Leipzig"
;
127
case
FareToken ::START:
128
return
"forbidden START"
;
129
}
130
return
""
;
//surpress compiler warning
131
}
132
133
inline
FareToken
stringToToken
(std::string str) {
134
if
(str ==
"H"
) {
135
return
FareToken::H
;
136
}
137
if
(str ==
"L"
) {
138
return
FareToken::L
;
139
}
140
if
(str ==
"T1"
) {
141
return
FareToken::T1
;
142
}
143
if
(str ==
"T2"
) {
144
return
FareToken::T2
;
145
}
146
if
(str ==
"T3"
) {
147
return
FareToken::T3
;
148
}
149
if
(str ==
"1"
) {
150
return
FareToken::T1
;
151
}
152
if
(str ==
"2"
) {
153
return
FareToken::T2
;
154
}
155
if
(str ==
"3"
) {
156
return
FareToken::T3
;
157
}
158
if
(str ==
"U"
) {
159
return
FareToken::U
;
160
}
161
if
(str ==
"Z"
) {
162
return
FareToken::Z
;
163
}
164
if
(str ==
"M"
) {
165
return
FareToken::M
;
166
}
167
if
(str ==
"K"
) {
168
return
FareToken::K
;
169
}
170
if
(str ==
"KL"
) {
171
return
FareToken::KL
;
172
}
173
if
(str ==
"KH"
) {
174
return
FareToken::KH
;
175
}
176
if
(str ==
"ZU"
) {
177
return
FareToken::ZU
;
178
}
179
if
(str ==
"None"
) {
180
return
FareToken::None
;
181
}
182
if
(str ==
"Free"
) {
183
return
FareToken::Free
;
184
}
185
if
(str ==
"KHU"
) {
186
return
FareToken::KHU
;
187
}
188
if
(str ==
"KLU"
) {
189
return
FareToken::KLU
;
190
}
191
if
(str ==
"KHZ"
) {
192
return
FareToken::KHZ
;
193
}
194
if
(str ==
"KLZ"
) {
195
return
FareToken::KLZ
;
196
}
197
if
(str ==
"NOTFOUND"
) {
198
return
FareToken::None
;
199
}
200
assert(
false
);
201
return
FareToken::None
;
202
}
203
204
}
205
#endif //SUMO_FARETOKEN_H
FareToken::Z
@ Z
FareToken::KHU
@ KHU
FareUtil::tokenToString
std::string tokenToString(FareToken const &token)
Definition:
FareToken.h:45
FareToken::T1
@ T1
FareToken::ZU
@ ZU
FareToken::T2
@ T2
FareToken::L
@ L
FareToken::M
@ M
FareToken::H
@ H
FareUtil::stringToToken
FareToken stringToToken(std::string str)
Definition:
FareToken.h:133
FareToken::U
@ U
FareToken::KLZ
@ KLZ
FareToken::KL
@ KL
FareToken::START
@ START
FareToken::None
@ None
FareUtil
Definition:
FareToken.h:43
FareToken::KH
@ KH
FareToken::KLU
@ KLU
FareToken::KHZ
@ KHZ
FareToken::K
@ K
FareToken::Free
@ Free
FareUtil::tokenToTicket
std::string tokenToTicket(FareToken const &token)
Definition:
FareToken.h:89
FareToken::T3
@ T3
FareToken
FareToken
Definition:
FareToken.h:19
src
utils
router
FareToken.h
Generated on Sun Jun 21 2020 23:18:41 for Eclipse SUMO - Simulation of Urban MObility by
1.8.17