SEDrugSystem.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"
7 
8 class CDM_DECL SEDrugSystem : public SESystem
9 {
10  friend class PBPhysiology;//friend the serialization class
11 public:
12  SEDrugSystem(Logger* logger);
13  virtual ~SEDrugSystem();
14 
15  virtual void Clear();// Deletes all members
16 
17  virtual const SEScalar* GetScalar(const std::string& name);
18 
19  virtual bool HasBronchodilationLevel() const;
20  virtual SEScalarNegative1To1& GetBronchodilationLevel();
21  virtual double GetBronchodilationLevel() const;
22 
23  virtual bool HasHeartRateChange() const;
24  virtual SEScalarFrequency& GetHeartRateChange();
25  virtual double GetHeartRateChange(const FrequencyUnit& unit) const;
26 
27  virtual bool HasMeanBloodPressureChange() const;
28  virtual SEScalarPressure& GetMeanBloodPressureChange();
29  virtual double GetMeanBloodPressureChange(const PressureUnit& unit) const;
30 
31  virtual bool HasNeuromuscularBlockLevel() const;
32  virtual SEScalar0To1& GetNeuromuscularBlockLevel();
33  virtual double GetNeuromuscularBlockLevel() const;
34 
35  virtual bool HasPulsePressureChange() const;
36  virtual SEScalarPressure& GetPulsePressureChange();
37  virtual double GetPulsePressureChange(const PressureUnit& unit) const;
38 
39  virtual bool HasPupillaryResponse() const;
40  virtual SEPupillaryResponse& GetPupillaryResponse();
41  virtual const SEPupillaryResponse* GetPupillaryResponse() const;
42  virtual void RemovePupillaryResponse();
43 
44  virtual bool HasRespirationRateChange() const;
45  virtual SEScalarFrequency& GetRespirationRateChange();
46  virtual double GetRespirationRateChange(const FrequencyUnit& unit) const;
47 
48  virtual bool HasSedationLevel() const;
49  virtual SEScalar0To1& GetSedationLevel();
50  virtual double GetSedationLevel() const;
51 
52  virtual bool HasTidalVolumeChange() const;
53  virtual SEScalarVolume& GetTidalVolumeChange();
54  virtual double GetTidalVolumeChange(const VolumeUnit& unit) const;
55 
56  virtual bool HasTubularPermeabilityChange() const;
57  virtual SEScalarNegative1To1& GetTubularPermeabilityChange();
58  virtual double GetTubularPermeabilityChange() const;
59 
60 protected:
61 
72 };
Definition: SEScalar.h:18
Definition: SEScalarVolume.h:7
Definition: SEScalarVolume.h:23
SEScalarNegative1To1 * m_TubularPermeabilityChange
Definition: SEDrugSystem.h:71
Definition: Logger.h:61
Definition: SEPupillaryResponse.h:7
SEScalarPressure * m_MeanBloodPressureChange
Definition: SEDrugSystem.h:64
Definition: SEScalarPressure.h:24
SEScalarFrequency * m_RespirationRateChange
Definition: SEDrugSystem.h:68
SEScalarFrequency * m_HeartRateChange
Definition: SEDrugSystem.h:63
Definition: SEScalarPressure.h:7
Definition: SESystem.h:7
SEScalar0To1 * m_SedationLevel
Definition: SEDrugSystem.h:69
Definition: SEScalarNegative1To1.h:7
SEScalarVolume * m_TidalVolumeChange
Definition: SEDrugSystem.h:70
SEScalarPressure * m_PulsePressureChange
Definition: SEDrugSystem.h:66
SEPupillaryResponse * m_PupillaryResponse
Definition: SEDrugSystem.h:67
SEScalarNegative1To1 * m_BronchodilationLevel
Definition: SEDrugSystem.h:62
Definition: SEScalarFrequency.h:7
SEScalar0To1 * m_NeuromuscularBlockLevel
Definition: SEDrugSystem.h:65
Definition: PBPhysiology.h:20
Definition: SEScalarFrequency.h:21
Definition: SEDrugSystem.h:8
virtual const SEScalar * GetScalar(const std::string &name)=0
Definition: SEScalar0To1.h:7
virtual void Clear()
Definition: SESystem.cpp:17