Skip to content

Struct astrea::astro::detail::EventInner

template <typename T>

ClassList > astrea > astro > detail > EventInner

A template class for Event inner implementations.More...

  • #include <Event.hpp>

Inherits the following classes: astrea::astro::detail::EventInnerBase

Public Attributes

Type Name
const Time State Vehicle &vehicle const = /* multi line expression */
The value of the Event inner implementation, which is the user-definedEvent type.
const Time State & state
const Time & time

Public Functions

Type Name
EventInner () = default
Default constructor for EventInner .
EventInner (const EventInner &) = delete
Deleted copy assignment operator.
EventInner (EventInner &&) = delete
Deleted move assignment operator.
EventInner (const T & x)
Constructs a EventInner with a given value.
EventInner (T && x)
Constructs a EventInner with a given value.
virtual std::string get_name () override const
Gets the name of the Event .
virtual bool is_terminal () override const
Checks if the Event is a terminalEvent .
virtual Unitless measure_event (const Time & time, const State & state, const Vehicle & vehicle) override const
Detects if the Event is triggered by aVehicle .
EventInner & operator= (const EventInner &) = delete
Deleted copy assignment operator.
EventInner & operator= (EventInner &&) = delete
Deleted move assignment operator.
requires (HasTriggerEvent< U >) const
Implementation of the trigger_action function for an Event with a trigger.
requires (!HasTriggerEvent< U >) const
Implementation of the trigger_action function for an Event without a trigger. Does nothing.
virtual void trigger_action (const Time & time, State & state, Vehicle & vehicle) override const
Triggers the Event for aVehicle .

Public Functions inherited from astrea::astro::detail::EventInnerBase

See astrea::astro::detail::EventInnerBase

Type Name
virtual std::unique_ptr< EventInnerBase > clone () const = 0
Clones the Event inner implementation.
virtual std::string get_name () const = 0
Gets the name of the Event .
virtual const void * get_ptr () const = 0
Gets a pointer to the internal Event instance.
virtual void * get_ptr () = 0
Gets a pointer to the internal Event instance.
virtual bool is_terminal () const = 0
Checks if the Event is a terminalEvent .
virtual Unitless measure_event (const Time & time, const State & state, const Vehicle & vehicle) const = 0
Detects if the Event is triggered by aVehicle .
virtual void trigger_action (const Time & time, State & state, Vehicle & vehicle) const = 0
Triggers the Event for aVehicle .
virtual ~EventInnerBase ()
Destructor for EventInnerBase .

Detailed Description

Template parameters:

  • T The type of the Event implementation.

Public Attributes Documentation

variable const

The value of the Event inner implementation, which is the user-definedEvent type.

const Time State Vehicle &vehicle astrea::astro::detail::EventInner< T >::const;


variable state

const Time State & astrea::astro::detail::EventInner< T >::state;

variable time

const Time & astrea::astro::detail::EventInner< T >::time;

Public Functions Documentation

function EventInner [1/5]

Default constructor for EventInner .

astrea::astro::detail::EventInner::EventInner () = default


function EventInner [2/5]

Deleted copy assignment operator.

astrea::astro::detail::EventInner::EventInner (
    const  EventInner &
) = delete


function EventInner [3/5]

Deleted move assignment operator.

astrea::astro::detail::EventInner::EventInner (
    EventInner &&
) = delete


function EventInner [4/5]

Constructs a EventInner with a given value.

inline explicit astrea::astro::detail::EventInner::EventInner (
    const T & x
) 

Parameters:

  • x The value to initialize the Event inner implementation.

function EventInner [5/5]

Constructs a EventInner with a given value.

inline explicit astrea::astro::detail::EventInner::EventInner (
    T && x
) 

Parameters:

  • x The value to initialize the Event inner implementation.

function get_name

Gets the name of the Event .

inline virtual std::string astrea::astro::detail::EventInner::get_name () override const

Returns:

std::string The name of the Event.

Implements astrea::astro::detail::EventInnerBase::get_name


function is_terminal

Checks if the Event is a terminalEvent .

inline virtual bool astrea::astro::detail::EventInner::is_terminal () override const

Returns:

true If the Event is a terminal Event.

Returns:

false If the Event is not a terminal Event.

Implements astrea::astro::detail::EventInnerBase::is_terminal


function measure_event

Detects if the Event is triggered by aVehicle .

inline virtual Unitless astrea::astro::detail::EventInner::measure_event (
    const Time & time,
    const  State & state,
    const  Vehicle & vehicle
) override const

Parameters:

  • time The current time in the integration.
  • state The current state of the vehicle.
  • vehicle The Vehicle to check.

Returns:

true If the Event is triggered by the Vehicle.

Returns:

false If the Event is not triggered by the Vehicle.

Implements astrea::astro::detail::EventInnerBase::measure_event


function operator=

Deleted copy assignment operator.

EventInner & astrea::astro::detail::EventInner::operator= (
    const  EventInner &
) = delete


function operator=

Deleted move assignment operator.

EventInner & astrea::astro::detail::EventInner::operator= (
    EventInner &&
) = delete


function requires [1/2]

Implementation of the trigger_action function for an Event with a trigger.

template<typename U>
astrea::astro::detail::EventInner::requires (
    HasTriggerEvent< U >
) const

Template parameters:

  • U The type of the Event implementation.

Parameters:

  • value The Event implementation instance.
  • time The current time in the integration.
  • state The current state of the vehicle.
  • vehicle The Vehicle to trigger the Event for.

Returns:

Vehicle The Vehicle after the Event has been triggered.


function requires [2/2]

Implementation of the trigger_action function for an Event without a trigger. Does nothing.

template<typename U>
astrea::astro::detail::EventInner::requires (
    !HasTriggerEvent< U >
) const

Template parameters:

  • U The type of the Event implementation.

Parameters:

  • value The Event implementation instance.
  • time The current time in the integration.
  • state The current state of the vehicle.
  • vehicle The Vehicle to trigger the Event for.

Returns:

Vehicle The Vehicle after the Event has been triggered.


function trigger_action

Triggers the Event for aVehicle .

inline virtual void astrea::astro::detail::EventInner::trigger_action (
    const Time & time,
    State & state,
    Vehicle & vehicle
) override const

Parameters:

  • time The current time in the integration.
  • state The current state of the vehicle.
  • vehicle The Vehicle to trigger the Event for.

Returns:

Vehicle The Vehicle after the Event has been triggered.

Implements astrea::astro::detail::EventInnerBase::trigger_action



The documentation for this class was generated from the following file astrea/astro/astro/propagation/event_detection/Event.hpp