Building Medical Digital Twins with Pulse: Open Source Simulation Tools for Developers and Researchers
×

#include <SESubstance.h>

Inheritance diagram for SESubstance:
Loggable

Public Member Functions

virtual ~SESubstance ()
 
virtual void Clear ()
 
bool SerializeToString (std::string &output, eSerializationFormat m) const
 
bool SerializeToFile (const std::string &filename) const
 
bool SerializeFromString (const std::string &src, eSerializationFormat m)
 
bool SerializeFromFile (const std::string &filename)
 
virtual const SEScalar * GetScalar (const std::string &name)
 
virtual std::string GetName () const
 
virtual eSubstance_State GetState () const
 
virtual void SetState (eSubstance_State state)
 
virtual bool HasState () const
 
virtual void InvalidateState ()
 
virtual bool HasDensity () const
 
virtual SEScalarMassPerVolume & GetDensity ()
 
virtual double GetDensity (const MassPerVolumeUnit &unit) const
 
virtual bool HasMolarMass () const
 
virtual SEScalarMassPerAmount & GetMolarMass ()
 
virtual double GetMolarMass (const MassPerAmountUnit &unit) const
 
virtual bool HasValence () const
 
virtual SEScalar & GetValence ()
 
virtual double GetValence () const
 
virtual bool HasMaximumDiffusionFlux () const
 
virtual SEScalarMassPerAreaTime & GetMaximumDiffusionFlux ()
 
virtual double GetMaximumDiffusionFlux (const MassPerAreaTimeUnit &unit) const
 
virtual bool HasMichaelisCoefficient () const
 
virtual SEScalar & GetMichaelisCoefficient ()
 
virtual double GetMichaelisCoefficient () const
 
virtual bool HasAerosolization () const
 
virtual SESubstanceAerosolization & GetAerosolization ()
 
virtual const SESubstanceAerosolization * GetAerosolization () const
 
virtual void RemoveAerosolization ()
 
virtual bool HasBloodConcentration () const
 
virtual SEScalarMassPerVolume & GetBloodConcentration ()
 
virtual double GetBloodConcentration (const MassPerVolumeUnit &unit) const
 
virtual bool HasMassInBody () const
 
virtual SEScalarMass & GetMassInBody ()
 
virtual double GetMassInBody (const MassUnit &unit) const
 
virtual bool HasMassInBlood () const
 
virtual SEScalarMass & GetMassInBlood ()
 
virtual double GetMassInBlood (const MassUnit &unit) const
 
virtual bool HasMassInTissue () const
 
virtual SEScalarMass & GetMassInTissue ()
 
virtual double GetMassInTissue (const MassUnit &unit) const
 
virtual bool HasPlasmaConcentration () const
 
virtual SEScalarMassPerVolume & GetPlasmaConcentration ()
 
virtual double GetPlasmaConcentration (const MassPerVolumeUnit &unit) const
 
virtual bool HasSystemicMassCleared () const
 
virtual SEScalarMass & GetSystemicMassCleared ()
 
virtual double GetSystemicMassCleared (const MassUnit &unit) const
 
virtual bool HasTissueConcentration () const
 
virtual SEScalarMassPerVolume & GetTissueConcentration ()
 
virtual double GetTissueConcentration (const MassPerVolumeUnit &unit) const
 
virtual bool HasAlveolarTransfer () const
 
virtual SEScalarVolumePerTime & GetAlveolarTransfer ()
 
virtual double GetAlveolarTransfer (const VolumePerTimeUnit &unit) const
 
virtual bool HasDiffusingCapacity () const
 
virtual SEScalarVolumePerTimePressure & GetDiffusingCapacity ()
 
virtual double GetDiffusingCapacity (const VolumePerTimePressureUnit &unit) const
 
virtual bool HasEndTidalFraction () const
 
virtual SEScalar0To1 & GetEndTidalFraction ()
 
virtual double GetEndTidalFraction () const
 
virtual bool HasEndTidalPressure () const
 
virtual SEScalarPressure & GetEndTidalPressure ()
 
virtual double GetEndTidalPressure (const PressureUnit &unit) const
 
virtual bool HasRelativeDiffusionCoefficient () const
 
virtual SEScalar & GetRelativeDiffusionCoefficient ()
 
virtual double GetRelativeDiffusionCoefficient () const
 
virtual bool HasSolubilityCoefficient () const
 
virtual SEScalarInversePressure & GetSolubilityCoefficient ()
 
virtual double GetSolubilityCoefficient (const InversePressureUnit &unit) const
 
virtual bool HasClearance () const
 
virtual SESubstanceClearance & GetClearance ()
 
virtual const SESubstanceClearance * GetClearance () const
 
virtual void RemoveClearance ()
 
virtual bool HasPK () const
 
virtual SESubstancePharmacokinetics & GetPK ()
 
virtual const SESubstancePharmacokinetics * GetPK () const
 
virtual void RemovePK ()
 
virtual bool HasPD () const
 
virtual SESubstancePharmacodynamics & GetPD ()
 
virtual const SESubstancePharmacodynamics * GetPD () const
 
virtual void RemovePD ()
 
- Public Member Functions inherited from Loggable
 Loggable (Logger *logger=nullptr)
 
 Loggable (std::string const &logfile)
 
virtual ~Loggable ()
 
virtual Logger * GetLogger () const
 
virtual void SetLogger (Logger &logger)
 
virtual void Debug (std::string const &msg) const
 
virtual void Debug (std::stringstream &msg) const
 
virtual void Debug (std::ostream &msg) const
 
virtual void Info (std::string const &msg) const
 
virtual void Info (std::stringstream &msg) const
 
virtual void Info (const std::stringstream &msg) const
 
virtual void Info (std::ostream &msg) const
 
virtual void Warning (std::string const &msg) const
 
virtual void Warning (std::stringstream &msg) const
 
virtual void Warning (std::ostream &msg) const
 
virtual void Error (std::string const &msg) const
 
virtual void Error (std::stringstream &msg) const
 
virtual void Error (std::ostream &msg) const
 
virtual void Fatal (std::string const &msg) const
 
virtual void Fatal (std::stringstream &msg) const
 
virtual void Fatal (std::ostream &msg) const
 

Protected Member Functions

 SESubstance (const std::string &name, Logger *logger)
 

Protected Attributes

std::string m_Name
 
eSubstance_State m_State
 
SEScalarMassPerVolume * m_Density
 
SEScalarMassPerAmount * m_MolarMass
 
SEScalar * m_Valence
 
SEScalarMassPerAreaTime * m_MaximumDiffusionFlux
 
SEScalar * m_MichaelisCoefficient
 
SESubstanceAerosolization * m_Aerosolization
 
SEScalarMassPerVolume * m_BloodConcentration
 
SEScalarMass * m_MassInBody
 
SEScalarMass * m_MassInBlood
 
SEScalarMass * m_MassInTissue
 
SEScalarMassPerVolume * m_PlasmaConcentration
 
SEScalarMass * m_SystemicMassCleared
 
SEScalarMassPerVolume * m_TissueConcentration
 
SEScalarVolumePerTime * m_AlveolarTransfer
 
SEScalarVolumePerTimePressure * m_DiffusingCapacity
 
SEScalar0To1 * m_EndTidalFraction
 
SEScalarPressure * m_EndTidalPressure
 
SEScalar * m_RelativeDiffusionCoefficient
 
SEScalarInversePressure * m_SolubilityCoefficient
 
SESubstanceClearance * m_Clearance
 
SESubstancePharmacokinetics * m_PK
 
SESubstancePharmacodynamics * m_PD
 
- Protected Attributes inherited from Loggable
bool myLogger
 
Logger * m_Logger
 

Friends

class PBSubstance
 
class SESubstanceManager
 

Constructor & Destructor Documentation

◆ SESubstance()

SESubstance::SESubstance ( const std::string &  name,
Logger *  logger 
)
protected

◆ ~SESubstance()

SESubstance::~SESubstance ( )
virtual

Member Function Documentation

◆ Clear()

void SESubstance::Clear ( )
virtual

◆ GetAerosolization() [1/2]

SESubstanceAerosolization & SESubstance::GetAerosolization ( )
virtual

◆ GetAerosolization() [2/2]

const SESubstanceAerosolization * SESubstance::GetAerosolization ( ) const
virtual

◆ GetAlveolarTransfer() [1/2]

SEScalarVolumePerTime & SESubstance::GetAlveolarTransfer ( )
virtual

◆ GetAlveolarTransfer() [2/2]

double SESubstance::GetAlveolarTransfer ( const VolumePerTimeUnit &  unit) const
virtual

◆ GetBloodConcentration() [1/2]

SEScalarMassPerVolume & SESubstance::GetBloodConcentration ( )
virtual

◆ GetBloodConcentration() [2/2]

double SESubstance::GetBloodConcentration ( const MassPerVolumeUnit &  unit) const
virtual

◆ GetClearance() [1/2]

SESubstanceClearance & SESubstance::GetClearance ( )
virtual

◆ GetClearance() [2/2]

const SESubstanceClearance * SESubstance::GetClearance ( ) const
virtual

◆ GetDensity() [1/2]

SEScalarMassPerVolume & SESubstance::GetDensity ( )
virtual

◆ GetDensity() [2/2]

double SESubstance::GetDensity ( const MassPerVolumeUnit &  unit) const
virtual

◆ GetDiffusingCapacity() [1/2]

SEScalarVolumePerTimePressure & SESubstance::GetDiffusingCapacity ( )
virtual

◆ GetDiffusingCapacity() [2/2]

double SESubstance::GetDiffusingCapacity ( const VolumePerTimePressureUnit &  unit) const
virtual

◆ GetEndTidalFraction() [1/2]

SEScalar0To1 & SESubstance::GetEndTidalFraction ( )
virtual

◆ GetEndTidalFraction() [2/2]

double SESubstance::GetEndTidalFraction ( ) const
virtual

◆ GetEndTidalPressure() [1/2]

SEScalarPressure & SESubstance::GetEndTidalPressure ( )
virtual

◆ GetEndTidalPressure() [2/2]

double SESubstance::GetEndTidalPressure ( const PressureUnit &  unit) const
virtual

◆ GetMassInBlood() [1/2]

SEScalarMass & SESubstance::GetMassInBlood ( )
virtual

◆ GetMassInBlood() [2/2]

double SESubstance::GetMassInBlood ( const MassUnit &  unit) const
virtual

◆ GetMassInBody() [1/2]

SEScalarMass & SESubstance::GetMassInBody ( )
virtual

◆ GetMassInBody() [2/2]

double SESubstance::GetMassInBody ( const MassUnit &  unit) const
virtual

◆ GetMassInTissue() [1/2]

SEScalarMass & SESubstance::GetMassInTissue ( )
virtual

◆ GetMassInTissue() [2/2]

double SESubstance::GetMassInTissue ( const MassUnit &  unit) const
virtual

◆ GetMaximumDiffusionFlux() [1/2]

SEScalarMassPerAreaTime & SESubstance::GetMaximumDiffusionFlux ( )
virtual

◆ GetMaximumDiffusionFlux() [2/2]

double SESubstance::GetMaximumDiffusionFlux ( const MassPerAreaTimeUnit &  unit) const
virtual

◆ GetMichaelisCoefficient() [1/2]

SEScalar & SESubstance::GetMichaelisCoefficient ( )
virtual

◆ GetMichaelisCoefficient() [2/2]

double SESubstance::GetMichaelisCoefficient ( ) const
virtual

◆ GetMolarMass() [1/2]

SEScalarMassPerAmount & SESubstance::GetMolarMass ( )
virtual

◆ GetMolarMass() [2/2]

double SESubstance::GetMolarMass ( const MassPerAmountUnit &  unit) const
virtual

◆ GetName()

std::string SESubstance::GetName ( ) const
virtual

◆ GetPD() [1/2]

SESubstancePharmacodynamics & SESubstance::GetPD ( )
virtual

◆ GetPD() [2/2]

const SESubstancePharmacodynamics * SESubstance::GetPD ( ) const
virtual

◆ GetPK() [1/2]

SESubstancePharmacokinetics & SESubstance::GetPK ( )
virtual

◆ GetPK() [2/2]

const SESubstancePharmacokinetics * SESubstance::GetPK ( ) const
virtual

◆ GetPlasmaConcentration() [1/2]

SEScalarMassPerVolume & SESubstance::GetPlasmaConcentration ( )
virtual

◆ GetPlasmaConcentration() [2/2]

double SESubstance::GetPlasmaConcentration ( const MassPerVolumeUnit &  unit) const
virtual

◆ GetRelativeDiffusionCoefficient() [1/2]

SEScalar & SESubstance::GetRelativeDiffusionCoefficient ( )
virtual

◆ GetRelativeDiffusionCoefficient() [2/2]

double SESubstance::GetRelativeDiffusionCoefficient ( ) const
virtual

◆ GetScalar()

const SEScalar * SESubstance::GetScalar ( const std::string &  name)
virtual

◆ GetSolubilityCoefficient() [1/2]

SEScalarInversePressure & SESubstance::GetSolubilityCoefficient ( )
virtual

◆ GetSolubilityCoefficient() [2/2]

double SESubstance::GetSolubilityCoefficient ( const InversePressureUnit &  unit) const
virtual

◆ GetState()

eSubstance_State SESubstance::GetState ( ) const
virtual

◆ GetSystemicMassCleared() [1/2]

SEScalarMass & SESubstance::GetSystemicMassCleared ( )
virtual

◆ GetSystemicMassCleared() [2/2]

double SESubstance::GetSystemicMassCleared ( const MassUnit &  unit) const
virtual

◆ GetTissueConcentration() [1/2]

SEScalarMassPerVolume & SESubstance::GetTissueConcentration ( )
virtual

◆ GetTissueConcentration() [2/2]

double SESubstance::GetTissueConcentration ( const MassPerVolumeUnit &  unit) const
virtual

◆ GetValence() [1/2]

SEScalar & SESubstance::GetValence ( )
virtual

◆ GetValence() [2/2]

double SESubstance::GetValence ( ) const
virtual

◆ HasAerosolization()

bool SESubstance::HasAerosolization ( ) const
virtual

◆ HasAlveolarTransfer()

bool SESubstance::HasAlveolarTransfer ( ) const
virtual

◆ HasBloodConcentration()

bool SESubstance::HasBloodConcentration ( ) const
virtual

◆ HasClearance()

bool SESubstance::HasClearance ( ) const
virtual

◆ HasDensity()

bool SESubstance::HasDensity ( ) const
virtual

◆ HasDiffusingCapacity()

bool SESubstance::HasDiffusingCapacity ( ) const
virtual

◆ HasEndTidalFraction()

bool SESubstance::HasEndTidalFraction ( ) const
virtual

◆ HasEndTidalPressure()

bool SESubstance::HasEndTidalPressure ( ) const
virtual

◆ HasMassInBlood()

bool SESubstance::HasMassInBlood ( ) const
virtual

◆ HasMassInBody()

bool SESubstance::HasMassInBody ( ) const
virtual

◆ HasMassInTissue()

bool SESubstance::HasMassInTissue ( ) const
virtual

◆ HasMaximumDiffusionFlux()

bool SESubstance::HasMaximumDiffusionFlux ( ) const
virtual

◆ HasMichaelisCoefficient()

bool SESubstance::HasMichaelisCoefficient ( ) const
virtual

◆ HasMolarMass()

bool SESubstance::HasMolarMass ( ) const
virtual

◆ HasPD()

bool SESubstance::HasPD ( ) const
virtual

◆ HasPK()

bool SESubstance::HasPK ( ) const
virtual

◆ HasPlasmaConcentration()

bool SESubstance::HasPlasmaConcentration ( ) const
virtual

◆ HasRelativeDiffusionCoefficient()

bool SESubstance::HasRelativeDiffusionCoefficient ( ) const
virtual

◆ HasSolubilityCoefficient()

bool SESubstance::HasSolubilityCoefficient ( ) const
virtual

◆ HasState()

bool SESubstance::HasState ( ) const
virtual

◆ HasSystemicMassCleared()

bool SESubstance::HasSystemicMassCleared ( ) const
virtual

◆ HasTissueConcentration()

bool SESubstance::HasTissueConcentration ( ) const
virtual

◆ HasValence()

bool SESubstance::HasValence ( ) const
virtual

◆ InvalidateState()

void SESubstance::InvalidateState ( )
virtual

◆ RemoveAerosolization()

void SESubstance::RemoveAerosolization ( )
virtual

◆ RemoveClearance()

void SESubstance::RemoveClearance ( )
virtual

◆ RemovePD()

void SESubstance::RemovePD ( )
virtual

◆ RemovePK()

void SESubstance::RemovePK ( )
virtual

◆ SerializeFromFile()

bool SESubstance::SerializeFromFile ( const std::string &  filename)

◆ SerializeFromString()

bool SESubstance::SerializeFromString ( const std::string &  src,
eSerializationFormat  m 
)

◆ SerializeToFile()

bool SESubstance::SerializeToFile ( const std::string &  filename) const

◆ SerializeToString()

bool SESubstance::SerializeToString ( std::string &  output,
eSerializationFormat  m 
) const

◆ SetState()

void SESubstance::SetState ( eSubstance_State  state)
virtual

Friends And Related Function Documentation

◆ PBSubstance

friend class PBSubstance
friend

◆ SESubstanceManager

friend class SESubstanceManager
friend

Member Data Documentation

◆ m_Aerosolization

SESubstanceAerosolization* SESubstance::m_Aerosolization
protected

◆ m_AlveolarTransfer

SEScalarVolumePerTime* SESubstance::m_AlveolarTransfer
protected

◆ m_BloodConcentration

SEScalarMassPerVolume* SESubstance::m_BloodConcentration
protected

◆ m_Clearance

SESubstanceClearance* SESubstance::m_Clearance
protected

◆ m_Density

SEScalarMassPerVolume* SESubstance::m_Density
protected

◆ m_DiffusingCapacity

SEScalarVolumePerTimePressure* SESubstance::m_DiffusingCapacity
protected

◆ m_EndTidalFraction

SEScalar0To1* SESubstance::m_EndTidalFraction
protected

◆ m_EndTidalPressure

SEScalarPressure* SESubstance::m_EndTidalPressure
protected

◆ m_MassInBlood

SEScalarMass* SESubstance::m_MassInBlood
protected

◆ m_MassInBody

SEScalarMass* SESubstance::m_MassInBody
protected

◆ m_MassInTissue

SEScalarMass* SESubstance::m_MassInTissue
protected

◆ m_MaximumDiffusionFlux

SEScalarMassPerAreaTime* SESubstance::m_MaximumDiffusionFlux
protected

◆ m_MichaelisCoefficient

SEScalar* SESubstance::m_MichaelisCoefficient
protected

◆ m_MolarMass

SEScalarMassPerAmount* SESubstance::m_MolarMass
protected

◆ m_Name

std::string SESubstance::m_Name
protected

◆ m_PD

SESubstancePharmacodynamics* SESubstance::m_PD
protected

◆ m_PK

SESubstancePharmacokinetics* SESubstance::m_PK
protected

◆ m_PlasmaConcentration

SEScalarMassPerVolume* SESubstance::m_PlasmaConcentration
protected

◆ m_RelativeDiffusionCoefficient

SEScalar* SESubstance::m_RelativeDiffusionCoefficient
protected

◆ m_SolubilityCoefficient

SEScalarInversePressure* SESubstance::m_SolubilityCoefficient
protected

◆ m_State

eSubstance_State SESubstance::m_State
protected

◆ m_SystemicMassCleared

SEScalarMass* SESubstance::m_SystemicMassCleared
protected

◆ m_TissueConcentration

SEScalarMassPerVolume* SESubstance::m_TissueConcentration
protected

◆ m_Valence

SEScalar* SESubstance::m_Valence
protected

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.