""" UsageZone module SPDX - License - Identifier: LGPL - 3.0 - or -later Copyright © 2020 Project Author Guille Gutierrez guillermo.gutierrezmorote@concordia.ca """ from typing import List from city_model_structure.internal_gains import InternalGains class UsageZone: """ UsageZone class """ def __init__(self): self._usage = None self._internal_gains = None self._heating_setpoint = None self._heating_setback = None self._cooling_setpoint = None self._hours_day = None self._days_year = None self._mechanical_air_change = None @property def internal_gains(self) -> List[InternalGains]: """ Get usage zone internal gains :return: [InternalGains] """ return self._internal_gains @internal_gains.setter def internal_gains(self, value): """ Set usage zone internal gains :param value: [InternalGains] :return: None """ self._internal_gains = value @property def heating_setpoint(self): """ Get usage zone heating set point in celsius grads :return: float """ return self._heating_setpoint @heating_setpoint.setter def heating_setpoint(self, value): """ Set usage zone heating set point in celsius grads :param value: float :return: None """ self._heating_setpoint = value @property def heating_setback(self): """ Get usage zone heating setback in celsius grads :return: float """ return self._heating_setback @heating_setback.setter def heating_setback(self, value): """ Set usage zone heating setback in celsius grads :param value: float :return: None """ self._heating_setback = value @property def cooling_setpoint(self): """ Get usage zone cooling setpoint in celsius grads :return: float """ return self._cooling_setpoint @cooling_setpoint.setter def cooling_setpoint(self, value): """ Set usage zone cooling setpoint in celsius grads :param value: float :return: None """ self._cooling_setpoint = value @property def hours_day(self): """ Get usage zone usage hours per day :return: float """ return self._hours_day @hours_day.setter def hours_day(self, value): """ Set usage zone usage hours per day :param value: float :return: float """ self._hours_day = value @property def days_year(self): """ Get usage zone usage days per year :return: float """ return self._days_year @days_year.setter def days_year(self, value): """ Set usage zone usage days per year :param value: float :return: None """ self._days_year = value @property def mechanical_air_change(self): """ Set usage zone mechanical air change in air change per hour :return: float """ return self._mechanical_air_change @mechanical_air_change.setter def mechanical_air_change(self, value): """ Get usage zone mechanical air change in air change per hour :param value: float :return: None """ self._mechanical_air_change = value @property def usage(self): """ Get usage zone usage :return: str """ return self._usage @usage.setter def usage(self, value): """ Get usage zone usage :param value: str :return: None """ self._usage = value