Initial Commit
[HECS.git] / DwellingEmissionRate.h
blob11f162ff50b69d0bc6063032c5c53d64a055d493
1 /***************************************************************************
2 * *
3 * DwellingEmissionRate.h Copyright (C) 2008 by Jon Rumble *
4 * j.w.rumble@reading.ac.uk *
5 * *
6 * This file is part of HECS, *
7 * *
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. *
12 * *
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. *
17 * *
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"
30 #include "Gains.h"
32 #include <QMap>
33 #include <QList>
35 class DwellingEmissionRate
38 public:
40 // Constructors/Destructors
44 /**
45 * CONSTRUCTORS
47 DwellingEmissionRate();
48 DwellingEmissionRate(const ConfigParser& config,
49 DwellingDimensions *dims,
50 SpaceHeating *spaceheat,
51 WaterHeatingEnergy *waterheat,
52 Gains *gains,
53 FuelCosts *fcosts);
54 ~DwellingEmissionRate();
56 void initVars();
57 /**
58 * METHODS
60 //Accessors
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);
105 void calcAll();
107 private:
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;
130 double m_EIrating;
131 void calcDwellingCO2EmisRate();
132 void calcEIRating();
133 // Private attributes
135 ConfigParser cf;
136 DwellingDimensions *ptrDims;
137 WaterHeatingEnergy *ptrWaterHeatEnergy;
138 SpaceHeating *ptrSpaceHeat;
139 Gains *ptrGains;
140 FuelCosts *ptrFuelCosts;
144 #endif // DWELLINGEMISSIONRATE_H