SESubstanceClearance.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 class SESubstanceClearanceAnatomyEffect;
6 
7 enum class RenalDynamic{ NullDynamic, Clearance, Regulation };
8 class CDM_DECL SESubstanceClearance : public Loggable
9 {
10  friend class PBSubstance;//friend the serialization class
11 public:
12 
14  virtual ~SESubstanceClearance();
15 
16  virtual void Clear();
17  virtual bool IsValid() const;
18 
19  virtual const SEScalar* GetScalar(const std::string& name);
20 
21  virtual bool HasSystemic() const { return m_hasSystemic; }
22  virtual void SetSystemic(bool b){ m_hasSystemic=b; }
23 
24  virtual eCharge GetChargeInBlood() const;
25  virtual void SetChargeInBlood(eCharge type);
26  virtual bool HasChargeInBlood() const;
27  virtual void InvalidateChargeInBlood();
28 
29  virtual bool HasFractionExcretedInFeces() const;
30  virtual SEScalar0To1& GetFractionExcretedInFeces();
31  virtual double GetFractionExcretedInFeces() const;
32 
33  virtual bool HasFractionExcretedInUrine() const;
34  virtual SEScalar0To1& GetFractionExcretedInUrine();
35  virtual double GetFractionExcretedInUrine() const;
36 
37  virtual bool HasFractionMetabolizedInGut() const;
38  virtual SEScalar0To1& GetFractionMetabolizedInGut();
39  virtual double GetFractionMetabolizedInGut() const;
40 
41  virtual bool HasFractionUnboundInPlasma() const;
42  virtual SEScalar0To1& GetFractionUnboundInPlasma();
43  virtual double GetFractionUnboundInPlasma() const;
44 
45  virtual bool HasGlomerularFilterability() const;
46  virtual SEScalar& GetGlomerularFilterability();
47  virtual double GetGlomerularFilterability() const;
48 
49  virtual bool HasIntrinsicClearance() const;
50  virtual SEScalarVolumePerTimeMass& GetIntrinsicClearance();
51  virtual double GetIntrinsicClearance(const VolumePerTimeMassUnit& unit) const;
52 
53  virtual RenalDynamic GetRenalDynamic() const;
54  virtual void SetRenalDynamic(RenalDynamic d);
55  virtual bool HasRenalDynamic() const;
56  virtual void InvalidateRenalDynamic();
57 
58  virtual bool HasRenalClearance() const;
59  virtual SEScalarVolumePerTimeMass& GetRenalClearance();
60  virtual double GetRenalClearance(const VolumePerTimeMassUnit& unit) const;
61 
62  virtual bool HasRenalReabsorptionRatio() const;
63  virtual SEScalar& GetRenalReabsorptionRatio();
64  virtual double GetRenalReabsorptionRatio() const;
65 
66  virtual bool HasRenalTransportMaximum() const;
67  virtual SEScalarMassPerTime& GetRenalTransportMaximum();
68  virtual double GetRenalTransportMaximum(const MassPerTimeUnit& unit) const;
69 
70  virtual bool HasRenalFiltrationRate() const;
71  virtual SEScalarMassPerTime& GetRenalFiltrationRate();
72  virtual double GetRenalFiltrationRate(const MassPerTimeUnit& unit) const;
73 
74  virtual bool HasRenalReabsorptionRate() const;
75  virtual SEScalarMassPerTime& GetRenalReabsorptionRate();
76  virtual double GetRenalReabsorptionRate(const MassPerTimeUnit& unit) const;
77 
78  virtual bool HasRenalExcretionRate() const;
79  virtual SEScalarMassPerTime& GetRenalExcretionRate();
80  virtual double GetRenalExcretionRate(const MassPerTimeUnit& unit) const;
81 
82  virtual bool HasSystemicClearance() const;
83  virtual SEScalarVolumePerTimeMass& GetSystemicClearance();
84  virtual double GetSystemicClearance(const VolumePerTimeMassUnit& unit) const;
85 
86 protected:
87 
89  eCharge m_ChargeInBlood;
95  RenalDynamic m_RenalDynamic;
104 };
SEScalarMassPerTime * m_RenalTransportMaximum
Definition: SESubstanceClearance.h:98
Definition: SEScalar.h:19
SEScalar0To1 * m_FractionExcretedInUrine
Definition: SESubstanceClearance.h:91
SEScalarVolumePerTimeMass * m_IntrinsicClearance
Definition: SESubstanceClearance.h:94
SEScalar0To1 * m_FractionExcretedInFeces
Definition: SESubstanceClearance.h:90
Definition: SEScalarMassPerTime.h:26
SEScalar0To1 * m_FractionUnboundInPlasma
Definition: SESubstanceClearance.h:93
SEScalarMassPerTime * m_RenalExcretionRate
Definition: SESubstanceClearance.h:101
eCharge m_ChargeInBlood
Definition: SESubstanceClearance.h:89
Definition: Logger.h:61
SEScalarVolumePerTimeMass * m_RenalClearance
Definition: SESubstanceClearance.h:96
virtual bool HasSystemic() const
Definition: SESubstanceClearance.h:21
SEScalar * m_RenalReabsorptionRatio
Definition: SESubstanceClearance.h:97
virtual void SetSystemic(bool b)
Definition: SESubstanceClearance.h:22
SEScalar0To1 * m_FractionMetabolizedInGut
Definition: SESubstanceClearance.h:92
SEScalar * m_GlomerularFilterability
Definition: SESubstanceClearance.h:102
bool m_hasSystemic
Definition: SESubstanceClearance.h:88
SEScalarVolumePerTimeMass * m_SystemicClearance
Definition: SESubstanceClearance.h:103
Definition: Logger.h:11
SEScalarMassPerTime * m_RenalFiltrationRate
Definition: SESubstanceClearance.h:99
Definition: SEScalarMassPerTime.h:7
Definition: SEScalarVolumePerTimeMass.h:7
SEScalarMassPerTime * m_RenalReabsorptionRate
Definition: SESubstanceClearance.h:100
Definition: SEScalarVolumePerTimeMass.h:23
RenalDynamic m_RenalDynamic
Definition: SESubstanceClearance.h:95
Definition: PBSubstance.h:18
Definition: SESubstanceClearance.h:8
Definition: SEScalar0To1.h:7