:py:mod:`ethos_penalps.process_state_switch`
============================================

.. py:module:: ethos_penalps.process_state_switch


Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   ethos_penalps.process_state_switch.ProcessStateSwitch
   ethos_penalps.process_state_switch.ProcessStateSwitchDelay
   ethos_penalps.process_state_switch.ProcessStateSwitchAtOutputStreamProvided
   ethos_penalps.process_state_switch.ProcessStateSwitchAtInputStreamProvided
   ethos_penalps.process_state_switch.ProcessStateSwitchAfterInputAndOutputStream
   ethos_penalps.process_state_switch.ProcessStateSwitchAtNextDiscreteEvent




Attributes
~~~~~~~~~~

.. autoapisummary::

   ethos_penalps.process_state_switch.logger


.. py:data:: logger

   

.. py:class:: ProcessStateSwitch


   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: state_connector
      :type: ethos_penalps.data_classes.StateConnector

      

   .. py:attribute:: process_step_data
      :type: ethos_penalps.process_step_data.ProcessStepData

      

   .. py:method:: calculate_next_event_time_backward() -> datetime.datetime
      :abstractmethod:



.. py:class:: ProcessStateSwitchDelay(process_step_data: ethos_penalps.process_step_data.ProcessStepData, state_connector: ethos_penalps.data_classes.StateConnector, delay: datetime.timedelta)


   Bases: :py:obj:`ProcessStateSwitch`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:method:: __str__()

      Return str(self).


   .. py:method:: calculate_next_event_time_backward() -> datetime.datetime

      This method calculates the time until the next storage event occurs
      for each storage of the process step



.. py:class:: ProcessStateSwitchAtOutputStreamProvided(process_step_data: ethos_penalps.process_step_data.ProcessStepData, state_connector: ethos_penalps.data_classes.StateConnector)


   Bases: :py:obj:`ProcessStateSwitch`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:method:: __str__()

      Return str(self).


   .. py:method:: calculate_next_event_time_backward() -> datetime.datetime

      This method calculates the time until the next storage event occurs
      for each storage of the process step



.. py:class:: ProcessStateSwitchAtInputStreamProvided(process_step_data: ethos_penalps.process_step_data.ProcessStepData, state_connector: ethos_penalps.data_classes.StateConnector)


   Bases: :py:obj:`ProcessStateSwitch`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:method:: __str__()

      Return str(self).


   .. py:method:: calculate_next_event_time_backward() -> datetime.datetime

      This method calculates the time until the next storage event occurs
      for each storage of the process step



.. py:class:: ProcessStateSwitchAfterInputAndOutputStream(process_step_data: ethos_penalps.process_step_data.ProcessStepData, state_connector: ethos_penalps.data_classes.StateConnector)


   Bases: :py:obj:`ProcessStateSwitch`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:method:: __str__()

      Return str(self).


   .. py:method:: calculate_next_event_time_backward() -> datetime.datetime

      This method calculates the time until the next storage event occurs
      for each storage of the process step



.. py:class:: ProcessStateSwitchAtNextDiscreteEvent(process_step_data: ethos_penalps.process_step_data.ProcessStepData, state_connector: ethos_penalps.data_classes.StateConnector)


   Bases: :py:obj:`ProcessStateSwitch`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:method:: __str__()

      Return str(self).


   .. py:method:: calculate_next_event_time_backward() -> datetime.datetime

      This method calculates the time until the next storage event occurs
      for each storage of the process step



