FireSTARR
Loading...
Searching...
No Matches
fs::sim::Event Class Reference

A specific Event scheduled in a specific Scenario. More...

#include <Event.h>

Collaboration diagram for fs::sim::Event:

Public Types

enum  Type { SAVE , END_SIMULATION , NEW_FIRE , FIRE_SPREAD }
 Type of Event.
 

Public Member Functions

 Event (Event &&rhs) noexcept=default
 Move constructor.
 
 Event (const Event &rhs)=delete
 Copy constructor.
 
Eventoperator= (Event &&rhs) noexcept=default
 Move assignment.
 
Eventoperator= (const Event &rhs)=delete
 Copy assignment.
 
constexpr DurationSize time () const
 Time of Event (decimal days)
 
constexpr Type type () const
 Type of Event.
 
constexpr DurationSize timeAtLocation () const
 Duration that Event Cell has been burning (decimal days)
 
constexpr IntensitySize intensity () const
 Burn Intensity (kW/m)
 
constexpr wx::Direction raz () const
 Head fire spread direction.
 
constexpr ROSSize ros () const
 Head fire rate of spread (m/min)
 
constexpr const Cellcell () const
 Cell Event takes place in.
 
constexpr CellIndex source () const
 CellIndex for relative Cell that spread into from.
 

Static Public Member Functions

static Event makeEvent (const DurationSize time, const Cell &cell, const Type type)
 
static Event makeEnd (const DurationSize time)
 Make simulation end event.
 
static Event makeNewFire (const DurationSize time, const Cell &cell)
 Make new fire event.
 
static Event makeSave (const DurationSize time)
 Make simulation save event.
 
static Event makeFireSpread (const DurationSize time)
 Make fire spread event.
 
static Event makeFireSpread (const DurationSize time, const IntensitySize intensity, const ROSSize ros, const Direction raz)
 Make fire spread event.
 
static Event makeFireSpread (const DurationSize time, const IntensitySize intensity, const ROSSize ros, const Direction raz, const Cell &cell)
 Make fire spread event.
 
static Event makeFireSpread (const DurationSize time, const IntensitySize intensity, const ROSSize ros, const Direction raz, const Cell &cell, const CellIndex source)
 Make fire spread event.
 

Static Public Attributes

static constexpr Cell NoLocation {}
 Cell representing no location.
 

Private Member Functions

constexpr Event (const DurationSize time, const Cell &cell, const CellIndex source, const Type type, const IntensitySize intensity, const ROSSize ros, const Direction raz, const DurationSize time_at_location)
 Constructor.
 

Private Attributes

DurationSize time_
 Time to schedule for.
 
DurationSize time_at_location_
 Duration that Event Cell has been burning (decimal days)
 
Cell cell_
 Cell to spread in.
 
Type type_
 Type of Event.
 
IntensitySize intensity_
 
ROSSize ros_
 
Direction raz_
 
CellIndex source_
 Spread information at time and place of event.
 

Detailed Description

A specific Event scheduled in a specific Scenario.

Constructor & Destructor Documentation

◆ Event() [1/3]

fs::sim::Event::Event ( Event && rhs)
defaultnoexcept

Move constructor.

Parameters
rhsEvent to move from

◆ Event() [2/3]

fs::sim::Event::Event ( const Event & rhs)
delete

Copy constructor.

Parameters
rhsEvent to copy from

◆ Event() [3/3]

fs::sim::Event::Event ( const DurationSize time,
const Cell & cell,
const CellIndex source,
const Type type,
const IntensitySize intensity,
const ROSSize ros,
const Direction raz,
const DurationSize time_at_location )
inlineconstexprprivate

Constructor.

Parameters
timeTime to schedule for
cellCellIndex for relative Cell that spread into from
sourceSource that Event is coming from
typeType of Event
intensityIntensity to spread with (kW/m)
time_at_locationDuration that Event Cell has been burning (decimal days)

Member Function Documentation

◆ cell()

const Cell & fs::sim::Event::cell ( ) const
inlinenodiscardconstexpr

Cell Event takes place in.

Returns
Cell Event takes place in
Here is the caller graph for this function:

◆ intensity()

IntensitySize fs::sim::Event::intensity ( ) const
inlinenodiscardconstexpr

