Eclipse SUMO - Simulation of Urban MObility
FareModul Class Reference

#include <FareModul.h>

Inheritance diagram for FareModul:
[legend]
Collaboration diagram for FareModul:
[legend]

Public Member Functions

void addStop (const int stopEdge, const Parameterised &params) override
 
 FareModul ()
 
double getEffort (const int numericalID) const override
 
void init (const std::vector< std::string > &edges) override
 
void setInitialState (const int edge) override
 
void update (const int edge, const int prev, const double length) override
 

Private Member Functions

double computePrice (FareState const &fareState) const
 
std::string output (const int edge) const override
 
void updateFareState (FareState const &currentFareState, const int intermodalEdge)
 
void updateFareStateAccess (FareState const &currentFareState, const int accessEdge, const int prev)
 
void updateFareStatePedestrian (FareState const &currentFareState, const int pedestrianEdge)
 
void updateFareStatePublic (FareState const &currentFareState, const int publicTransportEdge, const double length)
 
void updateFareStateStop (FareState const &currentFareState, const int stopEdge)
 

Private Attributes

std::vector< std::string > myEdges
 
std::vector< FareStatemyFareStates
 
std::map< int, FareTokenmyStopFareToken
 
std::map< int, int > myStopFareZone
 
std::map< int, FareTokenmyStopStartToken
 
Prices prices
 

Detailed Description

The fare modul responsible for calculating prices

Definition at line 159 of file FareModul.h.

Constructor & Destructor Documentation

◆ FareModul()

FareModul::FareModul ( )
inline

Constructor

Definition at line 163 of file FareModul.h.

Member Function Documentation

◆ addStop()

void FareModul::addStop ( const int  stopEdge,
const Parameterised params 
)
inlineoverridevirtual

◆ computePrice()

double FareModul::computePrice ( FareState const &  fareState) const
inlineprivate

Definition at line 254 of file FareModul.h.

References Free, Prices::halle, K, L, Prices::leipzig, Prices::maxPrice, FareState::myCounter, FareState::myFareToken, None, ZoneCounter::numZones(), prices, Prices::shortTrip, Prices::shortTripHalle, Prices::shortTripLeipzig, Prices::t1, Prices::t2, Prices::t3, U, Prices::zonePrices, and ZU.

Referenced by output(), and update().

Here is the caller graph for this function:

◆ getEffort()

double FareModul::getEffort ( const int  numericalID) const
inlineoverridevirtual

Implementation of EffortCalculator

Implements EffortCalculator.

Definition at line 180 of file FareModul.h.

References FareState::isValid(), myFareStates, and FareState::myPriceDiff.

◆ init()

void FareModul::init ( const std::vector< std::string > &  edges)
inlineoverridevirtual

Implementation of EffortCalculator

Implements EffortCalculator.

Definition at line 168 of file FareModul.h.

References myEdges, and myFareStates.

◆ output()

std::string FareModul::output ( const int  edge) const
inlineoverrideprivatevirtual

basic output facility to inform about effort at this edge

Implements EffortCalculator.

Definition at line 296 of file FareModul.h.

References computePrice(), FareState::myCounter, myFareStates, FareState::myFareToken, ZoneCounter::numZones(), FareUtil::tokenToTicket(), U, and Z.

◆ setInitialState()

void FareModul::setInitialState ( const int  edge)
inlineoverridevirtual

Implementation of EffortCalculator _IntermodalEdge should be an Connector Edge

Implements EffortCalculator.

Definition at line 227 of file FareModul.h.

References myFareStates, and START.

◆ update()

void FareModul::update ( const int  edge,
const int  prev,
const double  length 
)
inlineoverridevirtual

◆ updateFareState()

void FareModul::updateFareState ( FareState const &  currentFareState,
const int  intermodalEdge 
)
inlineprivate

Definition at line 492 of file FareModul.h.

References Free, myFareStates, FareState::myFareToken, None, and START.

Referenced by update().

Here is the caller graph for this function:

◆ updateFareStateAccess()

void FareModul::updateFareStateAccess ( FareState const &  currentFareState,
const int  accessEdge,
const int  prev 
)
inlineprivate

Definition at line 508 of file FareModul.h.

References Free, H, K, KH, KHU, KHZ, KL, KLU, KLZ, L, FareState::myCounter, myEdges, myFareStates, FareState::myFareToken, ZoneCounter::numZones(), START, U, and Z.

Referenced by update().

Here is the caller graph for this function:

◆ updateFareStatePedestrian()

void FareModul::updateFareStatePedestrian ( FareState const &  currentFareState,
const int  pedestrianEdge 
)
inlineprivate

Definition at line 465 of file FareModul.h.

References Free, myFareStates, FareState::myFareToken, and START.

Referenced by update().

Here is the caller graph for this function:

◆ updateFareStatePublic()

void FareModul::updateFareStatePublic ( FareState const &  currentFareState,
const int  publicTransportEdge,
const double  length 
)
inlineprivate

Definition at line 479 of file FareModul.h.

References myFareStates, FareState::myFareToken, FareState::myTravelledDistance, and None.

Referenced by update().

Here is the caller graph for this function:

◆ updateFareStateStop()

void FareModul::updateFareStateStop ( FareState const &  currentFareState,
const int  stopEdge 
)
inlineprivate

Definition at line 325 of file FareModul.h.

References ZoneCounter::addZone(), H, K, KH, KHU, KHZ, KL, KLU, KLZ, L, M, FareState::myCounter, myFareStates, FareState::myFareToken, myStopFareToken, myStopFareZone, myStopStartToken, FareState::myTravelledDistance, FareState::myVisistedStops, None, ZoneCounter::numZones(), T1, T2, T3, U, Z, and ZU.

Referenced by update().

Here is the caller graph for this function:

Field Documentation

◆ myEdges

std::vector<std::string> FareModul::myEdges
private

List of all edge line attributes

Definition at line 240 of file FareModul.h.

Referenced by init(), update(), and updateFareStateAccess().

◆ myFareStates

std::vector<FareState> FareModul::myFareStates
private

◆ myStopFareToken

std::map<int, FareToken> FareModul::myStopFareToken
private

the faretoken that can be collected at this station

Definition at line 246 of file FareModul.h.

Referenced by addStop(), and updateFareStateStop().

◆ myStopFareZone

std::map<int, int> FareModul::myStopFareZone
private

the fare zone this stop is a part of

Definition at line 243 of file FareModul.h.

Referenced by addStop(), and updateFareStateStop().

◆ myStopStartToken

std::map<int, FareToken> FareModul::myStopStartToken
private

the faretoken that is used when a trip is started at this station

Definition at line 249 of file FareModul.h.

Referenced by addStop(), and updateFareStateStop().

◆ prices

Prices FareModul::prices
private

List of the prices

Definition at line 252 of file FareModul.h.

Referenced by computePrice().


The documentation for this class was generated from the following file: