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 
7 class CDM_DECL SEEnergySystem : public SESystem
8 {
9  friend class PBPhysiology;//friend the serialization class
10 public:
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 
63 protected:
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 void Clear()
Definition: SESystem.cpp:17
virtual const SEScalar * GetScalar(const std::string &name)=0
Definition: SEScalarTemperature.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.