Burn Intensity (kW/m)

Returns
Burn Intensity (kW/m)
Here is the caller graph for this function:

◆ makeEnd()

static Event fs::sim::Event::makeEnd ( const DurationSize time)
inlinestaticnodiscard

Make simulation end event.

Parameters
timeTime to schedule for
Returns
Event created
Here is the caller graph for this function:

◆ makeFireSpread() [1/4]

static Event fs::sim::Event::makeFireSpread ( const DurationSize time)
inlinestaticnodiscard

Make fire spread event.

Parameters
timeTime to schedule for
Returns
Event created
Here is the caller graph for this function:

◆ makeFireSpread() [2/4]

static Event fs::sim::Event::makeFireSpread ( const DurationSize time,
const IntensitySize intensity,
const ROSSize ros,
const Direction raz )
inlinestaticnodiscard

Make fire spread event.

Parameters
timeTime to schedule for
intensityIntensity to spread with (kW/m)
Returns
Event created
Here is the call graph for this function:

◆ makeFireSpread() [3/4]

static Event fs::sim::Event::makeFireSpread ( const DurationSize time,
const IntensitySize intensity,
const ROSSize ros,
const Direction raz,
const Cell & cell )
inlinestaticnodiscard

Make fire spread event.

Parameters
timeTime to schedule for
intensityIntensity to spread with (kW/m)
cellCell to spread in
Returns
Event created
Here is the call graph for this function:

◆ makeFireSpread() [4/4]

static Event fs::sim::Event::makeFireSpread ( const DurationSize time,
const IntensitySize intensity,
const ROSSize ros,
const Direction raz,
const Cell & cell,
const CellIndex source )
inlinestaticnodiscard

Make fire spread event.

Parameters
timeTime to schedule for
intensityIntensity to spread with (kW/m)
cellCell to spread in
Returns
Event created
Here is the call graph for this function:

◆ makeNewFire()

static Event fs::sim::Event::makeNewFire ( const DurationSize time,
const Cell & cell )
inlinestaticnodiscard

Make new fire event.

Parameters
timeTime to schedule for
cellCell to start new fire in
Returns
Event created
Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeSave()

static Event fs::sim::Event::makeSave ( const DurationSize time)
inlinestaticnodiscard

Make simulation save event.

Parameters
timeTime to schedule for
Returns
Event created
Here is the caller graph for this function:

◆ operator=() [1/2]

Event & fs::sim::Event::operator= ( const Event & rhs)
delete

Copy assignment.

Parameters
rhsEvent to copy from
Returns
This, after assignment

◆ operator=() [2/2]

Event & fs::sim::Event::operator= ( Event && rhs)
defaultnoexcept

Move assignment.

Parameters
rhsEvent to move from
Returns
This, after assignment

◆ raz()

wx::Direction fs::sim::Event::raz ( ) const
inlinenodiscardconstexpr

Head fire spread direction.

Returns
Head fire spread direction
Here is the caller graph for this function:

◆ ros()

ROSSize fs::sim::Event::ros ( ) const
inlinenodiscardconstexpr

Head fire rate of spread (m/min)

Returns
Head fire rate of spread (m/min)
Here is the caller graph for this function:

◆ source()

CellIndex fs::sim::Event::source ( ) const
inlinenodiscardconstexpr

CellIndex for relative Cell that spread into from.

Returns
CellIndex for relative Cell that spread into from
Here is the caller graph for this function:

◆ time()

DurationSize fs::sim::Event::time ( ) const
inlinenodiscardconstexpr

Time of Event (decimal days)

Returns
Time of Event (decimal days)
Here is the caller graph for this function:

◆ timeAtLocation()

DurationSize fs::sim::Event::timeAtLocation ( ) const
inlinenodiscardconstexpr

Duration that Event Cell has been burning (decimal days)

Returns
Duration that Event Cell has been burning (decimal days)
Here is the caller graph for this function:

◆ type()

Type fs::sim::Event::type ( ) const
inlinenodiscardconstexpr

Type of Event.

Returns
Type of Event
Here is the caller graph for this function:

Member Data Documentation

◆ source_

CellIndex fs::sim::Event::source_
private

Spread information at time and place of event.

CellIndex for relative Cell that spread into from


The documentation for this class was generated from the following file: