SESubstancePhysicochemicals.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 
6 // Keep enums in sync with appropriate schema/cdm/SubstanceEnums.proto file !!
7 enum class eSubstance_IonicState { NullIonicState = 0, Acid, Base, Neutral, WeakBase };
8 extern const std::string& eSubstance_IonicState_Name(eSubstance_IonicState m);
9 
10 // Keep enums in sync with appropriate schema/cdm/SubstanceEnums.proto file !!
11 enum class eSubstance_BindingProtein { NullBindingProtein = 0, AAG, Albumin, Lipoprotein };
12 extern const std::string& eSubstance_BindingProtein_Name(eSubstance_BindingProtein m);
13 
14 class CDM_DECL SESubstancePhysicochemicals : public Loggable
15 {
16  friend class PBSubstance;//friend the serialization class
17 public:
18 
20  virtual ~SESubstancePhysicochemicals();
21 
22  virtual void Clear();
23  virtual bool IsValid() const;
24 
25  virtual const SEScalar* GetScalar(const std::string& name);
26 
27 public:
28  virtual bool HasAcidDissociationConstant() const;
29  virtual SEScalar& GetAcidDissociationConstant();
30  virtual double GetAcidDissociationConstant() const;
31 
32  virtual eSubstance_BindingProtein GetBindingProtein() const;
33  virtual void SetBindingProtein(eSubstance_BindingProtein state);
34  virtual bool HasBindingProtein() const;
35  virtual void InvalidateBindingProtein();
36 
37  virtual bool HasBloodPlasmaRatio() const;
38  virtual SEScalar& GetBloodPlasmaRatio();
39  virtual double GetBloodPlasmaRatio() const;
40 
41  virtual bool HasFractionUnboundInPlasma() const;
42  virtual SEScalar0To1& GetFractionUnboundInPlasma();
43  virtual double GetFractionUnboundInPlasma() const;
44 
45  virtual eSubstance_IonicState GetIonicState() const;
46  virtual void SetIonicState(eSubstance_IonicState state);
47  virtual bool HasIonicState() const;
48  virtual void InvalidateIonicState();
49 
50  virtual bool HasLogP() const;
51  virtual SEScalar& GetLogP();
52  virtual double GetLogP() const;
53 
54  virtual bool HasOralAbsorptionRateConstant() const;
55  virtual SEScalar& GetOralAbsorptionRateConstant();
56  virtual double GetOralAbsorptionRateConstant() const;
57 
58 protected:
60  eSubstance_BindingProtein m_BindingProtein;
63  eSubstance_IonicState m_IonicState;
66 };
Definition: SEScalar.h:19
SEScalar * m_AcidDissociationConstant
Definition: SESubstancePhysicochemicals.h:59
Definition: Logger.h:61
Definition: SESubstancePhysicochemicals.h:14
SEScalar * m_OralAbsorptionRateConstant
Definition: SESubstancePhysicochemicals.h:65
SEScalar * m_BloodPlasmaRatio
Definition: SESubstancePhysicochemicals.h:61
Definition: Logger.h:11
eSubstance_IonicState m_IonicState
Definition: SESubstancePhysicochemicals.h:63
SEScalar * m_LogP
Definition: SESubstancePhysicochemicals.h:64
SEScalar0To1 * m_FractionUnboundInPlasma
Definition: SESubstancePhysicochemicals.h:62
eSubstance_BindingProtein m_BindingProtein
Definition: SESubstancePhysicochemicals.h:60
Definition: PBSubstance.h:18
Definition: SEScalar0To1.h:7