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 /****************************************************************************/
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 /****************************************************************************/
AGHousehold
Definition: AGHousehold.h:52
AGFreeTime::possibleType
int possibleType
Definition: AGFreeTime.h:108
AGFreeTime::NIGHT
static const int NIGHT
Definition: AGFreeTime.h:112
AGFreeTime::whenBackHome
int whenBackHome()
Definition: AGFreeTime.cpp:232
AGFreeTime::TB_EVENING
static const int TB_EVENING
Definition: AGFreeTime.h:116
AGFreeTime::AGFreeTime
AGFreeTime(AGHousehold *hh, AGDataAndStatistics *das, std::list< AGTrip > *prevTrips)
Definition: AGFreeTime.h:41
AGFreeTime::TB_NIGHT
static const int TB_NIGHT
Definition: AGFreeTime.h:118
AGFreeTime::freqOut
double freqOut
Definition: AGFreeTime.h:94
AGFreeTime::TB_DAY
static const int TB_DAY
Definition: AGFreeTime.h:114
AGFreeTime::TE_EVENING
static const int TE_EVENING
Definition: AGFreeTime.h:117
AGDataAndStatistics
Definition: AGDataAndStatistics.h:41
AGFreeTime::possibleTypeOfTrip
int possibleTypeOfTrip()
Definition: AGFreeTime.cpp:100
AGFreeTime::typeFromHomeEvening
bool typeFromHomeEvening(int day)
Definition: AGFreeTime.cpp:149
AGFreeTime::decideTypeOfTrip
int decideTypeOfTrip()
Definition: AGFreeTime.cpp:57
AGFreeTime::TE_NIGHT
static const int TE_NIGHT
Definition: AGFreeTime.h:119
AGFreeTime::whenBeginActivityNextDay
int whenBeginActivityNextDay(int day)
Definition: AGFreeTime.cpp:254
AGFreeTime
Definition: AGFreeTime.h:39
AGFreeTime::DAY
static const int DAY
Definition: AGFreeTime.h:110
AGFreeTime::typeFromHomeNight
bool typeFromHomeNight(int day)
Definition: AGFreeTime.cpp:170
AGFreeTime::whenBackHomeThisDay
int whenBackHomeThisDay(int day)
Definition: AGFreeTime.cpp:243
AGFreeTime::TE_DAY
static const int TE_DAY
Definition: AGFreeTime.h:115
AGActivity
Definition: AGActivity.h:45
AGFreeTime::typeFromHomeDay
bool typeFromHomeDay(int day)
Definition: AGFreeTime.cpp:128
AGFreeTime::nbrDays
int nbrDays
Definition: AGFreeTime.h:99
AGActivity.h
config.h
AGFreeTime::EVENING
static const int EVENING
Definition: AGFreeTime.h:111
AGFreeTime::AGFreeTime
AGFreeTime(AGHousehold *hh, AGDataAndStatistics *das, std::list< AGTrip > *prevTrips, int days)
Definition: AGFreeTime.h:45
AGFreeTime::generateTrips
bool generateTrips()
Definition: AGFreeTime.cpp:204
AGFreeTime::tReady
int tReady
Definition: AGFreeTime.h:104