SERespiratorySystem.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 #include "system/SESystem.h"
6 
7 
8 class CDM_DECL SERespiratorySystem : public SESystem
9 {
10  friend class PBPhysiology;//friend the serialization class
11 public:
12 
13  SERespiratorySystem(Logger* logger);
14  virtual ~SERespiratorySystem();
15 
16  virtual void Clear();// Deletes all members
17 
18  virtual const SEScalar* GetScalar(const std::string& name);
19 
20  virtual bool HasAlveolarArterialGradient() const;
21  virtual SEScalarPressure& GetAlveolarArterialGradient();
22  virtual double GetAlveolarArterialGradient(const PressureUnit& unit) const;
23 
24  virtual bool HasAlveolarDeadSpace() const;
25  virtual SEScalarVolume& GetAlveolarDeadSpace();
26  virtual double GetAlveolarDeadSpace(const VolumeUnit& unit) const;
27 
28  virtual bool HasAnatomicDeadSpace() const;
29  virtual SEScalarVolume& GetAnatomicDeadSpace();
30  virtual double GetAnatomicDeadSpace(const VolumeUnit& unit) const;
31 
32  virtual bool HasCarricoIndex() const;
33  virtual SEScalarPressure& GetCarricoIndex();
34  virtual double GetCarricoIndex(const PressureUnit& unit) const;
35 
36  virtual bool HasChestWallCompliance() const;
37  virtual SEScalarVolumePerPressure& GetChestWallCompliance();
38  virtual double GetChestWallCompliance(const VolumePerPressureUnit& unit) const;
39 
40  virtual bool HasElasticWorkOfBreathing() const;
41  virtual SEScalarEnergy& GetElasticWorkOfBreathing();
42  virtual double GetElasticWorkOfBreathing(const EnergyUnit& unit) const;
43 
44  virtual bool HasEndTidalCarbonDioxideFraction() const;
45  virtual SEScalar0To1& GetEndTidalCarbonDioxideFraction();
46  virtual double GetEndTidalCarbonDioxideFraction() const;
47 
48  virtual bool HasEndTidalCarbonDioxidePressure() const;
49  virtual SEScalarPressure& GetEndTidalCarbonDioxidePressure();
50  virtual double GetEndTidalCarbonDioxidePressure(const PressureUnit& unit) const;
51 
52  virtual bool HasEndTidalOxygenFraction() const;
53  virtual SEScalar0To1& GetEndTidalOxygenFraction();
54  virtual double GetEndTidalOxygenFraction() const;
55 
56  virtual bool HasEndTidalOxygenPressure() const;
57  virtual SEScalarPressure& GetEndTidalOxygenPressure();
58  virtual double GetEndTidalOxygenPressure(const PressureUnit& unit) const;
59 
60  virtual bool HasExpiratoryFlow() const;
61  virtual SEScalarVolumePerTime& GetExpiratoryFlow();
62  virtual double GetExpiratoryFlow(const VolumePerTimeUnit& unit) const;
63 
64  virtual bool HasExpiratoryPulmonaryResistance() const;
65  virtual SEScalarPressureTimePerVolume& GetExpiratoryPulmonaryResistance();
66  virtual double GetExpiratoryPulmonaryResistance(const PressureTimePerVolumeUnit& unit) const;
67 
68  virtual bool HasImposedPowerOfBreathing() const;
69  virtual SEScalarPower& GetImposedPowerOfBreathing();
70  virtual double GetImposedPowerOfBreathing(const PowerUnit& unit) const;
71 
72  virtual bool HasImposedWorkOfBreathing() const;
73  virtual SEScalarEnergy& GetImposedWorkOfBreathing();
74  virtual double GetImposedWorkOfBreathing(const EnergyUnit& unit) const;
75 
76  virtual bool HasInspiratoryExpiratoryRatio() const;
77  virtual SEScalar& GetInspiratoryExpiratoryRatio();
78  virtual double GetInspiratoryExpiratoryRatio() const;
79 
80  virtual bool HasInspiratoryFlow() const;
81  virtual SEScalarVolumePerTime& GetInspiratoryFlow();
82  virtual double GetInspiratoryFlow(const VolumePerTimeUnit& unit) const;
83 
84  virtual bool HasInspiratoryPulmonaryResistance() const;
85  virtual SEScalarPressureTimePerVolume& GetInspiratoryPulmonaryResistance();
86  virtual double GetInspiratoryPulmonaryResistance(const PressureTimePerVolumeUnit& unit) const;
87 
88  virtual bool HasIntrapleuralPressure() const;
89  virtual SEScalarPressure& GetIntrapleuralPressure();
90  virtual double GetIntrapleuralPressure(const PressureUnit& unit) const;
91 
92  virtual bool HasIntrapulmonaryPressure() const;
93  virtual SEScalarPressure& GetIntrapulmonaryPressure();
94  virtual double GetIntrapulmonaryPressure(const PressureUnit& unit) const;
95 
96  virtual bool HasLungCompliance() const;
97  virtual SEScalarVolumePerPressure& GetLungCompliance();
98  virtual double GetLungCompliance(const VolumePerPressureUnit& unit) const;
99 
100  virtual bool HasMaximalInspiratoryPressure() const;
101  virtual SEScalarPressure& GetMaximalInspiratoryPressure();
102  virtual double GetMaximalInspiratoryPressure(const PressureUnit& unit) const;
103 
104  virtual bool HasPatientPowerOfBreathing() const;
105  virtual SEScalarPower& GetPatientPowerOfBreathing();
106  virtual double GetPatientPowerOfBreathing(const PowerUnit& unit) const;
107 
108  virtual bool HasPatientWorkOfBreathing() const;
109  virtual SEScalarEnergy& GetPatientWorkOfBreathing();
110  virtual double GetPatientWorkOfBreathing(const EnergyUnit& unit) const;
111 
112  virtual bool HasPeakInspiratoryPressure() const;
113  virtual SEScalarPressure& GetPeakInspiratoryPressure();
114  virtual double GetPeakInspiratoryPressure(const PressureUnit& unit) const;
115 
116  virtual bool HasPhysiologicDeadSpace() const;
117  virtual SEScalarVolume& GetPhysiologicDeadSpace();
118  virtual double GetPhysiologicDeadSpace(const VolumeUnit& unit) const;
119 
120  virtual bool HasPositiveEndExpiratoryPressure() const;
121  virtual SEScalarPressure& GetPositiveEndExpiratoryPressure();
122  virtual double GetPositiveEndExpiratoryPressure(const PressureUnit& unit) const;
123 
124  virtual bool HasPulmonaryCompliance() const;
125  virtual SEScalarVolumePerPressure& GetPulmonaryCompliance();
126  virtual double GetPulmonaryCompliance(const VolumePerPressureUnit& unit) const;
127 
128  virtual bool HasPulmonaryElastance() const;
129  virtual SEScalarPressurePerVolume& GetPulmonaryElastance();
130  virtual double GetPulmonaryElastance(const PressurePerVolumeUnit& unit) const;
131 
132  virtual bool HasResistiveExpiratoryWorkOfBreathing() const;
133  virtual SEScalarEnergy& GetResistiveExpiratoryWorkOfBreathing();
134  virtual double GetResistiveExpiratoryWorkOfBreathing(const EnergyUnit& unit) const;
135 
136  virtual bool HasResistiveInspiratoryWorkOfBreathing() const;
137  virtual SEScalarEnergy& GetResistiveInspiratoryWorkOfBreathing();
138  virtual double GetResistiveInspiratoryWorkOfBreathing(const EnergyUnit& unit) const;
139 
140  virtual bool HasRespirationRate() const;
141  virtual SEScalarFrequency& GetRespirationRate();
142  virtual double GetRespirationRate(const FrequencyUnit& unit) const;
143 
144  virtual bool HasRespiratoryMuscleFatigue() const;
145  virtual SEScalar0To1& GetRespiratoryMuscleFatigue();
146  virtual double GetRespiratoryMuscleFatigue() const;
147 
148  virtual bool HasRespiratoryMusclePressure() const;
149  virtual SEScalarPressure& GetRespiratoryMusclePressure();
150  virtual double GetRespiratoryMusclePressure(const PressureUnit& unit) const;
151 
152  virtual bool HasSpecificVentilation() const;
153  virtual SEScalar& GetSpecificVentilation();
154  virtual double GetSpecificVentilation() const;
155 
156  virtual bool HasTidalVolume() const;
157  virtual SEScalarVolume& GetTidalVolume();
158  virtual double GetTidalVolume(const VolumeUnit& unit) const;
159 
160  virtual bool HasTotalAlveolarVentilation() const;
161  virtual SEScalarVolumePerTime& GetTotalAlveolarVentilation();
162  virtual double GetTotalAlveolarVentilation(const VolumePerTimeUnit& unit) const;
163 
164  virtual bool HasTotalDeadSpaceVentilation() const;
165  virtual SEScalarVolumePerTime& GetTotalDeadSpaceVentilation();
166  virtual double GetTotalDeadSpaceVentilation(const VolumePerTimeUnit& unit) const;
167 
168  virtual bool HasTotalLungVolume() const;
169  virtual SEScalarVolume& GetTotalLungVolume();
170  virtual double GetTotalLungVolume(const VolumeUnit& unit) const;
171 
172  virtual bool HasTotalPowerOfBreathing() const;
173  virtual SEScalarPower& GetTotalPowerOfBreathing();
174  virtual double GetTotalPowerOfBreathing(const PowerUnit& unit) const;
175 
176  virtual bool HasTotalPulmonaryVentilation() const;
177  virtual SEScalarVolumePerTime& GetTotalPulmonaryVentilation();
178  virtual double GetTotalPulmonaryVentilation(const VolumePerTimeUnit& unit) const;
179 
180  virtual bool HasTotalWorkOfBreathing() const;
181  virtual SEScalarEnergy& GetTotalWorkOfBreathing();
182  virtual double GetTotalWorkOfBreathing(const EnergyUnit& unit) const;
183 
184  virtual bool HasTransairwayPressure() const;
185  virtual SEScalarPressure& GetTransairwayPressure();
186  virtual double GetTransairwayPressure(const PressureUnit& unit) const;
187 
188  virtual bool HasTransalveolarPressure() const;
189  virtual SEScalarPressure& GetTransalveolarPressure();
190  virtual double GetTransalveolarPressure(const PressureUnit& unit) const;
191 
192  virtual bool HasTransChestWallPressure() const;
193  virtual SEScalarPressure& GetTransChestWallPressure();
194  virtual double GetTransChestWallPressure(const PressureUnit& unit) const;
195 
196  virtual bool HasTransMusclePressure() const;
197  virtual SEScalarPressure& GetTransMusclePressure();
198  virtual double GetTransMusclePressure(const PressureUnit& unit) const;
199 
200  virtual bool HasTranspulmonaryPressure() const;
201  virtual SEScalarPressure& GetTranspulmonaryPressure();
202  virtual double GetTranspulmonaryPressure(const PressureUnit& unit) const;
203 
204  virtual bool HasTransrespiratoryPressure() const;
205  virtual SEScalarPressure& GetTransrespiratoryPressure();
206  virtual double GetTransrespiratoryPressure(const PressureUnit& unit) const;
207 
208  virtual bool HasTransthoracicPressure() const;
209  virtual SEScalarPressure& GetTransthoracicPressure();
210  virtual double GetTransthoracicPressure(const PressureUnit& unit) const;
211 
212 
213 protected:
214 
263 };
SEScalarPressure * m_TransMusclePressure
Definition: SERespiratorySystem.h:259
SEScalarVolumePerTime * m_TotalAlveolarVentilation
Definition: SERespiratorySystem.h:250
Definition: SEScalar.h:18
Definition: SEScalarVolume.h:7
SEScalarVolumePerTime * m_InspiratoryFlow
Definition: SERespiratorySystem.h:230
SEScalarVolumePerPressure * m_PulmonaryCompliance
Definition: SERespiratorySystem.h:241
SEScalarVolume * m_AnatomicDeadSpace
Definition: SERespiratorySystem.h:217
SEScalar0To1 * m_EndTidalOxygenFraction
Definition: SERespiratorySystem.h:223
SEScalarVolumePerPressure * m_LungCompliance
Definition: SERespiratorySystem.h:234
SEScalarPressure * m_TransalveolarPressure
Definition: SERespiratorySystem.h:257
Definition: SEScalarVolume.h:23
SEScalarPressure * m_RespiratoryMusclePressure
Definition: SERespiratorySystem.h:247
Definition: Logger.h:61
SEScalarPressure * m_TransChestWallPressure
Definition: SERespiratorySystem.h:258
SEScalarVolume * m_AlveolarDeadSpace
Definition: SERespiratorySystem.h:216
SEScalarPressureTimePerVolume * m_ExpiratoryPulmonaryResistance
Definition: SERespiratorySystem.h:226
Definition: SEScalarPressure.h:24
SEScalar0To1 * m_RespiratoryMuscleFatigue
Definition: SERespiratorySystem.h:246
SEScalar0To1 * m_EndTidalCarbonDioxideFraction
Definition: SERespiratorySystem.h:221
SEScalarPower * m_PatientPowerOfBreathing
Definition: SERespiratorySystem.h:236
SEScalar * m_InspiratoryExpiratoryRatio
Definition: SERespiratorySystem.h:229
SEScalarPower * m_TotalPowerOfBreathing
Definition: SERespiratorySystem.h:253
Definition: SERespiratorySystem.h:8
SEScalarPressure * m_PeakInspiratoryPressure
Definition: SERespiratorySystem.h:238
SEScalarEnergy * m_ImposedWorkOfBreathing
Definition: SERespiratorySystem.h:228
Definition: SEScalarVolumePerTime.h:7
Definition: SEScalarVolumePerPressure.h:7
SEScalarPressure * m_TranspulmonaryPressure
Definition: SERespiratorySystem.h:260
SEScalarVolumePerPressure * m_ChestWallCompliance
Definition: SERespiratorySystem.h:219
SEScalarEnergy * m_ResistiveExpiratoryWorkOfBreathing
Definition: SERespiratorySystem.h:243
Definition: SEScalarPressure.h:7
Definition: SEScalarVolumePerPressure.h:22
SEScalarEnergy * m_ResistiveInspiratoryWorkOfBreathing
Definition: SERespiratorySystem.h:244
SEScalarEnergy * m_ElasticWorkOfBreathing
Definition: SERespiratorySystem.h:220
SEScalarPressure * m_PositiveEndExpiratoryPressure
Definition: SERespiratorySystem.h:240
Definition: SESystem.h:7
SEScalarPressure * m_IntrapleuralPressure
Definition: SERespiratorySystem.h:232
SEScalarPressureTimePerVolume * m_InspiratoryPulmonaryResistance
Definition: SERespiratorySystem.h:231
Definition: SEScalarEnergy.h:7
SEScalarPressure * m_CarricoIndex
Definition: SERespiratorySystem.h:218
SEScalarVolumePerTime * m_ExpiratoryFlow
Definition: SERespiratorySystem.h:225
SEScalarVolume * m_TidalVolume
Definition: SERespiratorySystem.h:249
Definition: SEScalarPressureTimePerVolume.h:7
Definition: SEScalarVolumePerTime.h:26
SEScalarVolume * m_PhysiologicDeadSpace
Definition: SERespiratorySystem.h:239
Definition: SEScalarEnergy.h:22
SEScalarPressure * m_MaximalInspiratoryPressure
Definition: SERespiratorySystem.h:235
SEScalarVolumePerTime * m_TotalPulmonaryVentilation
Definition: SERespiratorySystem.h:254
SEScalarEnergy * m_TotalWorkOfBreathing
Definition: SERespiratorySystem.h:255
SEScalarPressure * m_EndTidalCarbonDioxidePressure
Definition: SERespiratorySystem.h:222
SEScalarEnergy * m_PatientWorkOfBreathing
Definition: SERespiratorySystem.h:237
SEScalarPressure * m_AlveolarArterialGradient
Definition: SERespiratorySystem.h:215
SEScalarPressure * m_IntrapulmonaryPressure
Definition: SERespiratorySystem.h:233
Definition: SEScalarPressurePerVolume.h:7
Definition: SEScalarFrequency.h:7
SEScalarPressurePerVolume * m_PulmonaryElastance
Definition: SERespiratorySystem.h:242
SEScalarPressure * m_TransthoracicPressure
Definition: SERespiratorySystem.h:262
Definition: SEScalarPower.h:24
SEScalarPower * m_ImposedPowerOfBreathing
Definition: SERespiratorySystem.h:227
Definition: SEScalarPressurePerVolume.h:21
Definition: PBPhysiology.h:20
SEScalarPressure * m_TransrespiratoryPressure
Definition: SERespiratorySystem.h:261
SEScalarVolume * m_TotalLungVolume
Definition: SERespiratorySystem.h:252
Definition: SEScalarPower.h:7
SEScalarPressure * m_TransairwayPressure
Definition: SERespiratorySystem.h:256
Definition: SEScalarFrequency.h:21
virtual const SEScalar * GetScalar(const std::string &name)=0
SEScalar * m_SpecificVentilation
Definition: SERespiratorySystem.h:248
Definition: SEScalarPressureTimePerVolume.h:23
SEScalarVolumePerTime * m_TotalDeadSpaceVentilation
Definition: SERespiratorySystem.h:251
SEScalarPressure * m_EndTidalOxygenPressure
Definition: SERespiratorySystem.h:224
Definition: SEScalar0To1.h:7
virtual void Clear()
Definition: SESystem.cpp:17
SEScalarFrequency * m_RespirationRate
Definition: SERespiratorySystem.h:245

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.