#include <Inhaler.h>

Inheritance diagram for biogears::Inhaler:

Public Member Functions

virtual ~Inhaler () override
 
const char * classname () const override
 
size_t hash_code () const override
 
void Clear () override
 
void Initialize () override
 Initializes system properties to valid homeostatic values. More...
 
bool Load (const CDM::BioGearsInhalerData &in)
 
CDM::BioGearsInhalerDataUnload () const override
 
void PreProcess () override
 Inhaler Action Preprocessor. More...
 
void Process () override
 Inhaler system process function. More...
 
void PostProcess () override
 Inhaler system postprocess function. More...
 
- Public Member Functions inherited from biogears::SEInhaler
 SEInhaler (SESubstanceManager &substances)
 
 ~SEInhaler () override
 
bool Load (const std::string &file)
 
CDM::enumOnOff::value GetState () const
 
void SetState (CDM::enumOnOff::value name)
 
bool HasState () const
 
void InvalidateState ()
 
bool HasMeteredDose () const
 
SEScalarMassGetMeteredDose ()
 
double GetMeteredDose (const MassUnit &unit) const
 
bool HasNozzleLoss () const
 
SEScalarFractionGetNozzleLoss ()
 
double GetNozzleLoss () const
 
bool HasSpacerVolume () const
 
SEScalarVolumeGetSpacerVolume ()
 
double GetSpacerVolume (const VolumeUnit &unit) const
 
bool HasSubstance () const
 
void SetSubstance (const SESubstance *sub)
 
SESubstanceGetSubstance () const
 
const SEScalarGetScalar (const char *name) override
 
const SEScalarGetScalar (const std::string &name) override
 
bool Load (const CDM::InhalerData &in)
 
Tree< const char * > GetPhysiologyRequestGraph () const override
 
- Public Member Functions inherited from biogears::SESystem
 SESystem (Logger *logger)
 
virtual ~SESystem ()
 
bool Load (const CDM::SystemData &in)
 
- Public Member Functions inherited from biogears::Loggable
 Loggable ()
 
 Loggable (Logger *log)
 
virtual ~Loggable ()
 
virtual LoggerGetLogger () const
 
- Public Member Functions inherited from biogears::BioGearsSystem
virtual void AtSteadyState ()
 Notify systems that steady state has been achieved. More...
 

Static Public Member Functions

static size_t TypeHash ()
 
static constexpr char const *const TypeTag ()
 
- Static Public Member Functions inherited from biogears::SEInhaler
static size_t TypeHash ()
 
static constexpr char const *const TypeTag ()
 
- Static Public Member Functions inherited from biogears::SESystem
static const SEScalarGetScalar (const char *name, std::vector< SESystem * > *systems)
 
static const SEScalarGetScalar (const std::string &name, std::vector< SESystem * > *systems)
 

Protected Member Functions

 Inhaler (BioGears &bg)
 
void Unload (CDM::BioGearsInhalerData &data) const
 
void SetUp () override
 
void StateChange () override
 
void Administer ()
 Administer Substance Using Inhaler. More...
 
- Protected Member Functions inherited from biogears::SEInhaler
void Merge (const SEInhaler &from)
 
void ProcessConfiguration (const SEInhalerConfiguration &config)
 
void Unload (CDM::InhalerData &data) const
 
- Protected Member Functions inherited from biogears::SESystem
void Unload (CDM::SystemData &data) const
 
- Protected Member Functions inherited from biogears::Loggable
virtual void Debug (const char *msg, const char *origin="") const
 
virtual void Debug (const std::string &msg, const std::string &origin=empty) const
 
virtual void Debug (std::ostream &msg, const std::string &origin=empty) const
 
virtual void Info (const char *msg, const char *origin="") const
 
virtual void Info (const std::string &msg, const std::string &origin=empty) const
 
virtual void Info (std::ostream &msg, const std::string &origin=empty) const
 
virtual void Warning (const char *msg, const char *origin="") const
 
virtual void Warning (const std::string &msg, const std::string &origin=empty) const
 
virtual void Warning (std::ostream &msg, const std::string &origin=empty) const
 
virtual void Error (const char *msg, const char *origin="") const
 
virtual void Error (const std::string msg, const std::string origin=empty) const
 
virtual void Error (std::ostream &msg, const std::string &origin=empty) const
 
virtual void Fatal (const char *msg, const char *origin="") const
 
virtual void Fatal (const std::string &msg, const std::string &origin=empty) const
 
