#include <SEAnesthesiaMachine.h>

Inheritance diagram for biogears::SEAnesthesiaMachine:

Public Member Functions

 SEAnesthesiaMachine (SESubstanceManager &substances)
 
 ~SEAnesthesiaMachine () override
 
const char * classname () const override
 
size_t hash_code () const override
 
void Clear () override
 
bool Load (const CDM::AnesthesiaMachineData &in)
 
CDM::AnesthesiaMachineData * Unload () const override
 
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 Logger * GetLogger () const
 

Static Public Member Functions

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

Protected Member Functions

void Unload (CDM::AnesthesiaMachineData &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 Attributes

friend SEAnesthesiaMachineConfiguration
 
- Protected Attributes inherited from biogears::SESystem
std::stringstream m_ss
 
- Protected Attributes inherited from biogears::Loggable
Logger * m_Logger
 

StateChange

- This method is called when ever there is a state change Specically a new file has been loaded, configuration action, or the system reset Engine specific methodology can then update their logic.

bool Load (const std::string &file)
 
const SEScalar * GetScalar (const char *name) override
 
const SEScalar * GetScalar (const std::string &name) override
 
const std::map< CDM::enumAnesthesiaMachineEvent::value, bool > & GetEventStates () const
 
void SetEvent (CDM::enumAnesthesiaMachineEvent::value state, bool active, const SEScalarTime &time)
 
bool IsEventActive (CDM::enumAnesthesiaMachineEvent::value state) const
 
double GetEventDuration (CDM::enumAnesthesiaMachineEvent::value type, const TimeUnit &unit) const
 
void UpdateEvents (const SEScalarTime &timeStep)
 
virtual void StateChange ()
 
void Merge (const SEAnesthesiaMachine &from)
 
void ProcessConfiguration (const SEAnesthesiaMachineConfiguration &config)
 

ForwardEvents

- Set a callback class to invoke when any event changes

  • Note that the handler callback can and will be called in the middle of a time step So system and compartment objects may not be completely up to date when called. Use the PhysiologyEngineInterface::SetEventHandler to ensure that all engine data is up to date at the time the callback is invoked
std::stringstream m_ss
 
SEEventHandler * m_EventHandler
 
std::map< CDM::enumAnesthesiaMachineEvent::value, bool > m_EventState
 
std::map< CDM::enumAnesthesiaMachineEvent::value, double > m_EventDuration_s
 
CDM::enumAnesthesiaMachineConnection::value m_Connection
 
SEScalarVolumePerTime * m_InletFlow
 
SEScalar * m_InspiratoryExpiratoryRatio
 
SEScalarFraction * m_OxygenFraction
 
CDM::enumAnesthesiaMachineOxygenSource::value m_OxygenSource
 
SEScalarPressure * m_PositiveEndExpiredPressure
 
CDM::enumAnesthesiaMachinePrimaryGas::value m_PrimaryGas
 
SEScalarFrequency * m_RespiratoryRate
 
SEScalarPressure * m_ReliefValvePressure
 
SEScalarPressure * m_VentilatorPressure
 
SEAnesthesiaMachineChamber * m_LeftChamber
 
SEAnesthesiaMachineChamber * m_RightChamber
 
SEAnesthesiaMachineOxygenBottle * m_OxygenBottleOne
 
SEAnesthesiaMachineOxygenBottle * m_OxygenBottleTwo
 
SESubstanceManager & m_Substances
 
void ForwardEvents (SEEventHandler *handler)
 
virtual CDM::enumAnesthesiaMachineConnection::value GetConnection () const
 
virtual void SetConnection (CDM::enumAnesthesiaMachineConnection::value c)
 
virtual bool HasConnection () const
 
virtual void InvalidateConnection ()
 
bool HasInletFlow () const
 
SEScalarVolumePerTime & GetInletFlow ()
 
double GetInletFlow (const VolumePerTimeUnit &unit) const
 
bool HasInspiratoryExpiratoryRatio () const
 
SEScalar & GetInspiratoryExpiratoryRatio ()
 
double GetInspiratoryExpiratoryRatio () const
 
bool HasOxygenFraction () const
 
SEScalarFraction & GetOxygenFraction ()
 
double GetOxygenFraction () const
 
CDM::enumAnesthesiaMachineOxygenSource::value GetOxygenSource () const
 
void SetOxygenSource (CDM::enumAnesthesiaMachineOxygenSource::value name)
 
bool HasOxygenSource () const
 
void InvalidateOxygenSource ()
 
bool HasPositiveEndExpiredPressure () const
 
SEScalarPressure & GetPositiveEndExpiredPressure ()
 
double GetPositiveEndExpiredPressure (const PressureUnit &unit) const
 
CDM::enumAnesthesiaMachinePrimaryGas::value GetPrimaryGas () const
 
void SetPrimaryGas (CDM::enumAnesthesiaMachinePrimaryGas::value name)
 
bool HasPrimaryGas () const
 
void InvalidatePrimaryGas ()
 
bool HasRespiratoryRate () const
 
SEScalarFrequency & GetRespiratoryRate ()
 
double GetRespiratoryRate (const FrequencyUnit &unit) const
 
bool HasReliefValvePressure () const
 
SEScalarPressure & GetReliefValvePressure ()
 
double GetReliefValvePressure (const PressureUnit &unit) const
 
bool HasVentilatorPressure () const
 
SEScalarPressure & GetVentilatorPressure ()
 
double GetVentilatorPressure (const PressureUnit &unit) const
 
bool HasLeftChamber () const
 
SEAnesthesiaMachineChamber & GetLeftChamber ()
 
const SEAnesthesiaMachineChamber * GetLeftChamber () const
 
void RemoveLeftChamber ()
 
bool HasRightChamber () const
 
SEAnesthesiaMachineChamber & GetRightChamber ()
 
const SEAnesthesiaMachineChamber * GetRightChamber () const
 
void RemoveRightChamber ()
 
bool HasOxygenBottleOne () const
 
SEAnesthesiaMachineOxygenBottle & GetOxygenBottleOne ()
 
const SEAnesthesiaMachineOxygenBottle * GetOxygenBottleOne () const
 
void RemoveOxygenBottleOne ()
 
bool HasOxygenBottleTwo () const
 
SEAnesthesiaMachineOxygenBottle & GetOxygenBottleTwo ()
 
const SEAnesthesiaMachineOxygenBottle * GetOxygenBottleTwo () const
 
void RemoveOxygenBottleTwo ()
 

Additional Inherited Members

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

Constructor & Destructor Documentation

biogears::SEAnesthesiaMachine::SEAnesthesiaMachine ( SESubstanceManager &  substances)
biogears::SEAnesthesiaMachine::~SEAnesthesiaMachine ( )
override

Member Function Documentation

const char* biogears::SEAnesthesiaMachine::classname ( ) const
inlineoverridevirtual

Implements biogears::SESystem.

Reimplemented in biogears::AnesthesiaMachine.

void biogears::SEAnesthesiaMachine::Clear ( )
overridevirtual

Reimplemented from biogears::SESystem.

Reimplemented in biogears::AnesthesiaMachine.

void biogears::SEAnesthesiaMachine::ForwardEvents ( SEEventHandler *  handler)
CDM::enumAnesthesiaMachineConnection::value biogears::SEAnesthesiaMachine::GetConnection ( ) const
virtual
double biogears::SEAnesthesiaMachine::GetEventDuration ( CDM::enumAnesthesiaMachineEvent::value  type,
const TimeUnit &  unit 
) const
const std::map<CDM::enumAnesthesiaMachineEvent::value, bool>& biogears::SEAnesthesiaMachine::GetEventStates ( ) const
inline
SEScalarVolumePerTime & biogears::SEAnesthesiaMachine::GetInletFlow ( )
double biogears::SEAnesthesiaMachine::GetInletFlow ( const VolumePerTimeUnit &  unit) const
SEScalar & biogears::SEAnesthesiaMachine::GetInspiratoryExpiratoryRatio ( )
double biogears::SEAnesthesiaMachine::GetInspiratoryExpiratoryRatio ( ) const
SEAnesthesiaMachineChamber & biogears::SEAnesthesiaMachine::GetLeftChamber ( )
const SEAnesthesiaMachineChamber * biogears::SEAnesthesiaMachine::GetLeftChamber ( ) const
SEAnesthesiaMachineOxygenBottle & biogears::SEAnesthesiaMachine::GetOxygenBottleOne ( )
const SEAnesthesiaMachineOxygenBottle * biogears::SEAnesthesiaMachine::GetOxygenBottleOne ( ) const
SEAnesthesiaMachineOxygenBottle & biogears::SEAnesthesiaMachine::GetOxygenBottleTwo ( )
const SEAnesthesiaMachineOxygenBottle * biogears::SEAnesthesiaMachine::GetOxygenBottleTwo ( ) const
SEScalarFraction & biogears::SEAnesthesiaMachine::GetOxygenFraction ( )
double biogears::SEAnesthesiaMachine::GetOxygenFraction ( ) const
CDM::enumAnesthesiaMachineOxygenSource::value biogears::SEAnesthesiaMachine::GetOxygenSource ( ) const
Tree< const char * > biogears::SEAnesthesiaMachine::GetPhysiologyRequestGraph ( ) const
overridevirtual

Implements biogears::SESystem.

SEScalarPressure & biogears::SEAnesthesiaMachine::GetPositiveEndExpiredPressure ( )
double biogears::SEAnesthesiaMachine::GetPositiveEndExpiredPressure ( const PressureUnit &  unit) const
CDM::enumAnesthesiaMachinePrimaryGas::value biogears::SEAnesthesiaMachine::GetPrimaryGas ( ) const
SEScalarPressure & biogears::SEAnesthesiaMachine::GetReliefValvePressure ( )
double biogears::SEAnesthesiaMachine::GetReliefValvePressure ( const PressureUnit &  unit) const
SEScalarFrequency & biogears::SEAnesthesiaMachine::GetRespiratoryRate ( )
double biogears::SEAnesthesiaMachine::GetRespiratoryRate ( const FrequencyUnit &  unit) const
SEAnesthesiaMachineChamber & biogears::SEAnesthesiaMachine::GetRightChamber ( )
const SEAnesthesiaMachineChamber * biogears::SEAnesthesiaMachine::GetRightChamber ( ) const
const SEScalar * biogears::SEAnesthesiaMachine::GetScalar ( const char *  name)
overridevirtual

Implements biogears::SESystem.

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

Implements biogears::SESystem.

SEScalarPressure & biogears::SEAnesthesiaMachine::GetVentilatorPressure ( )
double biogears::SEAnesthesiaMachine::GetVentilatorPressure ( const PressureUnit &  unit) const
bool biogears::SEAnesthesiaMachine::HasConnection ( ) const
virtual
size_t biogears::SEAnesthesiaMachine::hash_code ( ) const
inlineoverridevirtual

Implements biogears::SESystem.

Reimplemented in biogears::AnesthesiaMachine.

bool biogears::SEAnesthesiaMachine::HasInletFlow ( ) const
bool biogears::SEAnesthesiaMachine::HasInspiratoryExpiratoryRatio ( ) const
bool biogears::SEAnesthesiaMachine::HasLeftChamber ( ) const
bool biogears::SEAnesthesiaMachine::HasOxygenBottleOne ( ) const
bool biogears::SEAnesthesiaMachine::HasOxygenBottleTwo ( ) const
bool biogears::SEAnesthesiaMachine::HasOxygenFraction ( ) const
bool biogears::SEAnesthesiaMachine::HasOxygenSource ( ) const
bool biogears::SEAnesthesiaMachine::HasPositiveEndExpiredPressure ( ) const
bool biogears::SEAnesthesiaMachine::HasPrimaryGas ( ) const
bool biogears::SEAnesthesiaMachine::HasReliefValvePressure ( ) const
bool biogears::SEAnesthesiaMachine::HasRespiratoryRate ( ) const
bool biogears::SEAnesthesiaMachine::HasRightChamber ( ) const
bool biogears::SEAnesthesiaMachine::HasVentilatorPressure ( ) const
void biogears::SEAnesthesiaMachine::InvalidateConnection ( )
virtual

Reimplemented in biogears::AnesthesiaMachine.

void biogears::SEAnesthesiaMachine::InvalidateOxygenSource ( )
void biogears::SEAnesthesiaMachine::InvalidatePrimaryGas ( )
bool biogears::SEAnesthesiaMachine::IsEventActive ( CDM::enumAnesthesiaMachineEvent::value  state) const
bool biogears::SEAnesthesiaMachine::Load ( const CDM::AnesthesiaMachineData &  in)
bool biogears::SEAnesthesiaMachine::Load ( const std::string &  file)
void biogears::SEAnesthesiaMachine::Merge ( const SEAnesthesiaMachine &  from)
protected
void biogears::SEAnesthesiaMachine::ProcessConfiguration ( const SEAnesthesiaMachineConfiguration &  config)
protected
void biogears::SEAnesthesiaMachine::RemoveLeftChamber ( )
void biogears::SEAnesthesiaMachine::RemoveOxygenBottleOne ( )
void biogears::SEAnesthesiaMachine::RemoveOxygenBottleTwo ( )
void biogears::SEAnesthesiaMachine::RemoveRightChamber ( )
void biogears::SEAnesthesiaMachine::SetConnection ( CDM::enumAnesthesiaMachineConnection::value  c)
virtual

Reimplemented in biogears::AnesthesiaMachine.

void biogears::SEAnesthesiaMachine::SetEvent ( CDM::enumAnesthesiaMachineEvent::value  state,
bool  active,
const SEScalarTime &  time 
)
void biogears::SEAnesthesiaMachine::SetOxygenSource ( CDM::enumAnesthesiaMachineOxygenSource::value  name)
void biogears::SEAnesthesiaMachine::SetPrimaryGas ( CDM::enumAnesthesiaMachinePrimaryGas::value  name)
virtual void biogears::SEAnesthesiaMachine::StateChange ( )
inlineprotectedvirtual

Reimplemented in biogears::AnesthesiaMachine.

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

Implements biogears::SESystem.

Reimplemented in biogears::AnesthesiaMachine.

void biogears::SEAnesthesiaMachine::Unload ( CDM::AnesthesiaMachineData &  data) const
protected
void biogears::SEAnesthesiaMachine::UpdateEvents ( const SEScalarTime &  timeStep)

Member Data Documentation

CDM::enumAnesthesiaMachineConnection::value biogears::SEAnesthesiaMachine::m_Connection
protected
std::map<CDM::enumAnesthesiaMachineEvent::value, double> biogears::SEAnesthesiaMachine::m_EventDuration_s
protected
SEEventHandler* biogears::SEAnesthesiaMachine::m_EventHandler
protected
std::map<CDM::enumAnesthesiaMachineEvent::value, bool> biogears::SEAnesthesiaMachine::m_EventState
protected
SEScalarVolumePerTime* biogears::SEAnesthesiaMachine::m_InletFlow
protected
SEScalar* biogears::SEAnesthesiaMachine::m_InspiratoryExpiratoryRatio
protected
SEAnesthesiaMachineChamber* biogears::SEAnesthesiaMachine::m_LeftChamber
protected
SEAnesthesiaMachineOxygenBottle* biogears::SEAnesthesiaMachine::m_OxygenBottleOne
protected
SEAnesthesiaMachineOxygenBottle* biogears::SEAnesthesiaMachine::m_OxygenBottleTwo
protected
SEScalarFraction* biogears::SEAnesthesiaMachine::m_OxygenFraction
protected
CDM::enumAnesthesiaMachineOxygenSource::value biogears::SEAnesthesiaMachine::m_OxygenSource
protected
SEScalarPressure* biogears::SEAnesthesiaMachine::m_PositiveEndExpiredPressure
protected
CDM::enumAnesthesiaMachinePrimaryGas::value biogears::SEAnesthesiaMachine::m_PrimaryGas
protected
SEScalarPressure* biogears::SEAnesthesiaMachine::m_ReliefValvePressure
protected
SEScalarFrequency* biogears::SEAnesthesiaMachine::m_RespiratoryRate
protected
SEAnesthesiaMachineChamber* biogears::SEAnesthesiaMachine::m_RightChamber
protected
std::stringstream biogears::SEAnesthesiaMachine::m_ss
protected
SESubstanceManager& biogears::SEAnesthesiaMachine::m_Substances
protected
SEScalarPressure* biogears::SEAnesthesiaMachine::m_VentilatorPressure
protected
friend biogears::SEAnesthesiaMachine::SEAnesthesiaMachineConfiguration
protected