Endocrine.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 #include "controller/System.h"
6 #include "system/physiology/SEEndocrineSystem.h"
8 
16 class PULSE_DECL Endocrine : public SEEndocrineSystem, public PulseEndocrineSystem, public PulseSystem
17 {
18  friend class PBPulsePhysiology;//friend the serialization class
19  friend class PulseController;
20  friend class PulseEngineTest;
21 protected:
24 
25 public:
26  virtual ~Endocrine();
27 
28  void Clear();
29 
30 protected:
31  // Set members to a stable homeostatic state
32  void Initialize();
33  // Set pointers and other member variables common to both homeostatic initialization and loading a state
34  void SetUp();
35 
36  void AtSteadyState();
37  void PreProcess(){}
38  void Process();
39  void PostProcess(){}
40 
41  void SynthesizeInsulin();
42  void ReleaseEpinephrine();
43 
44  // Serializable member variables (Set in Initialize and in schema)
45 
46  // Stateless member variable (Set in SetUp())
47  double m_dt_s;
49  SELiquidSubstanceQuantity* m_aortaGlucose = nullptr;
50  SELiquidSubstanceQuantity* m_aortaEpinephrine = nullptr;
51  SELiquidSubstanceQuantity* m_rKidneyEpinephrine = nullptr;
52  SELiquidSubstanceQuantity* m_lKidneyEpinephrine = nullptr;
53  SELiquidSubstanceQuantity* m_splanchnicInsulin = nullptr;
54 };
Definition: PulsePhysiologySystems.h:33
Manages and controls execution of all data/systems in Pulse.
Definition: Controller.h:50
virtual void SetUp()=0
void PostProcess()
Definition: Endocrine.h:39
Definition: SELiquidSubstanceQuantity.h:11
Definition: Endocrine.h:16
Generic class for handling the Pulse stabilization methodology.
Definition: System.h:10
virtual void Clear()
Definition: SEEndocrineSystem.cpp:18
Definition: PBPulsePhysiology.h:18
double m_insulinMolarMass_g_Per_mol
Definition: Endocrine.h:48
virtual void Initialize()
Default system values to their homeostatic values
Definition: System.h:16
double m_dt_s
Definition: Endocrine.h:47
virtual void AtSteadyState()
Notify systems that steady state has been achieved.
Definition: System.h:20
PulseController & m_data
Definition: Endocrine.h:23
Definition: SEEndocrineSystem.h:7
virtual void Process()=0
void PreProcess()
Definition: Endocrine.h:37