#include <SELiquidSubstanceQuantity.h>

Inherits SESubstanceQuantity, and SESubstanceTransportAmount< ExtensiveScalar, IntensiveScalar >.

Public Member Functions

virtual ~SELiquidSubstanceQuantity ()
 
void Clear () override
 
virtual std::string GetCompartmentName () override
 
void SetToZero () override
 
const SEScalarGetScalar (const std::string &name) override
 
virtual void Balance (BalanceLiquidBy e)
 
virtual bool HasConcentration () const
 
virtual SEScalarMassPerVolumeGetConcentration ()
 
virtual double GetConcentration (const MassPerVolumeUnit &unit) const
 
virtual bool HasMass () const
 
virtual SEScalarMassGetMass ()
 
virtual double GetMass (const MassUnit &unit) const
 
virtual bool HasMassCleared () const
 
virtual SEScalarMassGetMassCleared ()
 
virtual double GetMassCleared (const MassUnit &unit) const
 
virtual bool HasMassDeposited () const
 
virtual SEScalarMassGetMassDeposited ()
 
virtual double GetMassDeposited (const MassUnit &unit) const
 
virtual bool HasMassExcreted () const
 
virtual SEScalarMassGetMassExcreted ()
 
virtual double GetMassExcreted (const MassUnit &unit) const
 
virtual bool HasMolarity () const
 
virtual SEScalarAmountPerVolumeGetMolarity ()
 
virtual double GetMolarity (const AmountPerVolumeUnit &unit) const
 
virtual bool HasPartialPressure () const
 
virtual SEScalarPressureGetPartialPressure ()
 
virtual double GetPartialPressure (const PressureUnit &unit) const
 
virtual bool HasSaturation () const
 
virtual SEScalar0To1GetSaturation ()
 
virtual double GetSaturation () const
 
virtual void SetHemoglobins (const SESubstance &Hb, const SESubstance &HbO2, const SESubstance &HbCO2, const SESubstance &HbO2CO2, const SESubstance &HbCO)
 
- Public Member Functions inherited from SESubstanceQuantity
 SESubstanceQuantity (SESubstance &sub)
 
virtual ~SESubstanceQuantity ()
 
virtual void Clear ()=0
 
virtual std::string GetCompartmentName ()=0
 
virtual SESubstanceGetSubstance ()
 
virtual const SESubstanceGetSubstance () const
 
virtual void SetToZero ()=0
 
virtual const SEScalarGetScalar (const std::string &name)=0
 
- Public Member Functions inherited from Loggable
 Loggable (Logger *logger=nullptr)
 
 Loggable (std::string const &logfile)
 
virtual ~Loggable ()
 
virtual LoggerGetLogger () 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
 
- Public Member Functions inherited from SESubstanceTransportAmount< ExtensiveScalar, IntensiveScalar >
virtual ~SESubstanceTransportAmount ()
 
virtual void Clear ()=0
 
virtual bool HasExtensive () const =0
 
virtual ExtensiveScalar & GetExtensive ()=0
 
virtual bool HasIntensive () const =0
 
virtual IntensiveScalar & GetIntensive ()=0
 

Protected Member Functions

 SELiquidSubstanceQuantity (SESubstance &sub, SELiquidCompartment &compartment)
 
virtual void AddChild (SELiquidSubstanceQuantity &subQ)
 
bool HasExtensive () const override
 
SEScalarMassGetExtensive () override
 
bool HasIntensive () const override
 
SEScalarMassPerVolumeGetIntensive () override
 

Protected Attributes

SEScalarMassPerVolumem_Concentration
 
SEScalarMassm_Mass
 
SEScalarMassm_MassCleared
 
SEScalarMassm_MassDeposited
 
SEScalarMassm_MassExcreted
 
SEScalarAmountPerVolumem_Molarity
 
SEScalarPressurem_PartialPressure
 
SEScalar0To1m_Saturation
 
SELiquidCompartmentm_Compartment
 
std::vector< SELiquidSubstanceQuantity * > m_Children
 
bool m_isO2
 
bool m_isCO
 
bool m_isCO2
 
const SESubstancem_Hb
 
const SESubstancem_HbO2
 
const SESubstancem_HbCO2
 
const SESubstancem_HbO2CO2
 
const SESubstancem_HbCO
 
- Protected Attributes inherited from SESubstanceQuantity
SESubstancem_Substance
 
- Protected Attributes inherited from Loggable
bool myLogger
 
Loggerm_Logger
 

Friends

class PBSubstanceQuantity
 
class SELiquidCompartment
 

Constructor & Destructor Documentation

◆ SELiquidSubstanceQuantity()

SELiquidSubstanceQuantity::SELiquidSubstanceQuantity ( SESubstance sub,
SELiquidCompartment compartment 
)
protected

◆ ~SELiquidSubstanceQuantity()

SELiquidSubstanceQuantity::~SELiquidSubstanceQuantity ( )
virtual

Member Function Documentation

◆ AddChild()

void SELiquidSubstanceQuantity::AddChild ( SELiquidSubstanceQuantity subQ)
protectedvirtual

◆ Balance()

void SELiquidSubstanceQuantity::Balance ( BalanceLiquidBy  e)
virtual

◆ Clear()

void SELiquidSubstanceQuantity::Clear ( )
overridevirtual

Implements SESubstanceQuantity.

◆ GetCompartmentName()

std::string SELiquidSubstanceQuantity::GetCompartmentName ( )
overridevirtual

Implements SESubstanceQuantity.

◆ GetConcentration() [1/2]

SEScalarMassPerVolume & SELiquidSubstanceQuantity::GetConcentration ( )
virtual

◆ GetConcentration() [2/2]

double SELiquidSubstanceQuantity::GetConcentration ( const MassPerVolumeUnit unit) const
virtual

◆ GetExtensive()

SEScalarMass & SELiquidSubstanceQuantity::GetExtensive ( )
inlineoverrideprotectedvirtual

◆ GetIntensive()

SEScalarMassPerVolume & SELiquidSubstanceQuantity::GetIntensive ( )
inlineoverrideprotectedvirtual

◆ GetMass() [1/2]

SEScalarMass & SELiquidSubstanceQuantity::GetMass ( )
virtual

◆ GetMass() [2/2]

double SELiquidSubstanceQuantity::GetMass ( const MassUnit unit) const
virtual

◆ GetMassCleared() [1/2]

SEScalarMass & SELiquidSubstanceQuantity::GetMassCleared ( )
virtual

◆ GetMassCleared() [2/2]

double SELiquidSubstanceQuantity::GetMassCleared ( const MassUnit unit) const
virtual

◆ GetMassDeposited() [1/2]

SEScalarMass & SELiquidSubstanceQuantity::GetMassDeposited ( )
virtual

◆ GetMassDeposited() [2/2]

double SELiquidSubstanceQuantity::GetMassDeposited ( const MassUnit unit) const
virtual

◆ GetMassExcreted() [1/2]

SEScalarMass & SELiquidSubstanceQuantity::GetMassExcreted ( )
virtual

◆ GetMassExcreted() [2/2]

double SELiquidSubstanceQuantity::GetMassExcreted ( const MassUnit unit) const
virtual

◆ GetMolarity() [1/2]

SEScalarAmountPerVolume & SELiquidSubstanceQuantity::GetMolarity ( )
virtual

◆ GetMolarity() [2/2]

double SELiquidSubstanceQuantity::GetMolarity ( const AmountPerVolumeUnit unit) const
virtual

◆ GetPartialPressure() [1/2]

SEScalarPressure & SELiquidSubstanceQuantity::GetPartialPressure ( )
virtual

◆ GetPartialPressure() [2/2]

double SELiquidSubstanceQuantity::GetPartialPressure ( const PressureUnit unit) const
virtual

◆ GetSaturation() [1/2]

SEScalar0To1 & SELiquidSubstanceQuantity::GetSaturation ( )
virtual

◆ GetSaturation() [2/2]

double SELiquidSubstanceQuantity::GetSaturation ( ) const
virtual

◆ GetScalar()

const SEScalar * SELiquidSubstanceQuantity::GetScalar ( const std::string &  name)
overridevirtual

Implements SESubstanceQuantity.

◆ HasConcentration()

bool SELiquidSubstanceQuantity::HasConcentration ( ) const
virtual

◆ HasExtensive()

bool SELiquidSubstanceQuantity::HasExtensive ( ) const
inlineoverrideprotectedvirtual

◆ HasIntensive()

bool SELiquidSubstanceQuantity::HasIntensive ( ) const
inlineoverrideprotectedvirtual

◆ HasMass()

bool SELiquidSubstanceQuantity::HasMass ( ) const
virtual

◆ HasMassCleared()

bool SELiquidSubstanceQuantity::HasMassCleared ( ) const
virtual

◆ HasMassDeposited()

bool SELiquidSubstanceQuantity::HasMassDeposited ( ) const
virtual

◆ HasMassExcreted()

bool SELiquidSubstanceQuantity::HasMassExcreted ( ) const
virtual

◆ HasMolarity()

bool SELiquidSubstanceQuantity::HasMolarity ( ) const
virtual

◆ HasPartialPressure()

bool SELiquidSubstanceQuantity::HasPartialPressure ( ) const
virtual

◆ HasSaturation()

bool SELiquidSubstanceQuantity::HasSaturation ( ) const
virtual

◆ SetHemoglobins()

void SELiquidSubstanceQuantity::SetHemoglobins ( const SESubstance Hb,
const SESubstance HbO2,
const SESubstance HbCO2,
const SESubstance HbO2CO2,
const SESubstance HbCO 
)
virtual

◆ SetToZero()

void SELiquidSubstanceQuantity::SetToZero ( )
overridevirtual

Implements SESubstanceQuantity.

Friends And Related Function Documentation

◆ PBSubstanceQuantity

friend class PBSubstanceQuantity
friend

◆ SELiquidCompartment

friend class SELiquidCompartment
friend

Member Data Documentation

◆ m_Children

std::vector<SELiquidSubstanceQuantity*> SELiquidSubstanceQuantity::m_Children
protected

◆ m_Compartment

SELiquidCompartment& SELiquidSubstanceQuantity::m_Compartment
protected

◆ m_Concentration

SEScalarMassPerVolume* SELiquidSubstanceQuantity::m_Concentration
protected

◆ m_Hb

const SESubstance* SELiquidSubstanceQuantity::m_Hb
protected

◆ m_HbCO

const SESubstance* SELiquidSubstanceQuantity::m_HbCO
protected

◆ m_HbCO2

const SESubstance* SELiquidSubstanceQuantity::m_HbCO2
protected

◆ m_HbO2

const SESubstance* SELiquidSubstanceQuantity::m_HbO2
protected

◆ m_HbO2CO2

const SESubstance* SELiquidSubstanceQuantity::m_HbO2CO2
protected

◆ m_isCO

bool SELiquidSubstanceQuantity::m_isCO
protected

◆ m_isCO2

bool SELiquidSubstanceQuantity::m_isCO2
protected

◆ m_isO2

bool SELiquidSubstanceQuantity::m_isO2
protected

◆ m_Mass

SEScalarMass* SELiquidSubstanceQuantity::m_Mass
protected

◆ m_MassCleared

SEScalarMass* SELiquidSubstanceQuantity::m_MassCleared
protected

◆ m_MassDeposited

SEScalarMass* SELiquidSubstanceQuantity::m_MassDeposited
protected

◆ m_MassExcreted

SEScalarMass* SELiquidSubstanceQuantity::m_MassExcreted
protected

◆ m_Molarity

SEScalarAmountPerVolume* SELiquidSubstanceQuantity::m_Molarity
protected

◆ m_PartialPressure

SEScalarPressure* SELiquidSubstanceQuantity::m_PartialPressure
protected

◆ m_Saturation

SEScalar0To1* SELiquidSubstanceQuantity::m_Saturation
protected

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.