SUMO - Simulation of Urban MObility
AGFreeTime.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2010-2018 German Aerospace Center (DLR) and others.
4 // activitygen module
5 // Copyright 2010 TUM (Technische Universitaet Muenchen, http://www.tum.de/)
6 // This program and the accompanying materials
7 // are made available under the terms of the Eclipse Public License v2.0
8 // which accompanies this distribution, and is available at
9 // http://www.eclipse.org/legal/epl-v20.html
10 // SPDX-License-Identifier: EPL-2.0
11 /****************************************************************************/
20 // Generates trips related to after-work activities
21 // like visiting the family or party.
22 /****************************************************************************/
23 #ifndef AGFREETIME_H
24 #define AGFREETIME_H
25 
26 
27 // ===========================================================================
28 // included modules
29 // ===========================================================================
30 #include <config.h>
31 
32 #include "../city/AGHousehold.h"
33 #include "AGActivity.h"
34 
35 
36 // ===========================================================================
37 // class definitions
38 // ===========================================================================
39 class AGFreeTime : public AGActivity {
40 public:
41  AGFreeTime(AGHousehold* hh, AGDataAndStatistics* das, std::list<AGTrip>* prevTrips) :
42  AGActivity(hh, das, prevTrips, 2),
43  freqOut(das->freeTimeActivityRate),
44  nbrDays(1) {};
45  AGFreeTime(AGHousehold* hh, AGDataAndStatistics* das, std::list<AGTrip>* prevTrips, int days) :
46  AGActivity(hh, das, prevTrips, 2),
47  freqOut(das->freeTimeActivityRate),
48  nbrDays(days) {};
49 
53  bool generateTrips();
54 
64  int possibleTypeOfTrip();
65  int decideTypeOfTrip();
70  bool typeFromHomeDay(int day);
71  bool typeFromHomeEvening(int day);
72  bool typeFromHomeNight(int day);
73 
78  int whenBackHome();
83  int whenBackHomeThisDay(int day);
88  int whenBeginActivityNextDay(int day);
89 
90 private:
94  double freqOut;
99  int nbrDays;
104  int tReady;
109 
110  static const int DAY;// = 1;
111  static const int EVENING;// = 2;
112  static const int NIGHT;// = 4;
113 
114  static const int TB_DAY;// = 800;
115  static const int TE_DAY;// = 1800;
116  static const int TB_EVENING;// = 1900;
117  static const int TE_EVENING;// = 2400;
118  static const int TB_NIGHT;// = 2300;
119  static const int TE_NIGHT;// = 500;
120 
121 };
122 
123 #endif
124 
125 /****************************************************************************/
bool typeFromHomeDay(int day)
Definition: AGFreeTime.cpp:127
int whenBackHome()
Definition: AGFreeTime.cpp:231
int decideTypeOfTrip()
Definition: AGFreeTime.cpp:56
AGFreeTime(AGHousehold *hh, AGDataAndStatistics *das, std::list< AGTrip > *prevTrips, int days)
Definition: AGFreeTime.h:45
bool typeFromHomeEvening(int day)
Definition: AGFreeTime.cpp:148
int nbrDays
Definition: AGFreeTime.h:99
static const int TE_DAY
Definition: AGFreeTime.h:115
int whenBeginActivityNextDay(int day)
Definition: AGFreeTime.cpp:253
static const int TB_DAY
Definition: AGFreeTime.h:114
static const int TB_EVENING
Definition: AGFreeTime.h:116
static const int DAY
Definition: AGFreeTime.h:110
double freqOut
Definition: AGFreeTime.h:94
int whenBackHomeThisDay(int day)
Definition: AGFreeTime.cpp:242
int possibleTypeOfTrip()
Definition: AGFreeTime.cpp:99
static const int NIGHT
Definition: AGFreeTime.h:112
bool typeFromHomeNight(int day)
Definition: AGFreeTime.cpp:169
static const int TE_EVENING
Definition: AGFreeTime.h:117
static const int TE_NIGHT
Definition: AGFreeTime.h:119
static const int EVENING
Definition: AGFreeTime.h:111
static const int TB_NIGHT
Definition: AGFreeTime.h:118
AGFreeTime(AGHousehold *hh, AGDataAndStatistics *das, std::list< AGTrip > *prevTrips)
Definition: AGFreeTime.h:41
int possibleType
Definition: AGFreeTime.h:108
bool generateTrips()
Definition: AGFreeTime.cpp:203