1 /***************************************************************************
3 * DwellingEmissionRate.h Copyright (C) 2008 by Jon Rumble *
4 * j.w.rumble@reading.ac.uk *
6 * This file is part of HECS, *
8 * HECS is free software: you can redistribute it and/or modify *
9 * it under the terms of the GNU General Public License as published by *
10 * the Free Software Foundation, either version 2 of the License, or *
11 * (at your option) any later version. *
13 * HECS is distributed in the hope that it will be useful, *
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16 * GNU General Public License for more details. *
18 * You should have received a copy of the GNU General Public License *
19 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
20 ***************************************************************************/
22 #ifndef DWELLINGEMISSIONRATE_H
23 #define DWELLINGEMISSIONRATE_H
25 #include "DwellingDimensions.h"
26 #include "ConfigParser.h"
27 #include "WaterHeatingEnergy.h"
28 #include "SpaceHeating.h"
29 #include "FuelCosts.h"
35 class DwellingEmissionRate
40 // Constructors/Destructors
47 DwellingEmissionRate();
48 DwellingEmissionRate(const ConfigParser
& config
,
49 DwellingDimensions
*dims
,
50 SpaceHeating
*spaceheat
,
51 WaterHeatingEnergy
*waterheat
,
54 ~DwellingEmissionRate();
61 void setSpaceHeatingEnergy ( double val_in
);
62 double getSpaceHeatingEnergy ( );
63 void setSpaceHeatingEmisFactor ( double val_in
);
64 double getSpaceHeatingEmisFactor ( );
65 void setSpaceHeatingEmissionsYear ( double val_in
);
66 double getSpaceHeatingEmissionsYear ( );
67 void setSecondarySpaceHeating ( double val_in
);
68 double getSecondarySpaceHeating ( );
69 void setSecondarySpaceHeatEmisFactor ( double val_in
);
70 double getSecondarySpaceHeatEmisFactor ( );
71 void setSecondarySpaceHeatingEmissionsYear ( double val_in
);
72 double getSecondarySpaceHeatingEmissionsYear ( );
73 void setEnergyForWaterHeating ( double val_in
);
74 double getEnergyForWaterHeating ( );
75 void setWaterHeatingEmissionsFactor ( double val_in
);
76 double getWaterHeatingEmissionsFactor ( );
77 void setWaterHeatingEmissionsYear ( double val_in
);
78 double getWaterHeatingEmissionsYear ( );
79 void setSpaceWaterHeating ( double val_in
);
80 double getSpaceWaterHeating ( );
81 void setElecForPumpsFansEmisFactor ( double val_in
);
82 double getElecForPumpsFansEmisFactor ( );
83 void setElecForPumpsFansEmissionsYear ( double val_in
);
84 double getElecForPumpsFansEmissionsYear ( );
85 void setEnergyProdOrSavedFactor ( double val_in
);
86 double getEnergyProdOrSavedFactor ( );
87 void setEnergyConsumed ( double val_in
);
88 double getEnergyConsumed ( );
89 void setTotalCO2KgYear ( double val_in
);
90 double getTotalCO2KgYear ( );
91 void setDwelCO2EmmRate ( double val_in
);
92 double getDwelCO2EmmRate ( );
93 void setLightingEmisFactor ( double val_in
);
94 double getLightingEmisFactor ( );
95 void setLightingEmissionsYear ( double val_in
);
96 double getLightingEmissionsYear ( );
97 void setSpaceAndWaterHeating ( double val_in
);
98 double getSpaceAndWaterHeating ( );
99 void setEnergyProdOrSavedEmissionsYear ( double val_in
);
100 double getEnergyProdOrSavedEmissionsYear ( );
101 void setEnergyConsumeTechnologyEmisFactor ( double val_in
);
102 double getEnergyConsumeTechnologyEmisFactor ( );
103 double getEIrating();
104 void setEIrating(double val_in
);
109 double m_spaceHeatingEnergy
;
110 double m_spaceHeatingEmisFactor
;
111 double m_spaceHeatingEmissionsYear
;
112 double m_secondarySpaceHeating
;
113 double m_secondarySpaceHeatEmisFactor
;
114 double m_secondarySpaceHeatingEmissionsYear
;
115 double m_energyForWaterHeating
;
116 double m_waterHeatingEmissionsFactor
;
117 double m_waterHeatingEmissionsYear
;
118 double m_spaceWaterHeating
;
119 double m_elecForPumpsFansEmisFactor
;
120 double m_elecForPumpsFansEmissionsYear
;
121 double m_energyProdOrSavedFactor
;
122 double m_energyConsumedYear
;
123 double m_totalCO2KgYear
;
124 double m_dwelCO2EmmRate
;
125 double m_lightingEmisFactor
;
126 double m_lightingEmissionsYear
;
127 double m_spaceAndWaterHeating
;
128 double m_energyProdOrSavedEmissionsYear
;
129 double m_energyConsumeTechnologyEmisFactor
;
131 void calcDwellingCO2EmisRate();
133 // Private attributes
136 DwellingDimensions
*ptrDims
;
137 WaterHeatingEnergy
*ptrWaterHeatEnergy
;
138 SpaceHeating
*ptrSpaceHeat
;
140 FuelCosts
*ptrFuelCosts
;
144 #endif // DWELLINGEMISSIONRATE_H