virtual void Fatal (std::ostream &msg, const std::string &origin=empty) const
 
- Protected Member Functions inherited from biogears::BioGearsSystem
virtual void LoadState ()
 

Static Protected Member Functions

static auto make_unique (BioGears &bg) -> std::unique_ptr< Inhaler >
 

Protected Attributes

BioGearsm_data
 
double m_dt_s
 
SEGasCompartmentm_Mouthpiece
 
SELiquidCompartmentm_AerosolMouthpiece
 
SEGasCompartmentm_AmbientEnv
 
SELiquidSubstanceQuantitym_InhalerDrug
 
- Protected Attributes inherited from biogears::SEInhaler
std::stringstream m_ss
 
CDM::enumOnOff::value m_State
 
SEScalarMassm_MeteredDose
 
SEScalarFractionm_NozzleLoss
 
SEScalarVolumem_SpacerVolume
 
const SESubstancem_Substance
 
SESubstanceManagerm_Substances
 
- Protected Attributes inherited from biogears::SESystem
std::stringstream m_ss
 
- Protected Attributes inherited from biogears::Loggable
Loggerm_Logger
 

Friends

class BioGears
 
class BioGearsEngineTest
 

Additional Inherited Members

- Static Public Attributes inherited from biogears::Loggable
static const std::string empty
 
static const char * empty_cStr
 

Constructor & Destructor Documentation

biogears::Inhaler::Inhaler ( BioGears bg)
protected
biogears::Inhaler::~Inhaler ( )
overridevirtual

Member Function Documentation

void biogears::Inhaler::Administer ( )
protected

Administer Substance Using Inhaler.

Parameters
None
Returns
void

This method initializes substance values in the inhaler when actuated. It is called once per actuation.

Error:
: Already processing a Substance Inhalation, ignoring this command.
Error:
Fatal: Inhaled substance does not have a density value.
const char* biogears::Inhaler::classname ( ) const
inlineoverridevirtual

Reimplemented from biogears::SEInhaler.

void biogears::Inhaler::Clear ( )
overridevirtual

Reimplemented from biogears::SEInhaler.

size_t biogears::Inhaler::hash_code ( ) const
inlineoverridevirtual

Reimplemented from biogears::SEInhaler.

void biogears::Inhaler::Initialize ( )
overridevirtual

Initializes system properties to valid homeostatic values.

Reimplemented from biogears::BioGearsSystem.

bool biogears::Inhaler::Load ( const CDM::BioGearsInhalerData in)
auto biogears::Inhaler::make_unique ( BioGears bg) -> std::unique_ptr<Inhaler>
staticprotected
void biogears::Inhaler::PostProcess ( )
overridevirtual

Inhaler system postprocess function.

Currently not used.

Implements biogears::BioGearsSystem.

void biogears::Inhaler::PreProcess ( )
overridevirtual

Inhaler Action Preprocessor.

Parameters
None
Returns
void

This method:

  • Determines when to activate the inhaler given an inhaler command.
  • Starts and stops the inhaler.
  • Models deposition of inhaled substance in the orthopharynx

Implements biogears::BioGearsSystem.

void biogears::Inhaler::Process ( )
overridevirtual

Inhaler system process function.

Currently not used.

Implements biogears::BioGearsSystem.

void biogears::Inhaler::SetUp ( )
overrideprotectedvirtual
void biogears::Inhaler::StateChange ( )
overrideprotectedvirtual

Reimplemented from biogears::SEInhaler.

static size_t biogears::Inhaler::TypeHash ( )
inlinestatic
static constexpr char const* const biogears::Inhaler::TypeTag ( )
inlinestatic
CDM::BioGearsInhalerData * biogears::Inhaler::Unload ( ) const
overridevirtual

Reimplemented from biogears::SEInhaler.

void biogears::Inhaler::Unload ( CDM::BioGearsInhalerData data) const
protected

Friends And Related Function Documentation

friend class BioGears
friend
friend class BioGearsEngineTest
friend

Member Data Documentation

SELiquidCompartment* biogears::Inhaler::m_AerosolMouthpiece
protected
SEGasCompartment* biogears::Inhaler::m_AmbientEnv
protected
BioGears& biogears::Inhaler::m_data
protected
double biogears::Inhaler::m_dt_s
protected
SELiquidSubstanceQuantity* biogears::Inhaler::m_InhalerDrug
protected
SEGasCompartment* biogears::Inhaler::m_Mouthpiece
protected