Eclipse SUMO - Simulation of Urban MObility
AGDataAndStatistics Class Reference

#include <AGDataAndStatistics.h>

Collaboration diagram for AGDataAndStatistics:

Public Member Functions

void consolidateStat ()
 
double getInverseExpRandomValue (double mean, double maxVar)
 
int getPeopleOlderThan (int age)
 
int getPeopleYoungerThan (int age)
 
int getPoissonsNumberOfChildren (double mean)
 
double getPropYoungerThan (int age)
 
int getRandom (int n, int m)
 
int getRandomCityGateByIncoming ()
 
int getRandomCityGateByOutgoing ()
 
int getRandomPopDistributed (int n, int m)
 

Static Public Member Functions

static AGDataAndStatisticsgetDataAndStatistics ()
 

Data Fields

int AdultNbr
 
std::map< int, double > beginWorkHours
 
std::map< int, AGPositionbusStations
 
double carPreference
 
double carRate
 
double departureVariation
 
std::map< int, double > endWorkHours
 
double factorInhabitants
 
double factorWorkPositions
 
double freeTimeActivityRate
 
int hhFarFromPT
 
int households
 
int householdsNbr
 
std::map< int, double > incoming
 
int incomingTraffic
 
int inhabitants
 
double laborDemand
 
int limitAgeChildren
 
int limitAgeRetirement
 
int limitEndAge
 
double maxFootDistance
 
double meanNbrChildren
 
double oldAgeHhProb
 
std::map< int, double > outgoing
 
int outgoingTraffic
 
std::map< int, double > population
 
double secondPersProb
 
double speedTimePerKm
 
double unemployement
 
double uniformRandomTrafficRate
 
int workPositions
 

Private Member Functions

 AGDataAndStatistics ()
 
int factorial (int n)
 
void normalizeMapProb (std::map< int, double > *myMap)
 
double poisson (double mean, int occ)
 

Detailed Description

Definition at line 41 of file AGDataAndStatistics.h.

Constructor & Destructor Documentation

◆ AGDataAndStatistics()

AGDataAndStatistics::AGDataAndStatistics ( )
inlineprivate

Definition at line 164 of file AGDataAndStatistics.h.

References factorial(), normalizeMapProb(), and poisson().

Member Function Documentation

◆ consolidateStat()

void AGDataAndStatistics::consolidateStat ( )

function consolidating statistics: normalizes the maps with probabilities completes data which have to be computed before use

Definition at line 100 of file AGDataAndStatistics.cpp.

References beginWorkHours, endWorkHours, getPeopleOlderThan(), getPeopleYoungerThan(), households, incoming, limitAgeChildren, limitAgeRetirement, limitEndAge, meanNbrChildren, normalizeMapProb(), oldAgeHhProb, outgoing, population, and secondPersProb.

Referenced by AGCity::getStreet(), and AGActivityGen::importInfoCity().

◆ factorial()

int AGDataAndStatistics::factorial ( int  n)
private

recursive mathematical function returning the factorial of n: n!

Definition at line 92 of file AGDataAndStatistics.cpp.

Referenced by AGDataAndStatistics(), and poisson().

◆ getDataAndStatistics()

AGDataAndStatistics & AGDataAndStatistics::getDataAndStatistics ( )
static

Definition at line 41 of file AGDataAndStatistics.cpp.

◆ getInverseExpRandomValue()

double AGDataAndStatistics::getInverseExpRandomValue ( double  mean,
double  maxVar 
)

