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 HasCarricoIndex() const;
25  virtual SEScalarPressure& GetCarricoIndex();
26  virtual double GetCarricoIndex(const PressureUnit& unit) const;
27 
28  virtual bool HasEndTidalCarbonDioxideFraction() const;
29  virtual SEScalar0To1& GetEndTidalCarbonDioxideFraction();
30  virtual double GetEndTidalCarbonDioxideFraction() const;
31 
32  virtual bool HasEndTidalCarbonDioxidePressure() const;
33  virtual SEScalarPressure& GetEndTidalCarbonDioxidePressure();
34  virtual double GetEndTidalCarbonDioxidePressure(const PressureUnit& unit) const;
35 
36  virtual bool HasExpiratoryFlow() const;
37  virtual SEScalarVolumePerTime& GetExpiratoryFlow();
38  virtual double GetExpiratoryFlow(const VolumePerTimeUnit& unit) const;
39 
40  virtual bool HasInspiratoryExpiratoryRatio() const;
41  virtual SEScalar& GetInspiratoryExpiratoryRatio();
42  virtual double GetInspiratoryExpiratoryRatio() const;
43 
44  virtual bool HasInspiratoryFlow() const;
45  virtual SEScalarVolumePerTime& GetInspiratoryFlow();
46  virtual double GetInspiratoryFlow(const VolumePerTimeUnit& unit) const;
47 
48  virtual bool HasPulmonaryCompliance() const;
49  virtual SEScalarFlowCompliance& GetPulmonaryCompliance();
50  virtual double GetPulmonaryCompliance(const FlowComplianceUnit& unit) const;
51 
52  virtual bool HasPulmonaryResistance() const;
53  virtual SEScalarFlowResistance& GetPulmonaryResistance();
54  virtual double GetPulmonaryResistance(const FlowResistanceUnit& unit) const;
55 
56  virtual bool HasRespirationMusclePressure() const;
57  virtual SEScalarPressure& GetRespirationMusclePressure();
58  virtual double GetRespirationMusclePressure(const PressureUnit& unit) const;
59 
60  virtual bool HasRespirationRate() const;
61  virtual SEScalarFrequency& GetRespirationRate();
62  virtual double GetRespirationRate(const FrequencyUnit& unit) const;
63 
64  virtual bool HasSpecificVentilation() const;
65  virtual SEScalar& GetSpecificVentilation();
66  virtual double GetSpecificVentilation() const;
67 
68  virtual bool HasTidalVolume() const;
69  virtual SEScalarVolume& GetTidalVolume();
70  virtual double GetTidalVolume(const VolumeUnit& unit) const;
71 
72  virtual bool HasTotalAlveolarVentilation() const;
73  virtual SEScalarVolumePerTime& GetTotalAlveolarVentilation();
74  virtual double GetTotalAlveolarVentilation(const VolumePerTimeUnit& unit) const;
75 
76  virtual bool HasTotalDeadSpaceVentilation() const;
77  virtual SEScalarVolumePerTime& GetTotalDeadSpaceVentilation();
78  virtual double GetTotalDeadSpaceVentilation(const VolumePerTimeUnit& unit) const;
79 
80  virtual bool HasTotalPulmonaryVentilation() const;
81  virtual SEScalarVolumePerTime& GetTotalPulmonaryVentilation();
82  virtual double GetTotalPulmonaryVentilation(const VolumePerTimeUnit& unit) const;
83 
84  virtual bool HasTotalLungVolume() const;
85  virtual SEScalarVolume& GetTotalLungVolume();
86  virtual double GetTotalLungVolume(const VolumeUnit& unit) const;
87 
88  virtual bool HasTranspulmonaryPressure() const;
89  virtual SEScalarPressure& GetTranspulmonaryPressure();
90  virtual double GetTranspulmonaryPressure(const PressureUnit& unit) const;
91 
92 
93 protected:
94 
113 };
SEScalarVolumePerTime * m_TotalAlveolarVentilation
Definition: SERespiratorySystem.h:108
Definition: SEScalar.h:18
Definition: SEScalarVolume.h:7
SEScalarVolumePerTime * m_InspiratoryFlow
Definition: SERespiratorySystem.h:101
Definition: SEScalarFlowCompliance.h:7
Definition: SEScalarVolume.h:23
Definition: Logger.h:61
Definition: SEScalarPressure.h:24
SEScalar0To1 * m_EndTidalCarbonDioxideFraction
Definition: SERespiratorySystem.h:97
SEScalar * m_InspiratoryExpiratoryRatio
Definition: SERespiratorySystem.h:100
Definition: SERespiratorySystem.h:8
Definition: SEScalarVolumePerTime.h:7
SEScalarPressure * m_TranspulmonaryPressure
Definition: SERespiratorySystem.h:112
SEScalarPressure * m_RespirationMusclePressure
Definition: SERespiratorySystem.h:104
SEScalarFlowCompliance * m_PulmonaryCompliance
Definition: SERespiratorySystem.h:102
Definition: SEScalarPressure.h:7
Definition: SESystem.h:7
SEScalarPressure * m_CarricoIndex
Definition: SERespiratorySystem.h:96
SEScalarVolumePerTime * m_ExpiratoryFlow
Definition: SERespiratorySystem.h:99
SEScalarVolume * m_TidalVolume
Definition: SERespiratorySystem.h:107
Definition: SEScalarVolumePerTime.h:26
SEScalarVolumePerTime * m_TotalPulmonaryVentilation
Definition: SERespiratorySystem.h:111
SEScalarPressure * m_EndTidalCarbonDioxidePressure
Definition: SERespiratorySystem.h:98
SEScalarPressure * m_AlveolarArterialGradient
Definition: SERespiratorySystem.h:95
Definition: SEScalarFrequency.h:7
Definition: PBPhysiology.h:20
SEScalarVolume * m_TotalLungVolume
Definition: SERespiratorySystem.h:110
Definition: SEScalarFrequency.h:21
SEScalarFlowResistance * m_PulmonaryResistance
Definition: SERespiratorySystem.h:103
Definition: SEScalarFlowResistance.h:7
Definition: SEScalarFlowCompliance.h:22
virtual const SEScalar * GetScalar(const std::string &name)=0
SEScalar * m_SpecificVentilation
Definition: SERespiratorySystem.h:106
Definition: SEScalarFlowResistance.h:23
SEScalarVolumePerTime * m_TotalDeadSpaceVentilation
Definition: SERespiratorySystem.h:109
Definition: SEScalar0To1.h:7
virtual void Clear()
Definition: SESystem.cpp:17
SEScalarFrequency * m_RespirationRate
Definition: SERespiratorySystem.h:105