/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2010-2025 German Aerospace Center (DLR) and others.3// activitygen module4// Copyright 2010 TUM (Technische Universitaet Muenchen, http://www.tum.de/)5// This program and the accompanying materials are made available under the6// terms of the Eclipse Public License 2.0 which is available at7// https://www.eclipse.org/legal/epl-2.0/8// This Source Code may also be made available under the following Secondary9// Licenses when the conditions for such availability set forth in the Eclipse10// Public License 2.0 are satisfied: GNU General Public License, version 211// or later which is available at12// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html13// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later14/****************************************************************************/15/// @file AGChild.h16/// @author Piotr Woznica17/// @author Daniel Krajzewicz18/// @author Walter Bamberger19/// @author Michael Behrisch20/// @date July 201021///22// Person in age to go to school: linked to a school object23/****************************************************************************/24#pragma once25#include <config.h>2627#include <iostream>28#include <vector>29#include "AGPerson.h"30#include "AGPosition.h"31#include "AGSchool.h"323334// ===========================================================================35// class definitions36// ===========================================================================37class AGChild : public AGPerson {38public:39AGChild(int age) :40AGPerson(age),41mySchool(nullptr) {};42void print() const;43bool setSchool(AGSchool* school);44/**45* @param schools: school vector from City object46* @param housepos: Position of the households habitation47* @return if a school was found corresponding to the child's age.48*/49bool allocateASchool(std::list<AGSchool>* schools, AGPosition housePos);50/**51* @return if the child is now without any school52*/53bool leaveSchool();54bool haveASchool() const;55AGPosition getSchoolLocation() const;56int getSchoolOpening() const;57int getSchoolClosing() const;5859private:60AGSchool* mySchool;61};626364