function returning a random value corresponding to this distribution: -mean is given -max variation of the mean (|possible value - mean| <= maxVar -the mean is the most probable -the probability distribution function is a "scaled exponential" distribution from mean-maxVar to mean and from mean to mean+maxVar

Definition at line 162 of file AGDataAndStatistics.cpp.

References RandHelper::rand().

◆ getPeopleOlderThan()

int AGDataAndStatistics::getPeopleOlderThan ( int  age)

these functions return the number of people having more (or less) than the given age (inclusive for getPeopleOlderThan; exclusive for getPeopleYoungerThan) getPeopleOlderThan(n) + getPeopleYoungerThan(n) = inhabitants these first two function are based on the third one.

Definition at line 142 of file AGDataAndStatistics.cpp.

References getPeopleYoungerThan(), and inhabitants.

Referenced by AGCity::carAllocation(), consolidateStat(), and AGCity::generatePopulation().

◆ getPeopleYoungerThan()

int AGDataAndStatistics::getPeopleYoungerThan ( int  age)

◆ getPoissonsNumberOfChildren()

int AGDataAndStatistics::getPoissonsNumberOfChildren ( double  mean)

function evaluating the POISSON's lay (probability lay) it returns the number of children with a probability of POISSON in a household is given the mean of the distribution

TODO Consider reimplementation

Definition at line 74 of file AGDataAndStatistics.cpp.

References LIMIT_CHILDREN_NUMBER, poisson(), and RandHelper::rand().

Referenced by AGCity::generatePopulation().

◆ getPropYoungerThan()

double AGDataAndStatistics::getPropYoungerThan ( int  age)

Definition at line 117 of file AGDataAndStatistics.cpp.

References population.

Referenced by getPeopleYoungerThan(), and getRandomPopDistributed().

◆ getRandom()

int AGDataAndStatistics::getRandom ( int  n,
int  m 
)

function returning a random number between the two given numbers: [n;m[ (m cannot occur) it returns 0 if m < n

Definition at line 47 of file AGDataAndStatistics.cpp.

References RandHelper::rand().

◆ getRandomCityGateByIncoming()

int AGDataAndStatistics::getRandomCityGateByIncoming ( )

function returning a random city gate corresponding to the distribution of the incoming/outgoing traffic In fact, it returns the position of a city gate in the citygate vector.

Definition at line 183 of file AGDataAndStatistics.cpp.

References incoming, and RandHelper::rand().

Referenced by AGActivities::generateInOutTraffic().

◆ getRandomCityGateByOutgoing()

int AGDataAndStatistics::getRandomCityGateByOutgoing ( )

Definition at line 198 of file AGDataAndStatistics.cpp.

References outgoing, and RandHelper::rand().

Referenced by AGCity::generateOutgoingWP().

◆ getRandomPopDistributed()

int AGDataAndStatistics::getRandomPopDistributed ( int  n,
int  m 
)

function returning a random age between the two numbers satisfying the previous constrains this number is in relation to the distribution of the population through the brackets (population's list) if the given numbers are both greater than limitEndAge, it returns 0 if m is greater than limitEndAge, m=limitEndAge returns -1 if conditions are not satisfied

Definition at line 57 of file AGDataAndStatistics.cpp.

References getPropYoungerThan(), limitEndAge, and RandHelper::rand().

Referenced by AGCity::generateIncomingPopulation(), and AGHousehold::generatePeople().

◆ normalizeMapProb()

void AGDataAndStatistics::normalizeMapProb ( std::map< int, double > *  myMap)
private

Definition at line 147 of file AGDataAndStatistics.cpp.

Referenced by AGDataAndStatistics(), and consolidateStat().

◆ poisson()

double AGDataAndStatistics::poisson ( double  mean,
int  occ 
)
private

returns the POISSON's probability (exp(-m)*m^k/k!)

  • : mean of the distribution
  • : number of occurrences

TODO Create a Poisson distribution class for this. Or is it in Boost?

Definition at line 87 of file AGDataAndStatistics.cpp.

References factorial().

Referenced by AGDataAndStatistics(), and getPoissonsNumberOfChildren().

Field Documentation

◆ AdultNbr

int AGDataAndStatistics::AdultNbr

numbers not needed but interesting for statistics and TESTING

Definition at line 103 of file AGDataAndStatistics.h.

Referenced by AGCity::workAllocation().

◆ beginWorkHours

std::map<int, double> AGDataAndStatistics::beginWorkHours

◆ busStations

◆ carPreference

double AGDataAndStatistics::carPreference

Definition at line 47 of file AGDataAndStatistics.h.

Referenced by AGActivityGenHandler::parseParameters().

◆ carRate

double AGDataAndStatistics::carRate

◆ departureVariation

double AGDataAndStatistics::departureVariation

◆ endWorkHours

std::map<int, double> AGDataAndStatistics::endWorkHours

◆ factorInhabitants

double AGDataAndStatistics::factorInhabitants

Definition at line 84 of file AGDataAndStatistics.h.

Referenced by AGCity::completeStreets().

◆ factorWorkPositions

double AGDataAndStatistics::factorWorkPositions

Definition at line 85 of file AGDataAndStatistics.h.

Referenced by AGCity::completeStreets().

◆ freeTimeActivityRate

double AGDataAndStatistics::freeTimeActivityRate

Definition at line 63 of file AGDataAndStatistics.h.

Referenced by AGActivityGenHandler::parseParameters().

◆ hhFarFromPT

int AGDataAndStatistics::hhFarFromPT

Definition at line 106 of file AGDataAndStatistics.h.

Referenced by AGCity::carAllocation().

◆ households

int AGDataAndStatistics::households

◆ householdsNbr

int AGDataAndStatistics::householdsNbr

Definition at line 104 of file AGDataAndStatistics.h.

Referenced by AGCity::carAllocation().

◆ incoming

std::map<int, double> AGDataAndStatistics::incoming

number of incoming or outgoing people through the given city gates PROPORTION: it should be normalized

Definition at line 77 of file AGDataAndStatistics.h.

Referenced by consolidateStat(), getRandomCityGateByIncoming(), and AGActivityGenHandler::parseCityGates().

◆ incomingTraffic

int AGDataAndStatistics::incomingTraffic

◆ inhabitants

int AGDataAndStatistics::inhabitants

◆ laborDemand

double AGDataAndStatistics::laborDemand

◆ limitAgeChildren

◆ limitAgeRetirement

◆ limitEndAge

int AGDataAndStatistics::limitEndAge

◆ maxFootDistance

◆ meanNbrChildren

double AGDataAndStatistics::meanNbrChildren

Definition at line 96 of file AGDataAndStatistics.h.

Referenced by consolidateStat(), and AGCity::generatePopulation().

◆ oldAgeHhProb

double AGDataAndStatistics::oldAgeHhProb

data used for household generation has to be computed before.

Definition at line 92 of file AGDataAndStatistics.h.

Referenced by consolidateStat().

◆ outgoing

std::map<int, double> AGDataAndStatistics::outgoing

◆ outgoingTraffic

int AGDataAndStatistics::outgoingTraffic

◆ population

std::map<int, double> AGDataAndStatistics::population

◆ secondPersProb

double AGDataAndStatistics::secondPersProb

Definition at line 94 of file AGDataAndStatistics.h.

Referenced by consolidateStat().

◆ speedTimePerKm

double AGDataAndStatistics::speedTimePerKm

◆ unemployement

◆ uniformRandomTrafficRate

double AGDataAndStatistics::uniformRandomTrafficRate

◆ workPositions


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