14 #include <biogears/cdm/system/SESystem.h>
15 #include <biogears/schema/biogears/BioGearsPhysiology.hxx>
18 class SEScalarFraction;
21 class SEScalarTemperature;
22 class TemperatureUnit;
23 class SEScalarAmountPerTime;
24 class AmountPerTimeUnit;
25 class SEScalarPressure;
27 class SEScalarMassPerTime;
28 class MassPerTimeUnit;
38 static constexpr
char const *
const TypeTag() {
return "SEEnergySystem"; }
39 const char*
classname()
const override {
return TypeTag(); }
40 size_t hash_code()
const override {
return TypeHash(); }
42 void Clear()
override;
44 const SEScalar* GetScalar(
const char* name)
override;
45 const SEScalar* GetScalar(
const std::string& name)
override;
50 Tree<const char*> GetPhysiologyRequestGraph()
const override;
55 bool HasAchievedExerciseLevel()
const;
57 double GetAchievedExerciseLevel()
const;
59 bool HasChlorideLostToSweat()
const;
61 double GetChlorideLostToSweat(
const MassUnit& unit)
const;
63 bool HasCoreTemperature()
const;
67 bool HasCreatinineProductionRate()
const;
71 bool HasEnergyDeficit()
const;
73 double GetEnergyDeficit(
const PowerUnit& unit)
const;
75 bool HasExerciseEnergyDemand()
const;
77 double GetExerciseEnergyDemand(
const PowerUnit& unit)
const;
79 bool HasExerciseMeanArterialPressureDelta()
const;
81 double GetExerciseMeanArterialPressureDelta(
const PressureUnit& unit)
const;
83 bool HasFatigueLevel()
const;
85 double GetFatigueLevel()
const;
87 bool HasLactateProductionRate()
const;
91 bool HasPotassiumLostToSweat()
const;
93 double GetPotassiumLostToSweat(
const MassUnit& unit)
const;
95 bool HasSkinTemperature()
const;
99 bool HasSodiumLostToSweat()
const;
101 double GetSodiumLostToSweat(
const MassUnit& unit)
const;
103 bool HasSweatRate()
const;
107 bool HasTotalMetabolicRate()
const;
109 double GetTotalMetabolicRate(
const PowerUnit& unit)
const;
111 bool HasTotalWorkRateLevel()
const;
113 double GetTotalWorkRateLevel()
const;
SEScalarFraction * m_AchievedExerciseLevel
Definition: SEEnergySystem.h:116
SEScalarMassPerTime * m_SweatRate
Definition: SEEnergySystem.h:128
SEScalarAmountPerTime * m_CreatinineProductionRate
Definition: SEEnergySystem.h:119
SEScalarPower * m_EnergyDeficit
Definition: SEEnergySystem.h:120
SEScalarAmountPerTime * m_LactateProductionRate
Definition: SEEnergySystem.h:124
size_t hash_code() const override
Definition: SEEnergySystem.h:40
Definition: SEScalarAmountPerTime.h:38
Definition: SEScalar.h:33
static constexpr char const *const TypeTag()
Definition: SEEnergySystem.h:38
Definition: SEScalarTemperature.h:36
SEScalarFraction * m_TotalWorkRateLevel
Definition: SEEnergySystem.h:130
SEScalarPressure * m_ExerciseMeanArterialPressureDelta
Definition: SEEnergySystem.h:122
SEScalarPower * m_ExerciseEnergyDemand
Definition: SEEnergySystem.h:121
Definition: SESystem.h:27
Definition: SEScalarTemperature.h:18
Definition: SEScalarMass.h:38
SEScalarMass * m_PotassiumLostToSweat
Definition: SEEnergySystem.h:125
SEScalarTemperature * m_SkinTemperature
Definition: SEEnergySystem.h:126
SEScalarMass * m_SodiumLostToSweat
Definition: SEEnergySystem.h:127
SEScalarFraction * m_FatigueLevel
Definition: SEEnergySystem.h:123
Class corresponding to the EnergySystemData schema type.
Definition: Physiology.hxx:9611
Definition: SEScalarFraction.h:18
SEScalarTemperature * m_CoreTemperature
Definition: SEEnergySystem.h:118
Definition: SEScalarMassPerTime.h:18
const char * classname() const override
Definition: SEEnergySystem.h:39
Definition: SEScalarPower.h:38
Definition: SEScalarPower.h:18
Definition: SEScalarPressure.h:37
Definition: SEEnergySystem.h:32
Definition: SEScalarAmountPerTime.h:18
Definition: SEScalarMassPerTime.h:40
Definition: SEScalarPressure.h:18
SEScalarMass * m_ChlorideLostToSweat
Definition: SEEnergySystem.h:117
Definition: SEScalarMass.h:18
Definition: SEElectricalCircuit.h:18
static size_t TypeHash()
Definition: SEEnergySystem.h:37
SEScalarPower * m_TotalMetabolicRate
Definition: SEEnergySystem.h:129