ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
larcfm::AlertLevels Class Reference

#include <AlertLevels.h>

Inheritance diagram for larcfm::AlertLevels:
larcfm::ParameterAcceptor larcfm::ParameterProvider

Public Types

typedef std::vector< AlertThresholds >::size_type nat
 

Public Member Functions

 AlertLevels (const AlertLevels &alertor)
 
void clear ()
 
int mostSevereAlertLevel () const
 
int firstGuidanceLevel () const
 
int lastGuidanceLevel () const
 
int conflictAlertLevel () const
 
Detection3DdetectorRef (int alert_level) const
 
Detection3DconflictDetectorRef () const
 
void setConflictAlertLevel (int alert_level)
 
void setLevel (int level, const AlertThresholds &thresholds)
 
int addLevel (const AlertThresholds &thresholds)
 
AlertThresholds const & getLevel (int level) const
 
void copy (const AlertLevels &alertor)
 
ParameterData getParameters () const
 
void updateParameterData (ParameterData &p) const
 
void setParameters (const ParameterData &p)
 
std::string toString () const
 
std::string toPVS (int prec) const
 

Static Public Member Functions

static AlertLevels WC_SC_228_Thresholds ()
 
static AlertLevels SingleBands_WC_SC_228_Thresholds ()
 
static AlertLevels Buffered_WC_SC_228_Thresholds ()
 
static AlertLevels SingleBands (const Detection3D *detector, double alerting_time, double lookahead_time)
 

Public Attributes

std::vector< AlertThresholdsalertor_
 
int conflict_level_
 

Detailed Description

It is assumed that for all alert level i >= 1: detection(i+1) => detection(i) and that there is at least one guidance level whose region is different from NONE.

Member Function Documentation

◆ addLevel()

int larcfm::AlertLevels::addLevel ( const AlertThresholds thresholds)

Add an alert level and returns its numerical type, which is a positive number.

◆ Buffered_WC_SC_228_Thresholds()

static AlertLevels larcfm::AlertLevels::Buffered_WC_SC_228_Thresholds ( )
static
Returns
alerting thresholds (buffered) as defined by SC-228 MOPS. Maneuver guidance logic produces multilevel bands: MID: Corrective NEAR: Warning Well-clear volume (buffered) is defined by alerting level 2 (conflict_alerting_level)

◆ clear()

void larcfm::AlertLevels::clear ( )

Clears alert levels

◆ conflictAlertLevel()

int larcfm::AlertLevels::conflictAlertLevel ( ) const
Returns
conflict alert level. When the numerical is value is 0, first guidance level

◆ conflictDetectorRef()

Detection3D * larcfm::AlertLevels::conflictDetectorRef ( ) const
Returns
detector for conflict alert level

◆ copy()

void larcfm::AlertLevels::copy ( const AlertLevels alertor)

Copy alertor to the same values as the given parameter. Detectors are deeply copied.

◆ detectorRef()

Detection3D * larcfm::AlertLevels::detectorRef ( int  alert_level) const
Returns
detector for given alert level

◆ firstGuidanceLevel()

int larcfm::AlertLevels::firstGuidanceLevel ( ) const
Returns
first guidance level whose region is different from NONE

◆ getLevel()

AlertThresholds const & larcfm::AlertLevels::getLevel ( int  level) const
Returns
threshold values of a given alert level

◆ getParameters()

ParameterData larcfm::AlertLevels::getParameters ( ) const
virtual

◆ lastGuidanceLevel()

int larcfm::AlertLevels::lastGuidanceLevel ( ) const
Returns
last guidance level whose region is different from NONE

◆ mostSevereAlertLevel()

int larcfm::AlertLevels::mostSevereAlertLevel ( ) const
Returns
numerical type of most severe alert level.

◆ setConflictAlertLevel()

void larcfm::AlertLevels::setConflictAlertLevel ( int  alert_level)

Set conflict alert level

◆ setLevel()

void larcfm::AlertLevels::setLevel ( int  level,
const AlertThresholds thresholds 
)

Set the threshold values of a given alert level.

◆ setParameters()

void larcfm::AlertLevels::setParameters ( const ParameterData p)
virtual

◆ SingleBands()

static AlertLevels larcfm::AlertLevels::SingleBands ( const Detection3D detector,
double  alerting_time,
double  lookahead_time 
)
static
Returns
alerting thresholds for single bands given by detector, alerting time, and lookahead time.

◆ SingleBands_WC_SC_228_Thresholds()

static AlertLevels larcfm::AlertLevels::SingleBands_WC_SC_228_Thresholds ( )
static
Returns
alerting thresholds (unbuffered) as defined by SC-228 MOPS. Maneuver guidance logic produces single level bands: NEAR: Corrective Well-clear volume (unbuffered) is defined by alerting level 2 (conflict_alerting_level)

◆ updateParameterData()

void larcfm::AlertLevels::updateParameterData ( ParameterData p) const
virtual

◆ WC_SC_228_Thresholds()

static AlertLevels larcfm::AlertLevels::WC_SC_228_Thresholds ( )
static
Returns
alerting thresholds (unbuffered) as defined by SC-228 MOPS. Maneuver guidance logic produces multilevel bands: MID: Corrective NEAR: Warning Well-clear volume (unbuffered) is defined by alerting level 2 (conflict_alerting_level)

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