SEEnergySystem.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5#include "cdm/system/SESystem.h"
6
7class CDM_DECL SEEnergySystem : public SESystem
8{
9 friend class PBPhysiology;//friend the serialization class
10public:
11
12 SEEnergySystem(Logger* logger);
13 virtual ~SEEnergySystem();
14
15 void Clear() override;// Deletes all members
16
17 const SEScalar* GetScalar(const std::string& name) override;
18
19 virtual bool HasAchievedExerciseLevel() const;
20 virtual SEScalar0To1& GetAchievedExerciseLevel();
21 virtual double GetAchievedExerciseLevel() const;
22
23 virtual bool HasCoreTemperature() const;
24 virtual SEScalarTemperature& GetCoreTemperature();
25 virtual double GetCoreTemperature(const TemperatureUnit& unit) const;
26
27 virtual bool HasCreatinineProductionRate() const;
28 virtual SEScalarAmountPerTime& GetCreatinineProductionRate();
29 virtual double GetCreatinineProductionRate(const AmountPerTimeUnit& unit) const;
30
31 virtual bool HasExerciseMeanArterialPressureDelta() const;
32 virtual SEScalarPressure& GetExerciseMeanArterialPressureDelta();
33 virtual double GetExerciseMeanArterialPressureDelta(const PressureUnit& unit) const;
34
35 virtual bool HasFatigueLevel() const;
36 virtual SEScalar0To1& GetFatigueLevel();
37 virtual double GetFatigueLevel() const;
38
39 virtual bool HasKetoneProductionRate() const;
40 virtual SEScalarAmountPerTime& GetKetoneProductionRate();
41 virtual double GetKetoneProductionRate(const AmountPerTimeUnit& unit) const;
42
43 virtual bool HasLactateProductionRate() const;
44 virtual SEScalarAmountPerTime& GetLactateProductionRate();
45 virtual double GetLactateProductionRate(const AmountPerTimeUnit& unit) const;
46
47 virtual bool HasSkinTemperature() const;
48 virtual SEScalarTemperature& GetSkinTemperature();
49 virtual double GetSkinTemperature(const TemperatureUnit& unit) const;
50
51 virtual bool HasSweatRate() const;
52 virtual SEScalarMassPerTime& GetSweatRate();
53 virtual double GetSweatRate(const MassPerTimeUnit& unit) const;
54
55 virtual bool HasTotalMetabolicRate() const;
56 virtual SEScalarPower& GetTotalMetabolicRate();
57 virtual double GetTotalMetabolicRate(const PowerUnit& unit) const;
58
59 virtual bool HasTotalWorkRateLevel() const;
60 virtual SEScalar0To1& GetTotalWorkRateLevel();
61 virtual double GetTotalWorkRateLevel() const;
62
63protected:
64
76
77};
Definition: SEScalarAmountPerTime.h:8
Definition: Logger.h:71
Definition: SEScalarMassPerTime.h:8
Definition: PBPhysiology.h:24
Definition: SEScalarPower.h:8
Definition: SEScalarPressure.h:8
Definition: SEEnergySystem.h:8
SEScalar0To1 * m_FatigueLevel
Definition: SEEnergySystem.h:69
SEScalarMassPerTime * m_SweatRate
Definition: SEEnergySystem.h:73
SEScalar0To1 * m_TotalWorkRateLevel
Definition: SEEnergySystem.h:75
SEScalarTemperature * m_SkinTemperature
Definition: SEEnergySystem.h:72
SEScalarPressure * m_ExerciseMeanArterialPressureDelta
Definition: SEEnergySystem.h:68
SEScalar0To1 * m_AchievedExerciseLevel
Definition: SEEnergySystem.h:65
SEScalarPower * m_TotalMetabolicRate
Definition: SEEnergySystem.h:74
SEScalarAmountPerTime * m_CreatinineProductionRate
Definition: SEEnergySystem.h:67
SEScalarAmountPerTime * m_KetoneProductionRate
Definition: SEEnergySystem.h:70
SEScalarAmountPerTime * m_LactateProductionRate
Definition: SEEnergySystem.h:71
SEScalarTemperature * m_CoreTemperature
Definition: SEEnergySystem.h:66
Definition: SEScalar0To1.h:8
Definition: SEScalarAmountPerTime.h:29
Definition: SEScalar.h:19
Definition: SEScalarMassPerTime.h:31
Definition: SEScalarPower.h:29
Definition: SEScalarPressure.h:29
Definition: SEScalarTemperature.h:27
Definition: SESystem.h:8
virtual const SEScalar * GetScalar(const std::string &name)=0
virtual void Clear()
Definition: SESystem.cpp:17
Definition: SEScalarTemperature.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.