SESubstanceClearance.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5class SESubstanceClearanceAnatomyEffect;
6
7enum class RenalDynamic{ NullDynamic, Clearance, Regulation };
8class CDM_DECL SESubstanceClearance : public Loggable
9{
10 friend class PBSubstance;//friend the serialization class
11public:
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
86protected:
87
95 RenalDynamic m_RenalDynamic;
104};
Definition: Logger.h:23
Definition: Logger.h:71
Definition: SEScalarMassPerTime.h:8
Definition: PBSubstance.h:19
Definition: SEScalar0To1.h:8
Definition: SEScalar.h:19
Definition: SEScalarMassPerTime.h:31
Definition: SEScalarVolumePerTimeMass.h:28
Definition: SESubstanceClearance.h:9
SEScalarMassPerTime * m_RenalReabsorptionRate
Definition: SESubstanceClearance.h:100
eCharge m_ChargeInBlood
Definition: SESubstanceClearance.h:89
virtual bool HasSystemic() const
Definition: SESubstanceClearance.h:21
RenalDynamic m_RenalDynamic
Definition: SESubstanceClearance.h:95
SEScalar0To1 * m_FractionExcretedInFeces
Definition: SESubstanceClearance.h:90
SEScalarMassPerTime * m_RenalExcretionRate
Definition: SESubstanceClearance.h:101
SEScalar * m_GlomerularFilterability
Definition: SESubstanceClearance.h:102
virtual void SetSystemic(bool b)
Definition: SESubstanceClearance.h:22
SEScalar * m_RenalReabsorptionRatio
Definition: SESubstanceClearance.h:97
SEScalarVolumePerTimeMass * m_IntrinsicClearance
Definition: SESubstanceClearance.h:94
SEScalarVolumePerTimeMass * m_RenalClearance
Definition: SESubstanceClearance.h:96
SEScalarVolumePerTimeMass * m_SystemicClearance
Definition: SESubstanceClearance.h:103
SEScalar0To1 * m_FractionExcretedInUrine
Definition: SESubstanceClearance.h:91
bool m_hasSystemic
Definition: SESubstanceClearance.h:88
SEScalarMassPerTime * m_RenalFiltrationRate
Definition: SESubstanceClearance.h:99
SEScalar0To1 * m_FractionUnboundInPlasma
Definition: SESubstanceClearance.h:93
SEScalar0To1 * m_FractionMetabolizedInGut
Definition: SESubstanceClearance.h:92
SEScalarMassPerTime * m_RenalTransportMaximum
Definition: SESubstanceClearance.h:98
Definition: SEScalarVolumePerTimeMass.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.