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

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.