Initial Commit
[HECS.git] / WaterHeatingEnergy.h
blob85c56979cf5ccc006afd623ac50306a5dcdfb893
1 /***************************************************************************
2 * *
3 * WaterHeatingEnergy.h Copyright (C) 2008 by Jon Rumble *
4 * j.w.rumble@reading.ac.uk *
5 * *
6 * *
7 * This file is part of HECS, *
8 * *
9 * HECS is free software: you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation, either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 * *
15 * HECS is distributed in the hope that it will be useful, *
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
18 * GNU General Public License for more details. *
19 * *
20 * You should have received a copy of the GNU General Public License *
21 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
22 ***************************************************************************/
24 #ifndef WATERHEATINGENERGY_H
25 #define WATERHEATINGENERGY_H
27 #include "WaterHeating.h"
28 #include "ConfigParser.h"
30 class WaterHeatingEnergy {
32 public:
33 WaterHeatingEnergy (const ConfigParser& config, WaterHeating *waterHeat);
34 WaterHeatingEnergy ();
35 ~WaterHeatingEnergy ();
38 void setEffcyOfWaterHeater ( int val_in );
39 int getEffcyOfWaterHeater ( );
40 void setEnergyReqdForWaterHeat ( double val_in );
41 double getEnergyReqdForWaterHeat ( );
42 void setElecForCentralHeatingPumps ( double val_in );
43 double getElecForCentralHeatingPumps ( );
44 void setElecForFanAssitFlue ( double val_in );
45 double getElecForFanAssitFlue ( );
46 void setElecForWarmHeatingSysFans ( double val_in );
47 double getElecForWarmHeatingSysFans ( );
48 void setElecForMechVentilation ( double val_in );
49 double getElecForMechVentilation ( );
50 void setElecForKeepHotGasCombi ( double val_in );
51 double getElecForKeepHotGasCombi ( );
52 void setElecForSolarWaterPump ( double val_in );
53 double getElecForSolarWaterPump ( );
54 void setTotalForAboveElec ( double val_in );
55 double getTotalForAboveElec ( );
56 void calcAll();
58 protected:
60 private:
61 int m_effcyOfWaterHeater;
62 double m_energyReqdForWaterHeat;
63 double m_elecForCentralHeatingPumps;
64 double m_elecForFanAssitFlue;
65 double m_elecForWarmHeatingSysFans;
66 double m_elecForMechVentilation;
67 double m_elecForKeepHotGasCombi;
68 double m_elecForSolarWaterPump;
69 double m_totalForAboveElec;
71 ConfigParser cf;
72 WaterHeating *ptrWaterHeat;
74 void initVars();
75 void calcEnergyReqWaterHeating();
76 void calcElecForAbove();
80 #endif //END OF WATERHEATINGENERGY_H