SESubstancePhysicochemicals.h
1 /**************************************************************************************
2 Copyright 2015 Applied Research Associates, Inc.
3 Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4 this file except in compliance with the License. You may obtain a copy of the License
5 at:
6 http://www.apache.org/licenses/LICENSE-2.0
7 Unless required by applicable law or agreed to in writing, software distributed under
8 the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
9 CONDITIONS OF ANY KIND, either express or implied. See the License for the
10 specific language governing permissions and limitations under the License.
11 **************************************************************************************/
12 
13 #pragma once
14 #include <biogears/cdm/CommonDataModel.h>
15 #include <biogears/exports.h>
16 
17 #include <biogears/schema/cdm/Substance.hxx>
18 
19 CDM_BIND_DECL(SubstancePhysicochemicalData)
20 
21 namespace biogears {
22 class BIOGEARS_API SESubstancePhysicochemicals : public Loggable {
23 public:
25  virtual ~SESubstancePhysicochemicals();
26 
27  virtual void Clear();
28  virtual bool IsValid() const;
29 
30  virtual const SEScalar* GetScalar(const char* name);
31  virtual const SEScalar* GetScalar(const std::string& name);
32 
33  virtual bool Load(const CDM::SubstancePhysicochemicalData& in);
34  virtual CDM::SubstancePhysicochemicalData* Unload() const;
35 
36 protected:
37  virtual void Unload(CDM::SubstancePhysicochemicalData& data) const;
38 
39 public:
40 
41  virtual bool HasPrimaryPKA() const;
42  virtual SEScalar& GetPrimaryPKA();
43  virtual double GetPrimaryPKA() const;
44 
45  virtual bool HasSecondaryPKA() const;
46  virtual SEScalar& GetSecondaryPKA();
47  virtual double GetSecondaryPKA() const;
48 
49  virtual CDM::enumSubstanceBindingProtein::value GetBindingProtein() const;
50  virtual void SetBindingProtein(CDM::enumSubstanceBindingProtein::value state);
51  virtual bool HasBindingProtein() const;
52  virtual void InvalidateBindingProtein();
53 
54  virtual bool HasBloodPlasmaRatio() const;
55  virtual SEScalar& GetBloodPlasmaRatio();
56  virtual double GetBloodPlasmaRatio() const;
57 
58  virtual bool HasFractionUnboundInPlasma() const;
59  virtual SEScalarFraction& GetFractionUnboundInPlasma();
60  virtual double GetFractionUnboundInPlasma() const;
61 
62  virtual CDM::enumSubstanceIonicState::value GetIonicState() const;
63  virtual void SetIonicState(CDM::enumSubstanceIonicState::value state);
64  virtual bool HasIonicState() const;
65  virtual void InvalidateIonicState();
66 
67  virtual bool HasLogP() const;
68  virtual SEScalar& GetLogP();
69  virtual double GetLogP() const;
70 
71  virtual bool HasHydrogenBondCount() const;
72  virtual SEScalar& GetHydrogenBondCount();
73  virtual double GetHydrogenBondCount() const;
74 
75  virtual bool HasPolarSurfaceArea() const;
76  virtual SEScalar& GetPolarSurfaceArea();
77  virtual double GetPolarSurfaceArea() const;
78 
79 protected:
80  std::vector<SEScalar*> m_AcidDissociationConstants;
88 
89 };
90 }
Definition: SESubstancePhysicochemicals.h:22
value
Underlying enum type.
Definition: Substance.hxx:1020
SEScalar * m_LogP
Definition: SESubstancePhysicochemicals.h:85
Definition: SEScalar.h:33
SEScalar * m_HydrogenBondCount
Definition: SESubstancePhysicochemicals.h:86
std::vector< SEScalar * > m_AcidDissociationConstants
Definition: SESubstancePhysicochemicals.h:80
CDM::enumSubstanceBindingProtein::value m_BindingProtein
Definition: SESubstancePhysicochemicals.h:81
value
Underlying enum type.
Definition: Substance.hxx:864
Definition: Logger.h:27
Definition: Logger.h:75
Definition: SEScalarFraction.h:18
Class corresponding to the SubstancePhysicochemicalData schema type.
Definition: Substance.hxx:2007
SEScalarFraction * m_FractionUnboundInPlasma
Definition: SESubstancePhysicochemicals.h:83
SEScalar * m_PolarSurfaceArea
Definition: SESubstancePhysicochemicals.h:87
SEScalar * m_BloodPlasmaRatio
Definition: SESubstancePhysicochemicals.h:82
Definition: SEElectricalCircuit.h:18
CDM::enumSubstanceIonicState::value m_IonicState
Definition: SESubstancePhysicochemicals.h:84