SESubstancePharmacokinetics.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/cdm/substance/SESubstancePhysicochemicals.h>
18 #include <biogears/cdm/substance/SESubstanceTissuePharmacokinetics.h>
19 #include <biogears/schema/cdm/Substance.hxx>
20 
21 CDM_BIND_DECL(SubstancePharmacokineticsData)
22 
23 namespace biogears {
24 class BIOGEARS_API SESubstancePharmacokinetics : public Loggable {
25 public:
27  virtual ~SESubstancePharmacokinetics();
28 
29  virtual void Clear();
30  virtual bool IsValid() const;
31 
32  virtual const SEScalar* GetScalar(const std::string& name);
33  virtual const SEScalar* GetScalar(const char* name);
34 
35  virtual bool Load(const CDM::SubstancePharmacokineticsData& in);
36  virtual CDM::SubstancePharmacokineticsData* Unload() const;
37 
38 protected:
39  virtual void Unload(CDM::SubstancePharmacokineticsData& data) const;
40 
41 public:
42  virtual bool HasPhysicochemicals() const;
43  virtual SESubstancePhysicochemicals& GetPhysicochemicals();
44  virtual const SESubstancePhysicochemicals* GetPhysicochemicals() const;
45 
46  virtual bool HasTissueKinetics() const;
47  virtual bool HasTissueKinetics(const char* name) const;
48  virtual bool HasTissueKinetics(const std::string& name) const;
49  virtual SESubstanceTissuePharmacokinetics& GetTissueKinetics(const char* name);
50  virtual SESubstanceTissuePharmacokinetics& GetTissueKinetics(const std::string& name);
51  virtual const SESubstanceTissuePharmacokinetics* GetTissueKinetics(const char* name) const;
52  virtual const SESubstanceTissuePharmacokinetics* GetTissueKinetics(const std::string& name) const;
53  virtual void RemoveTissueKinetics(const char* name);
54  virtual void RemoveTissueKinetics(const std::string& name);
55 
56 protected:
58  std::map<std::string, SESubstanceTissuePharmacokinetics*> m_TissueKinetics;
59 };
60 }
Definition: SESubstancePhysicochemicals.h:22
Class corresponding to the SubstancePharmacokineticsData schema type.
Definition: Substance.hxx:1772
Definition: SEScalar.h:33
Definition: SESubstancePharmacokinetics.h:24
Definition: Logger.h:27
std::map< std::string, SESubstanceTissuePharmacokinetics * > m_TissueKinetics
Definition: SESubstancePharmacokinetics.h:58
Definition: SESubstanceTissuePharmacokinetics.h:22
Definition: Logger.h:75
SESubstancePhysicochemicals * m_Physicochemicals
Definition: SESubstancePharmacokinetics.h:57
Definition: SEElectricalCircuit.h:18