6#include "engine/CommonDefs.h"
7#include "engine/common/controller/Controller.h"
8#include "cdm/system/physiology/SEBloodChemistrySystem.h"
9#include "cdm/system/physiology/SECardiovascularSystem.h"
10#include "cdm/system/physiology/SEDrugSystem.h"
11#include "cdm/system/physiology/SEEndocrineSystem.h"
12#include "cdm/system/physiology/SEEnergySystem.h"
13#include "cdm/system/physiology/SEGastrointestinalSystem.h"
14#include "cdm/system/physiology/SEHepaticSystem.h"
15#include "cdm/system/physiology/SENervousSystem.h"
16#include "cdm/system/physiology/SERenalSystem.h"
17#include "cdm/system/physiology/SERespiratorySystem.h"
18#include "cdm/system/physiology/SETissueSystem.h"
19#include "cdm/system/environment/SEEnvironment.h"
20#include "cdm/system/equipment/anesthesia_machine/SEAnesthesiaMachine.h"
21#include "cdm/system/equipment/bag_valve_mask/SEBagValveMask.h"
22#include "cdm/system/equipment/ecmo/SEECMO.h"
23#include "cdm/system/equipment/electrocardiogram/SEElectroCardioGram.h"
24#include "cdm/system/equipment/inhaler/SEInhaler.h"
25#include "cdm/system/equipment/mechanical_ventilator/SEMechanicalVentilator.h"
26#include "cdm/properties/SEScalarVolumePerPressure.h"
27#include "cdm/properties/SEScalarPressureTimePerVolume.h"
42 virtual ~BloodChemistrySystem() =
default;
49 virtual const SEScalar* GetScalar(
const std::string& name)
override
59 virtual void ComputeExposedModelParameters()=0;
68 virtual ~CardiovascularSystem() =
default;
75 virtual const SEScalar* GetScalar(
const std::string & name)
override
85 virtual void ComputeExposedModelParameters() = 0;
94 virtual ~DrugSystem() =
default;
101 virtual const SEScalar* GetScalar(
const std::string & name)
override
111 virtual void ComputeExposedModelParameters() = 0;
120 virtual ~EndocrineSystem() =
default;
122 void Clear()
override
127 virtual const SEScalar* GetScalar(
const std::string & name)
override
137 virtual void ComputeExposedModelParameters() = 0;
146 virtual ~EnergySystem() =
default;
148 void Clear()
override
153 virtual const SEScalar* GetScalar(
const std::string & name)
override
163 virtual void ComputeExposedModelParameters() = 0;
172 virtual ~GastrointestinalSystem() =
default;
174 void Clear()
override
179 virtual const SEScalar* GetScalar(
const std::string & name)
override
189 virtual void ComputeExposedModelParameters() = 0;
198 virtual ~HepaticSystem() =
default;
200 void Clear()
override
205 virtual const SEScalar* GetScalar(
const std::string & name)
override
215 virtual void ComputeExposedModelParameters() = 0;
224 virtual ~NervousSystem() =
default;
226 void Clear()
override
231 virtual const SEScalar* GetScalar(
const std::string & name)
override
241 virtual void ComputeExposedModelParameters() = 0;
250 virtual ~RenalSystem() =
default;
252 void Clear()
override
257 virtual const SEScalar* GetScalar(
const std::string & name)
override
267 virtual void ComputeExposedModelParameters() = 0;
276 virtual ~RespiratorySystem() =
default;
278 void Clear()
override
281 m_TotalRespiratoryModelCompliance.Invalidate();
282 m_TotalRespiratoryModelResistance.Invalidate();
285 virtual const SEScalar* GetScalar(
const std::string & name)
override
291 if (name.compare(
"TotalRespiratoryModelCompliance") == 0)
292 return &m_TotalRespiratoryModelCompliance;
293 if (name.compare(
"TotalRespiratoryModelResistance") == 0)
294 return &m_TotalRespiratoryModelResistance;
297 virtual void ComputeExposedModelParameters() = 0;
299 DEFINE_UNIT_SCALAR(TotalRespiratoryModelCompliance, VolumePerPressure);
300 DEFINE_UNIT_SCALAR(TotalRespiratoryModelResistance, PressureTimePerVolume);
307 virtual ~TissueSystem() =
default;
309 void Clear()
override
314 virtual const SEScalar* GetScalar(
const std::string & name)
override
324 virtual void ComputeExposedModelParameters() = 0;
333 virtual ~EnvironmentSystem() =
default;
335 void Clear()
override
340 virtual const SEScalar* GetScalar(
const std::string & name)
override
350 virtual void ComputeExposedModelParameters() = 0;
359 virtual ~AnesthesiaMachineSystem() =
default;
361 void Clear()
override
366 virtual const SEScalar* GetScalar(
const std::string & name)
override
376 virtual void ComputeExposedModelParameters() = 0;
385 virtual ~BagValveMaskSystem() =
default;
387 void Clear()
override
392 virtual const SEScalar* GetScalar(
const std::string& name)
override
402 virtual void ComputeExposedModelParameters() = 0;
407 class PULSE_DECL ECMOSystem :
public SEECMO
411 virtual ~ECMOSystem() =
default;
413 void Clear()
override
418 virtual const SEScalar* GetScalar(
const std::string & name)
override
428 virtual void ComputeExposedModelParameters() = 0;
437 virtual ~ElectroCardioGramSystem() =
default;
439 void Clear()
override
444 virtual const SEScalar* GetScalar(
const std::string & name)
override
454 virtual void ComputeExposedModelParameters() = 0;
459 class PULSE_DECL InhalerSystem :
public SEInhaler
463 virtual ~InhalerSystem() =
default;
465 void Clear()
override
470 virtual const SEScalar* GetScalar(
const std::string & name)
override
480 virtual void ComputeExposedModelParameters() = 0;
489 virtual ~MechanicalVentilatorSystem() =
default;
491 void Clear()
override
496 virtual const SEScalar* GetScalar(
const std::string & name)
override
506 virtual void ComputeExposedModelParameters() = 0;
Definition: SEAnesthesiaMachine.h:24
const SEScalar * GetScalar(const std::string &name) override
Definition: SEAnesthesiaMachine.cpp:137
void Clear() override
Definition: SEAnesthesiaMachine.cpp:57
Definition: SEBagValveMask.h:14
const SEScalar * GetScalar(const std::string &name) override
Definition: SEBagValveMask.cpp:184
void Clear() override
Definition: SEBagValveMask.cpp:59
Definition: SEBloodChemistrySystem.h:10
const SEScalar * GetScalar(const std::string &name) override
A reflextion type call that will return the Scalar associated with the string. ex....
Definition: SEBloodChemistrySystem.cpp:121
void Clear() override
Deletes all members.
Definition: SEBloodChemistrySystem.cpp:86
Definition: SECardiovascularSystem.h:24
const SEScalar * GetScalar(const std::string &name) override
Definition: SECardiovascularSystem.cpp:152
void Clear() override
Definition: SECardiovascularSystem.cpp:108
Definition: SEDrugSystem.h:9
void Clear() override
Definition: SEDrugSystem.cpp:43
const SEScalar * GetScalar(const std::string &name) override
Definition: SEDrugSystem.cpp:60
void Clear() override
Definition: SEECMO.cpp:18
const SEScalar * GetScalar(const std::string &name) override
Definition: SEECMO.cpp:34
Definition: SEElectroCardioGram.h:9
const SEScalar * GetScalar(const std::string &name) override
Definition: SEElectroCardioGram.cpp:87
void Clear() override
Definition: SEElectroCardioGram.cpp:44
Definition: SEEndocrineSystem.h:8
const SEScalar * GetScalar(const std::string &name) override
Definition: SEEndocrineSystem.cpp:24
void Clear() override
Definition: SEEndocrineSystem.cpp:18
Definition: SEEnergySystem.h:8
void Clear() override
Definition: SEEnergySystem.cpp:46
const SEScalar * GetScalar(const std::string &name) override
Definition: SEEnergySystem.cpp:63
Definition: SEEnvironment.h:13
void Clear() override
Definition: SEEnvironment.cpp:53
const SEScalar * GetScalar(const std::string &name) override
Definition: SEEnvironment.cpp:75
Definition: SEGastrointestinalSystem.h:9
const SEScalar * GetScalar(const std::string &name) override
Definition: SEGastrointestinalSystem.cpp:33
void Clear() override
Definition: SEGastrointestinalSystem.cpp:24
Definition: SEHepaticSystem.h:8
const SEScalar * GetScalar(const std::string &name) override
Definition: SEHepaticSystem.cpp:23
void Clear() override
Definition: SEHepaticSystem.cpp:17
Definition: SEInhaler.h:12
const SEScalar * GetScalar(const std::string &name) override
Definition: SEInhaler.cpp:63
void Clear() override
Definition: SEInhaler.cpp:35
Definition: SEMechanicalVentilator.h:10
void Clear() override
Definition: SEMechanicalVentilator.cpp:84
const SEScalar * GetScalar(const std::string &name) override
Definition: SEMechanicalVentilator.cpp:161
Definition: SENervousSystem.h:9
void Clear() override
Definition: SENervousSystem.cpp:39
const SEScalar * GetScalar(const std::string &name) override
Definition: SENervousSystem.cpp:56
Definition: SERenalSystem.h:8
void Clear() override
Definition: SERenalSystem.cpp:146
const SEScalar * GetScalar(const std::string &name) override
Definition: SERenalSystem.cpp:210
Definition: SERespiratorySystem.h:25
void Clear() override
Definition: SERespiratorySystem.cpp:176
const SEScalar * GetScalar(const std::string &name) override
Definition: SERespiratorySystem.cpp:246
Definition: SEScalar.h:19
Definition: SETissueSystem.h:8
const SEScalar * GetScalar(const std::string &name) override
Definition: SETissueSystem.cpp:46
void Clear() override
Definition: SETissueSystem.cpp:33