Building Medical Digital Twins with Pulse: Open Source Simulation Tools for Developers and Researchers
×
ElectroCardioGramModel.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 
6 #include "engine/common/system/Model.h"
7 #include "engine/common/system/Systems.h"
8 
10 
11 namespace pulse
12 {
13  class PBEquipment;
14  class EngineTest;
19  class PULSE_DECL ElectroCardioGramModel : public ElectroCardioGramSystem, public Model
20  {
21  friend PBEquipment;//friend the serialization class
22  friend EngineTest;
23  public:
24  ElectroCardioGramModel(Data& pc);
25  virtual ~ElectroCardioGramModel();
26 
27  void Clear() override;
28 
29  // Set members to a stable homeostatic state
30  void Initialize() override;
31  // Set pointers and other member varialbes common to both homeostatic initialization and loading a state
32  void SetUp() override;
33 
34  // main driver function responsible for calling the various ECG functions:
35  void AtSteadyState() override {}
36  void PreProcess() override;
37  void Process(bool solve_and_transport = true) override;
38  void PostProcess(bool solve_and_transport = true) override;
39 
40  protected:
41  void ComputeExposedModelParameters() override;
42 
43  // Serializable member variables (Set in Initialize and in schema)
44 
45  // Stateless member variable (Set in SetUp())
46  };
47 END_NAMESPACE
Definition: SEElectroCardioGramWaveform.h:30
Definition: Logger.h:14

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.