Eclipse 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-2019 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 /****************************************************************************/
19 // Generates trips related to after-work activities
20 // like visiting the family or party.
21 /****************************************************************************/
22 #ifndef AGFREETIME_H
23 #define AGFREETIME_H
24 
25 
26 // ===========================================================================
27 // included modules
28 // ===========================================================================
29 #include <config.h>
30 
31 #include "../city/AGHousehold.h"
32 #include "AGActivity.h"
33 
34 
35 // ===========================================================================
36 // class definitions
37 // ===========================================================================
38 class AGFreeTime : public AGActivity {
39 public:
40  AGFreeTime(AGHousehold* hh, AGDataAndStatistics* das, std::list<AGTrip>* prevTrips) :
41  AGActivity(hh, das, prevTrips, 2),
42  freqOut(das->freeTimeActivityRate),
43  nbrDays(1) {};
44  AGFreeTime(AGHousehold* hh, AGDataAndStatistics* das, std::list<AGTrip>* prevTrips, int days) :
45  AGActivity(hh, das, prevTrips, 2),
46  freqOut(das->freeTimeActivityRate),
47  nbrDays(days) {};
48 
52  bool generateTrips();
53 
63  int possibleTypeOfTrip();
64  int decideTypeOfTrip();
69  bool typeFromHomeDay(int day);
70  bool typeFromHomeEvening(int day);
71  bool typeFromHomeNight(int day);
72 
77  int whenBackHome();
82  int whenBackHomeThisDay(int day);
87  int whenBeginActivityNextDay(int day);
88 
89 private:
93  double freqOut;
98  int nbrDays;
103  int tReady;
108 
109  static const int DAY;// = 1;
110  static const int EVENING;// = 2;
111  static const int NIGHT;// = 4;
112 
113  static const int TB_DAY;// = 800;
114  static const int TE_DAY;// = 1800;
115  static const int TB_EVENING;// = 1900;
116  static const int TE_EVENING;// = 2400;
117  static const int TB_NIGHT;// = 2300;
118  static const int TE_NIGHT;// = 500;
119 
120 };
121 
122 #endif
123 
124 /****************************************************************************/
AGHousehold
Definition: AGHousehold.h:51
AGFreeTime::possibleType
int possibleType
Definition: AGFreeTime.h:107
AGFreeTime::NIGHT
static const int NIGHT
Definition: AGFreeTime.h:111
AGFreeTime::whenBackHome
int whenBackHome()
Definition: AGFreeTime.cpp:231
AGFreeTime::TB_EVENING
static const int TB_EVENING
Definition: AGFreeTime.h:115
AGFreeTime::AGFreeTime
AGFreeTime(AGHousehold *hh, AGDataAndStatistics *das, std::list< AGTrip > *prevTrips)
Definition: AGFreeTime.h:40
AGFreeTime::TB_NIGHT
static const int TB_NIGHT
Definition: AGFreeTime.h:117
AGFreeTime::freqOut
double freqOut
Definition: AGFreeTime.h:93
AGFreeTime::TB_DAY
static const int TB_DAY
Definition: AGFreeTime.h:113
AGFreeTime::TE_EVENING
static const int TE_EVENING
Definition: AGFreeTime.h:116
AGDataAndStatistics
Definition: AGDataAndStatistics.h:40
AGFreeTime::possibleTypeOfTrip
int possibleTypeOfTrip()
Definition: AGFreeTime.cpp:99
AGFreeTime::typeFromHomeEvening
bool typeFromHomeEvening(int day)
Definition: AGFreeTime.cpp:148
AGFreeTime::decideTypeOfTrip
int decideTypeOfTrip()
Definition: AGFreeTime.cpp:56
AGFreeTime::TE_NIGHT
static const int TE_NIGHT
Definition: AGFreeTime.h:118
AGFreeTime::whenBeginActivityNextDay
int whenBeginActivityNextDay(int day)
Definition: AGFreeTime.cpp:253
AGFreeTime
Definition: AGFreeTime.h:38
AGFreeTime::DAY
static const int DAY
Definition: AGFreeTime.h:109
AGFreeTime::typeFromHomeNight
bool typeFromHomeNight(int day)
Definition: AGFreeTime.cpp:169
AGFreeTime::whenBackHomeThisDay
int whenBackHomeThisDay(int day)
Definition: AGFreeTime.cpp:242
AGFreeTime::TE_DAY
static const int TE_DAY
Definition: AGFreeTime.h:114
AGActivity
Definition: AGActivity.h:44
AGFreeTime::typeFromHomeDay
bool typeFromHomeDay(int day)
Definition: AGFreeTime.cpp:127
AGFreeTime::nbrDays
int nbrDays
Definition: AGFreeTime.h:98
AGActivity.h
config.h
AGFreeTime::EVENING
static const int EVENING
Definition: AGFreeTime.h:110
AGFreeTime::AGFreeTime
AGFreeTime(AGHousehold *hh, AGDataAndStatistics *das, std::list< AGTrip > *prevTrips, int days)
Definition: AGFreeTime.h:44
AGFreeTime::generateTrips
bool generateTrips()
Definition: AGFreeTime.cpp:203
AGFreeTime::tReady
int tReady
Definition: AGFreeTime.h:103