Hepatic.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/SEHepaticSystem.h"
7 
11 class PULSE_DECL Hepatic : public SEHepaticSystem, public PulseHepaticSystem, public PulseSystem
12 {
13  friend class PBPulsePhysiology;//friend the serialization class
14  friend class PulseController;
15  friend class PulseEngineTest;
16 protected:
17  Hepatic(PulseController& data);
19 
20 public:
21  virtual ~Hepatic();
22 
23  void Clear();
24 
25 protected:
26  // Set members to a stable homeostatic state
27  void Initialize();
28  // Set pointers and other member varialbes common to both homeostatic initialization and loading a state
29  void SetUp();
30 
31  void AtSteadyState();
32  void PreProcess();
33  void Process();
34  void PostProcess();
35 
36 };
Manages and controls execution of all data/systems in Pulse.
Definition: Controller.h:50
virtual void Clear()
Definition: SEHepaticSystem.cpp:17
virtual void SetUp()=0
Generic class for handling the Pulse stabilization methodology.
Definition: System.h:10
Definition: SEHepaticSystem.h:7
Definition: Hepatic.h:11
Definition: PBPulsePhysiology.h:18
virtual void Initialize()
Default system values to their homeostatic values
Definition: System.h:16
virtual void AtSteadyState()
Notify systems that steady state has been achieved.
Definition: System.h:20
PulseController & m_data
Definition: Hepatic.h:18
virtual void PostProcess()=0
virtual void Process()=0
Definition: PulsePhysiologySystems.h:61
virtual void PreProcess()=0