SERespiratoryMechanicsModifiers.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
6#include "cdm/system/physiology/SERespiratorySystem.h"
7
9{
10 friend class PBPhysiology;
11public:
12
15
16 virtual void Clear();// Deletes all members
17 virtual void Activate();
18 virtual bool IsActive() const;
19
28 virtual const SEScalar* GetScalar(const std::string& name);
29
30 bool SerializeToString(std::string& output, eSerializationFormat m) const;
31 bool SerializeToFile(const std::string& filename) const;
32 bool SerializeFromString(const std::string& src, eSerializationFormat m);
33 bool SerializeFromFile(const std::string& filename);
34
35 virtual bool HasLeftComplianceMultiplier() const;
36 virtual SEScalarUnsigned& GetLeftComplianceMultiplier();
37 virtual double GetLeftComplianceMultiplier() const;
38
39 virtual bool HasRightComplianceMultiplier() const;
40 virtual SEScalarUnsigned& GetRightComplianceMultiplier();
41 virtual double GetRightComplianceMultiplier() const;
42
43 virtual bool HasLeftExpiratoryResistanceMultiplier() const;
44 virtual SEScalarUnsigned& GetLeftExpiratoryResistanceMultiplier();
45 virtual double GetLeftExpiratoryResistanceMultiplier() const;
46
47 virtual bool HasLeftInspiratoryResistanceMultiplier() const;
48 virtual SEScalarUnsigned& GetLeftInspiratoryResistanceMultiplier();
49 virtual double GetLeftInspiratoryResistanceMultiplier() const;
50
51 virtual bool HasRightExpiratoryResistanceMultiplier() const;
52 virtual SEScalarUnsigned& GetRightExpiratoryResistanceMultiplier();
53 virtual double GetRightExpiratoryResistanceMultiplier() const;;
54
55 virtual bool HasRightInspiratoryResistanceMultiplier() const;
56 virtual SEScalarUnsigned& GetRightInspiratoryResistanceMultiplier();
57 virtual double GetRightInspiratoryResistanceMultiplier() const;
58
59 virtual bool HasUpperExpiratoryResistanceMultiplier() const;
60 virtual SEScalarUnsigned& GetUpperExpiratoryResistanceMultiplier();
61 virtual double GetUpperExpiratoryResistanceMultiplier() const;
62
63 virtual bool HasUpperInspiratoryResistanceMultiplier() const;
64 virtual SEScalarUnsigned& GetUpperInspiratoryResistanceMultiplier();
65 virtual double GetUpperInspiratoryResistanceMultiplier() const;
66
67 virtual bool HasRespirationRateMultiplier() const;
68 virtual SEScalarUnsigned& GetRespirationRateMultiplier();
69 virtual double GetRespirationRateMultiplier() const;
70
71 virtual bool HasTidalVolumeMultiplier() const;
72 virtual SEScalarUnsigned& GetTidalVolumeMultiplier();
73 virtual double GetTidalVolumeMultiplier() const;
74
75 virtual bool HasLungVolumeIncrement() const;
76 virtual LungVolumeIncrementMap& GetLungVolumeIncrements();
77 virtual const LungVolumeIncrementMap& GetLungVolumeIncrements() const;
78 virtual bool HasLungVolumeIncrement(eLungCompartment cmpt) const;
79 virtual SEScalarVolume& GetLungVolumeIncrement(eLungCompartment cmpt);
80 virtual double GetLungVolumeIncrement(eLungCompartment cmpt, const VolumeUnit& unit) const;
81
82 virtual std::string ToString() const;
83 virtual void ToString(std::ostream& str) const;
84
85protected:
88
95
98
99 LungVolumeIncrementMap m_VolumeIncrements;
100};
101
102inline std::ostream& operator<< (std::ostream& out, const SERespiratoryMechanicsModifiers* s)
103{
104 if (s == nullptr)
105 out << "Null Respiratory Mechanics Modifiers" << std::flush;
106 else
107 (*s).ToString(out);
108 return out;
109}
110inline std::ostream& operator<< (std::ostream& out, const SERespiratoryMechanicsModifiers& s)
111{
112 s.ToString(out);
113 return out;
114}
Definition: Logger.h:23
Definition: Logger.h:71
Definition: PBPhysiology.h:24
static bool SerializeFromFile(const std::string &filename, SECardiovascularMechanicsModifiers &dst)
Definition: PBPhysiology.cpp:241
static bool SerializeToString(const SECardiovascularMechanicsModifiers &src, std::string &output, eSerializationFormat m)
Definition: PBPhysiology.cpp:220
static bool SerializeToFile(const SECardiovascularMechanicsModifiers &src, const std::string &filename)
Definition: PBPhysiology.cpp:226
static bool SerializeFromString(const std::string &src, SECardiovascularMechanicsModifiers &dst, eSerializationFormat m)
Definition: PBPhysiology.cpp:233
Definition: SERespiratoryMechanicsModification.h:9
Definition: SERespiratoryMechanicsModifiers.h:9
SEScalarUnsigned * m_LeftInspiratoryResistanceMultiplier
Definition: SERespiratoryMechanicsModifiers.h:90
SEScalarUnsigned * m_RightComplianceMultiplier
Definition: SERespiratoryMechanicsModifiers.h:87
virtual std::string ToString() const
Definition: SERespiratoryMechanicsModifiers.cpp:372
LungVolumeIncrementMap m_VolumeIncrements
Definition: SERespiratoryMechanicsModifiers.h:99
SEScalarUnsigned * m_RespirationRateMultiplier
Definition: SERespiratoryMechanicsModifiers.h:96
SEScalarUnsigned * m_LeftExpiratoryResistanceMultiplier
Definition: SERespiratoryMechanicsModifiers.h:89
SEScalarUnsigned * m_LeftComplianceMultiplier
Definition: SERespiratoryMechanicsModifiers.h:86
SEScalarUnsigned * m_TidalVolumeMultiplier
Definition: SERespiratoryMechanicsModifiers.h:97
SEScalarUnsigned * m_UpperExpiratoryResistanceMultiplier
Definition: SERespiratoryMechanicsModifiers.h:93
SEScalarUnsigned * m_RightExpiratoryResistanceMultiplier
Definition: SERespiratoryMechanicsModifiers.h:91
SEScalarUnsigned * m_UpperInspiratoryResistanceMultiplier
Definition: SERespiratoryMechanicsModifiers.h:94
SEScalarUnsigned * m_RightInspiratoryResistanceMultiplier
Definition: SERespiratoryMechanicsModifiers.h:92
Definition: SEScalar.h:19
Definition: SEScalarUnsigned.h:8
Definition: SEScalarVolume.h:28
Definition: SEScalarVolume.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.