/// <summary>
        /// Initializes a new instance of the <see cref="RoomEnergyPropertiesAbridged" /> class.
        /// </summary>
        /// <param name="constructionSet">Identifier of a ConstructionSet to specify all default constructions for the Faces, Apertures, and Doors of the Room. If None, the Room will use the Model global_construction_set..</param>
        /// <param name="programType">Identifier of a ProgramType to specify all default schedules and loads for the Room. If None, the Room will have no loads or setpoints..</param>
        /// <param name="hvac">An optional identifier of a HVAC system (such as an IdealAirSystem) that specifies how the Room is conditioned. If None, it will be assumed that the Room is not conditioned..</param>
        /// <param name="people">People object to describe the occupancy of the Room..</param>
        /// <param name="lighting">Lighting object to describe the lighting usage of the Room..</param>
        /// <param name="electricEquipment">ElectricEquipment object to describe the electric equipment usage..</param>
        /// <param name="gasEquipment">GasEquipment object to describe the gas equipment usage..</param>
        /// <param name="serviceHotWater">ServiceHotWater object to describe the hot water usage..</param>
        /// <param name="infiltration">Infiltration object to to describe the outdoor air leakage..</param>
        /// <param name="ventilation">Ventilation object for the minimum outdoor air requirement..</param>
        /// <param name="setpoint">Setpoint object for the temperature setpoints of the Room..</param>
        /// <param name="daylightingControl">An optional DaylightingControl object to dictate the dimming of lights. If None, the lighting will respond only to the schedule and not the daylight conditions within the room..</param>
        /// <param name="windowVentControl">An optional VentilationControl object to dictate the opening of windows. If None, the windows will never open..</param>
        public RoomEnergyPropertiesAbridged
        (
            // Required parameters
            string constructionSet = default, string programType = default, string hvac = default, PeopleAbridged people = default, LightingAbridged lighting = default, ElectricEquipmentAbridged electricEquipment = default, GasEquipmentAbridged gasEquipment = default, ServiceHotWaterAbridged serviceHotWater = default, InfiltrationAbridged infiltration = default, VentilationAbridged ventilation = default, SetpointAbridged setpoint = default, DaylightingControl daylightingControl = default, VentilationControlAbridged windowVentControl = default // Optional parameters
        ) : base()                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   // BaseClass
        {
            this.ConstructionSet    = constructionSet;
            this.ProgramType        = programType;
            this.Hvac               = hvac;
            this.People             = people;
            this.Lighting           = lighting;
            this.ElectricEquipment  = electricEquipment;
            this.GasEquipment       = gasEquipment;
            this.ServiceHotWater    = serviceHotWater;
            this.Infiltration       = infiltration;
            this.Ventilation        = ventilation;
            this.Setpoint           = setpoint;
            this.DaylightingControl = daylightingControl;
            this.WindowVentControl  = windowVentControl;

            // Set non-required readonly properties with defaultValue
            this.Type = "RoomEnergyPropertiesAbridged";
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="RoomEnergyPropertiesAbridged" /> class.
        /// </summary>
        /// <param name="constructionSet">Identifier of a ConstructionSet to specify all default constructions for the Faces, Apertures, and Doors of the Room. If None, the Room will use the Model global_construction_set..</param>
        /// <param name="programType">Identifier of a ProgramType to specify all default schedules and loads for the Room. If None, the Room will have no loads or setpoints..</param>
        /// <param name="hvac">An optional identifier of a HVAC system (such as an IdealAirSystem) that specifies how the Room is conditioned. If None, it will be assumed that the Room is not conditioned..</param>
        /// <param name="shw">An optional identifier of a Service Hot Water (SHW) system that specifies how the hot water load of the Room is met. If None, the hot water load will be met with a generic system that only measures thermal loadand does not account for system efficiencies..</param>
        /// <param name="people">People object to describe the occupancy of the Room..</param>
        /// <param name="lighting">Lighting object to describe the lighting usage of the Room..</param>
        /// <param name="electricEquipment">ElectricEquipment object to describe the electric equipment usage..</param>
        /// <param name="gasEquipment">GasEquipment object to describe the gas equipment usage..</param>
        /// <param name="serviceHotWater">ServiceHotWater object to describe the hot water usage..</param>
        /// <param name="infiltration">Infiltration object to to describe the outdoor air leakage..</param>
        /// <param name="ventilation">Ventilation object for the minimum outdoor air requirement..</param>
        /// <param name="setpoint">Setpoint object for the temperature setpoints of the Room..</param>
        /// <param name="daylightingControl">An optional DaylightingControl object to dictate the dimming of lights. If None, the lighting will respond only to the schedule and not the daylight conditions within the room..</param>
        /// <param name="windowVentControl">An optional VentilationControl object to dictate the opening of windows. If None, the windows will never open..</param>
        /// <param name="internalMasses">An optional list of of InternalMass objects for thermal mass exposed to Room air. Note that internal masses assigned this way cannot \&quot;see\&quot; solar radiation that may potentially hit them and, as such, caution should be taken when using this component with internal mass objects that are not always in shade. Masses are factored into the the thermal calculations of the Room by undergoing heat transfer with the indoor air..</param>
        /// <param name="processLoads">An optional list of of Process objects for process loads within the room. These can represent kilns, manufacturing equipment, and various industrial processes. They can also be used to represent wood burning fireplaces or certain pieces of equipment to be separated from the other end uses..</param>
        public RoomEnergyPropertiesAbridged
        (
            // Required parameters
            string constructionSet = default, string programType = default, string hvac = default, string shw = default, PeopleAbridged people = default, LightingAbridged lighting = default, ElectricEquipmentAbridged electricEquipment = default, GasEquipmentAbridged gasEquipment = default, ServiceHotWaterAbridged serviceHotWater = default, InfiltrationAbridged infiltration = default, VentilationAbridged ventilation = default, SetpointAbridged setpoint = default, DaylightingControl daylightingControl = default, VentilationControlAbridged windowVentControl = default, List <InternalMassAbridged> internalMasses = default, List <ProcessAbridged> processLoads = default // Optional parameters
        ) : base()                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              // BaseClass
        {
            this.ConstructionSet    = constructionSet;
            this.ProgramType        = programType;
            this.Hvac               = hvac;
            this.Shw                = shw;
            this.People             = people;
            this.Lighting           = lighting;
            this.ElectricEquipment  = electricEquipment;
            this.GasEquipment       = gasEquipment;
            this.ServiceHotWater    = serviceHotWater;
            this.Infiltration       = infiltration;
            this.Ventilation        = ventilation;
            this.Setpoint           = setpoint;
            this.DaylightingControl = daylightingControl;
            this.WindowVentControl  = windowVentControl;
            this.InternalMasses     = internalMasses;
            this.ProcessLoads       = processLoads;

            // Set non-required readonly properties with defaultValue
            this.Type = "RoomEnergyPropertiesAbridged";

            // check if object is valid, only check for inherited class
            if (this.GetType() == typeof(RoomEnergyPropertiesAbridged))
            {
                this.IsValid(throwException: true);
            }
        }