Drugs.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 #include "controller/System.h"
6 #include "system/physiology/SEDrugSystem.h"
10 
18 class PULSE_DECL Drugs : public SEDrugSystem, public PulseDrugsSystem, public PulseSystem
19 {
20  friend class PBPulsePhysiology;//friend the serialization class
21  friend class PulseController;
22  friend class PulseEngineTest;
23 protected:
24  Drugs(PulseController& data);
26 
27 public:
28  virtual ~Drugs();
29 
30  void Clear();
31 
32 protected:
33  // Set members to a stable homeostatic state
34  void Initialize();
35  // Set pointers and other member varialbes common to both homeostatic initialization and loading a state
36  void SetUp();
37 
38  void AtSteadyState();
39  void PreProcess();
40  void Process();
41  void PostProcess(){}
42 
43  void AdministerSubstanceBolus();
44  void AdministerSubstanceInfusion();
45  void AdministerSubstanceCompoundInfusion();
46 
47  void CalculatePartitionCoefficients();
48  void CalculateSubstanceClearance();
49  void CalculatePlasmaSubstanceConcentration();
50  void CalculateDrugEffects();
51 
52  // Stateless member variable (Set in SetUp())
53  double m_dt_s;
61 };
virtual void Clear()
Definition: SEDrugSystem.cpp:34
PulseController & m_data
Definition: Drugs.h:25
SELiquidCompartment * m_muscleIntracellular
Definition: Drugs.h:56
Manages and controls execution of all data/systems in Pulse.
Definition: Controller.h:50
Definition: SEFluidCircuitPath.h:8
double m_dt_s
Definition: Drugs.h:53
virtual void SetUp()=0
SETissueCompartment * m_fatTissue
Definition: Drugs.h:60
Generic class for handling the Pulse stabilization methodology.
Definition: System.h:10
SELiquidCompartment * m_venaCavaVascular
Definition: Drugs.h:55
SELiquidCompartment * m_aortaVascular
Definition: Drugs.h:54
Definition: PBPulsePhysiology.h:18
Definition: SELiquidCompartment.h:10
SETissueCompartment * m_liverTissue
Definition: Drugs.h:58
virtual void Initialize()
Default system values to their homeostatic values
Definition: System.h:16
Definition: SETissueCompartment.h:8
virtual void AtSteadyState()
Notify systems that steady state has been achieved.
Definition: System.h:20
Definition: PulsePhysiologySystems.h:26
void PostProcess()
Definition: Drugs.h:41
The drug system contains the physiologically based pharmacokinetic (PBPK) model and the pharmacodynam...
Definition: Drugs.h:18
SELiquidCompartment * m_liverVascular
Definition: Drugs.h:57
virtual void Process()=0
SEFluidCircuitPath * m_IVToVenaCava
Definition: Drugs.h:59
Definition: SEDrugSystem.h:8
virtual void PreProcess()=0