SUMO - Simulation of Urban MObility
AGFreeTime.h
Go to the documentation of this file.
1 /****************************************************************************/
10 // Generates trips related to after-work activities
11 // like visiting the family or party.
12 /****************************************************************************/
13 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
14 // Copyright (C) 2010-2017 DLR (http://www.dlr.de/) and contributors
15 // activitygen module
16 // Copyright 2010 TUM (Technische Universitaet Muenchen, http://www.tum.de/)
17 /****************************************************************************/
18 //
19 // This file is part of SUMO.
20 // SUMO is free software: you can redistribute it and/or modify
21 // it under the terms of the GNU General Public License as published by
22 // the Free Software Foundation, either version 3 of the License, or
23 // (at your option) any later version.
24 //
25 /****************************************************************************/
26 #ifndef AGFREETIME_H
27 #define AGFREETIME_H
28 
29 
30 // ===========================================================================
31 // included modules
32 // ===========================================================================
33 #ifdef _MSC_VER
34 #include <windows_config.h>
35 #else
36 #include <config.h>
37 #endif
38 
39 #include "../city/AGHousehold.h"
40 #include "AGActivity.h"
41 
42 
43 // ===========================================================================
44 // class definitions
45 // ===========================================================================
46 class AGFreeTime : public AGActivity {
47 public:
48  AGFreeTime(AGHousehold* hh, AGDataAndStatistics* das, std::list<AGTrip>* prevTrips) :
49  AGActivity(hh, das, prevTrips, 2),
50  freqOut(das->freeTimeActivityRate),
51  nbrDays(1) {};
52  AGFreeTime(AGHousehold* hh, AGDataAndStatistics* das, std::list<AGTrip>* prevTrips, int days) :
53  AGActivity(hh, das, prevTrips, 2),
54  freqOut(das->freeTimeActivityRate),
55  nbrDays(days) {};
56 
60  bool generateTrips();
61 
71  int possibleTypeOfTrip();
72  int decideTypeOfTrip();
77  bool typeFromHomeDay(int day);
78  bool typeFromHomeEvening(int day);
79  bool typeFromHomeNight(int day);
80 
85  int whenBackHome();
90  int whenBackHomeThisDay(int day);
95  int whenBeginActivityNextDay(int day);
96 
97 private:
101  double freqOut;
106  int nbrDays;
111  int tReady;
116 
117  static const int DAY;// = 1;
118  static const int EVENING;// = 2;
119  static const int NIGHT;// = 4;
120 
121  static const int TB_DAY;// = 800;
122  static const int TE_DAY;// = 1800;
123  static const int TB_EVENING;// = 1900;
124  static const int TE_EVENING;// = 2400;
125  static const int TB_NIGHT;// = 2300;
126  static const int TE_NIGHT;// = 500;
127 
128 };
129 
130 #endif
131 
132 /****************************************************************************/
bool typeFromHomeDay(int day)
Definition: AGFreeTime.cpp:134
int whenBackHome()
Definition: AGFreeTime.cpp:238
int decideTypeOfTrip()
Definition: AGFreeTime.cpp:63
AGFreeTime(AGHousehold *hh, AGDataAndStatistics *das, std::list< AGTrip > *prevTrips, int days)
Definition: AGFreeTime.h:52
bool typeFromHomeEvening(int day)
Definition: AGFreeTime.cpp:155
static const int TE_DAY
Definition: AGFreeTime.h:122
int whenBeginActivityNextDay(int day)
Definition: AGFreeTime.cpp:260
static const int TB_DAY
Definition: AGFreeTime.h:121
static const int TB_EVENING
Definition: AGFreeTime.h:123
static const int DAY
Definition: AGFreeTime.h:117
double freqOut
Definition: AGFreeTime.h:101
int whenBackHomeThisDay(int day)
Definition: AGFreeTime.cpp:249
int possibleTypeOfTrip()
Definition: AGFreeTime.cpp:106
static const int NIGHT
Definition: AGFreeTime.h:119
bool typeFromHomeNight(int day)
Definition: AGFreeTime.cpp:176
static const int TE_EVENING
Definition: AGFreeTime.h:124
static const int TE_NIGHT
Definition: AGFreeTime.h:126
static const int EVENING
Definition: AGFreeTime.h:118
static const int TB_NIGHT
Definition: AGFreeTime.h:125
AGFreeTime(AGHousehold *hh, AGDataAndStatistics *das, std::list< AGTrip > *prevTrips)
Definition: AGFreeTime.h:48
int possibleType
Definition: AGFreeTime.h:115
bool generateTrips()
Definition: AGFreeTime.cpp:210