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