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

#include <Alerter.h>

Inheritance diagram for larcfm::Alerter:
larcfm::ParameterAcceptor

Public Member Functions

bool isValid () const
 
 Alerter (const std::string &id)
 
void setId (const std::string &id)
 
const std::string & getId () const
 
void clear ()
 
int mostSevereAlertLevel () const
 
int alertLevelForRegion (BandsRegion::Region region) const
 
Detection3DgetDetectorPtr (int alert_level) const
 
void setLevel (int level, const AlertThresholds &thresholds)
 
int addLevel (const AlertThresholds &thresholds)
 
const AlertThresholdsgetLevel (int alert_level) const
 
ParameterData getParameters () const
 
void updateParameterData (ParameterData &p) const
 
void setParameters (const ParameterData &p)
 
std::string toString () const
 
std::string toPVS () const
 

Static Public Member Functions

static const AlerterINVALID ()
 
static const AlertThresholdsDO_365_Phase_I_HAZ_preventive ()
 
static const AlertThresholdsDO_365_Phase_I_HAZ_corrective ()
 
static const AlertThresholdsDO_365_Phase_I_HAZ_warning ()
 
static const AlerterDWC_Phase_I ()
 
static const AlertThresholdsDO_365_Phase_II_HAZ_preventive ()
 
static const AlertThresholdsDO_365_Phase_II_HAZ_corrective ()
 
static const AlertThresholdsDO_365_Phase_II_HAZ_warning ()
 
static const AlerterDWC_Phase_II ()
 
static const AlertThresholdsDO_365_Non_Coop_HAZ_preventive ()
 
static const AlertThresholdsDO_365_Non_Coop_HAZ_corrective ()
 
static const AlertThresholdsDO_365_Non_Coop_HAZ_warning ()
 
static const AlerterDWC_Non_Coop ()
 
static const AlertThresholdsDO_365_Phase_I_HAZ_preventive_SUM ()
 
static const AlertThresholdsDO_365_Phase_I_HAZ_corrective_SUM ()
 
static const AlertThresholdsDO_365_Phase_I_HAZ_warning_SUM ()
 
static const AlerterDWC_Phase_I_SUM ()
 
static const AlertThresholdsDO_365_Phase_II_HAZ_preventive_SUM ()
 
static const AlertThresholdsDO_365_Phase_II_HAZ_corrective_SUM ()
 
static const AlertThresholdsDO_365_Phase_II_HAZ_warning_SUM ()
 
static const AlerterDWC_Phase_II_SUM ()
 
static const AlertThresholdsDO_365_Non_Coop_HAZ_preventive_SUM ()
 
static const AlertThresholdsDO_365_Non_Coop_HAZ_corrective_SUM ()
 
static const AlertThresholdsDO_365_Non_Coop_HAZ_warning_SUM ()
 
static const AlerterDWC_Non_Coop_SUM ()
 
static const AlertThresholdsBuffered_Phase_I_HAZ_preventive ()
 
static const AlertThresholdsBuffered_Phase_I_HAZ_corrective ()
 
static const AlertThresholdsBuffered_Phase_I_HAZ_warning ()
 
static const AlerterBuffered_DWC_Phase_I ()
 
static Alerter SingleBands (const Detection3D *detector, double alerting_time, double lookahead_time, const std::string name="default")
 
static const AlerterCD3D_SingleBands ()
 
static const AlerterWCV_TAUMOD_SingleBands ()
 
static const AlertThresholdsTCASII_TA_THR ()
 
static const AlertThresholdsTCASII_RA_THR ()
 
static const AlerterTCASII ()
 
static std::string listToPVS (const std::vector< Alerter > &alerter)
 

Private Attributes

std::vector< AlertThresholdslevels_
 
std::string id_
 

Additional Inherited Members

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::Alerter::addLevel ( const AlertThresholds thresholds)

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

◆ alertLevelForRegion()

int larcfm::Alerter::alertLevelForRegion ( BandsRegion::Region  region) const
Returns
first alert level whose region is equal to given region. Returns -1 if none.

◆ Buffered_DWC_Phase_I()

const Alerter & larcfm::Alerter::Buffered_DWC_Phase_I ( )
static
Returns
alerting thresholds (buffered) as defined in RTCA DO-365. Maneuver guidance logic produces multilevel bands: MID: Corrective NEAR: Warning

◆ Buffered_Phase_I_HAZ_corrective()

const AlertThresholds & larcfm::Alerter::Buffered_Phase_I_HAZ_corrective ( )
static
Returns
buffered HAZ corrective thresholds, i.e., DTHR=1nmi, ZTHR=450ft, TTHR=35s, TCOA=20s, alerting time = 60s, early alerting time = 75s, bands region = MID

◆ Buffered_Phase_I_HAZ_preventive()

const AlertThresholds & larcfm::Alerter::Buffered_Phase_I_HAZ_preventive ( )
static
Returns
buffered HAZ preventive thresholds, i.e., DTHR=1nmi, ZTHR=750ft, TTHR=35s, TCOA=20s, alerting time = 60s, early alerting time = 75s, bands region = NONE

◆ Buffered_Phase_I_HAZ_warning()

const AlertThresholds & larcfm::Alerter::Buffered_Phase_I_HAZ_warning ( )
static
Returns
buffered HAZ warning thresholds, i.e., DTHR=1nmi, ZTHR=450ft, TTHR=35s, TCOA=20s, alerting time = 30s, early alerting time = 55s, bands region = NEAR

◆ CD3D_SingleBands()

const Alerter & larcfm::Alerter::CD3D_SingleBands ( )
static
Returns
alerting thresholds for ACCoRD's CD3D, i.e., separation is given by cylinder of 5nmi/1000ft. Alerting time is 180s.

◆ clear()

void larcfm::Alerter::clear ( )

Clears alert levels

◆ DO_365_Non_Coop_HAZ_corrective()

const AlertThresholds & larcfm::Alerter::DO_365_Non_Coop_HAZ_corrective ( )
static
Returns
DO-365B HAZ corrective thresholds Non-Cooperative, i.e., DTHR=2200ft, ZTHR=450ft, TTHR=0s, TCOA=0, alerting time = 55s, early alerting time = 110s, bands region = MID

◆ DO_365_Non_Coop_HAZ_corrective_SUM()

const AlertThresholds & larcfm::Alerter::DO_365_Non_Coop_HAZ_corrective_SUM ( )
static
Returns
DO-365B HAZ corrective thresholds Non-Cooperative, i.e., DTHR=2200ft, ZTHR=450ft, TTHR=0s, TCOA=0, alerting time = 50s, early alerting time = 110s, bands region = MID, with SUM

◆ DO_365_Non_Coop_HAZ_preventive()

const AlertThresholds & larcfm::Alerter::DO_365_Non_Coop_HAZ_preventive ( )
static
Returns
DO-365B HAZ preventive thresholds Non-Cooperative, i.e., DTHR=2200ft, ZTHR=450ft, TTHR=0s, TCOA=0, alerting time = 55s, early alerting time = 110s, bands region = NONE

◆ DO_365_Non_Coop_HAZ_preventive_SUM()

const AlertThresholds & larcfm::Alerter::DO_365_Non_Coop_HAZ_preventive_SUM ( )
static
Returns
DO-365B HAZ preventive thresholds Non-Cooperative, i.e., DTHR=2200ft, ZTHR=450ft, TTHR=0s, TCOA=0, alerting time = 50s, early alerting time = 110s, bands region = NONE, with SUM

◆ DO_365_Non_Coop_HAZ_warning()

const AlertThresholds & larcfm::Alerter::DO_365_Non_Coop_HAZ_warning ( )
static
Returns
DO-365B HAZ warning thresholds Non-Cooperative, i.e., DTHR=2200ft, ZTHR=450ft, TTHR=0s, TCOA=0, alerting time = 25s, early alerting time = 90s, bands region = NEAR

◆ DO_365_Non_Coop_HAZ_warning_SUM()

const AlertThresholds & larcfm::Alerter::DO_365_Non_Coop_HAZ_warning_SUM ( )
static
Returns
DO-365B HAZ warning thresholds Non-Cooperative, i.e., DTHR=2200ft, ZTHR=450ft, TTHR=0s, TCOA=0, alerting time = 20s, early alerting time = 90s, bands region = NEAR, with SUM

◆ DO_365_Phase_I_HAZ_corrective()

const AlertThresholds & larcfm::Alerter::DO_365_Phase_I_HAZ_corrective ( )
static
Returns
DO-365 HAZ corrective thresholds Phase I (en-route), i.e., DTHR=0.66nmi, ZTHR=450ft, TTHR=35s, TCOA=0, alerting time = 55s, early alerting time = 75s, bands region = MID

◆ DO_365_Phase_I_HAZ_corrective_SUM()

const AlertThresholds & larcfm::Alerter::DO_365_Phase_I_HAZ_corrective_SUM ( )
static
Returns
DO-365 HAZ corrective thresholds Phase I (en-route), i.e., DTHR=0.66nmi, ZTHR=450ft, TTHR=35s, TCOA=0, alerting time = 50s, early alerting time = 75s, bands region = MID, with SUM

◆ DO_365_Phase_I_HAZ_preventive()

const AlertThresholds & larcfm::Alerter::DO_365_Phase_I_HAZ_preventive ( )
static
Returns
DO-365 HAZ preventive thresholds Phase I (en-route), i.e., DTHR=0.66nmi, ZTHR=700ft, TTHR=35s, TCOA=0, alerting time = 55s, early alerting time = 75s, bands region = NONE

◆ DO_365_Phase_I_HAZ_preventive_SUM()

const AlertThresholds & larcfm::Alerter::DO_365_Phase_I_HAZ_preventive_SUM ( )
static
Returns
DO-365 HAZ preventive thresholds Phase I (en-route), i.e., DTHR=0.66nmi, ZTHR=700ft, TTHR=35s, TCOA=0, alerting time = 50s, early alerting time = 75s, bands region = NONE, with SUM

◆ DO_365_Phase_I_HAZ_warning()

const AlertThresholds & larcfm::Alerter::DO_365_Phase_I_HAZ_warning ( )
static
Returns
DO-365 HAZ warning thresholds Phase I (en-route), i.e., DTHR=0.66nmi, ZTHR=450ft, TTHR=35s, TCOA=0, alerting time = 25s, early alerting time = 55s, bands region = NEAR

◆ DO_365_Phase_I_HAZ_warning_SUM()

const AlertThresholds & larcfm::Alerter::DO_365_Phase_I_HAZ_warning_SUM ( )
static
Returns
DO-365 HAZ warning thresholds Phase I (en-route), i.e., DTHR=0.66nmi, ZTHR=450ft, TTHR=35s, TCOA=0, alerting time = 25s, early alerting time = 55s, bands region = NEAR, with SUM

◆ DO_365_Phase_II_HAZ_corrective()

const AlertThresholds & larcfm::Alerter::DO_365_Phase_II_HAZ_corrective ( )
static
Returns
DO-365A HAZ corrective thresholds Phase II (DTA), i.e., DTHR=1500ft, ZTHR=450ft, TTHR=0s, TCOA=0, alerting time = 45s, early alerting time = 75s, bands region = MID

◆ DO_365_Phase_II_HAZ_corrective_SUM()

const AlertThresholds & larcfm::Alerter::DO_365_Phase_II_HAZ_corrective_SUM ( )
static
Returns
DO-365A HAZ corrective thresholds Phase II (DTA), i.e., DTHR=1500ft, ZTHR=450ft, TTHR=0s, TCOA=0, alerting time = 40s, early alerting time = 75s, bands region = MID, with SUM

◆ DO_365_Phase_II_HAZ_preventive()

const AlertThresholds & larcfm::Alerter::DO_365_Phase_II_HAZ_preventive ( )
static
Returns
DO-365A HAZ preventive thresholds Phase II (DTA), i.e., DTHR=1500ft, ZTHR=450ft, TTHR=0s, TCOA=0, alerting time = 45s, early alerting time = 75s, bands region = NONE

◆ DO_365_Phase_II_HAZ_preventive_SUM()

const AlertThresholds & larcfm::Alerter::DO_365_Phase_II_HAZ_preventive_SUM ( )
static
Returns
DO-365A HAZ preventive thresholds Phase II (DTA), i.e., DTHR=1500ft, ZTHR=450ft, TTHR=0s, TCOA=0, alerting time = 40s, early alerting time = 75s, bands region = NONE, with SUM

◆ DO_365_Phase_II_HAZ_warning()

const AlertThresholds & larcfm::Alerter::DO_365_Phase_II_HAZ_warning ( )
static
Returns
DO-365A HAZ warning thresholds Phase II (DTA), i.e., DTHR=1500ft, ZTHR=450ft, TTHR=0s, TCOA=0, alerting time = 45s, early alerting time = 75s, bands region = NEAR

◆ DO_365_Phase_II_HAZ_warning_SUM()

const AlertThresholds & larcfm::Alerter::DO_365_Phase_II_HAZ_warning_SUM ( )
static
Returns
DO-365A HAZ warning thresholds Phase II (DTA), i.e., DTHR=1500ft, ZTHR=450ft, TTHR=0s, TCOA=0, alerting time = 40s, early alerting time = 75s, bands region = MID, with SUM

◆ DWC_Non_Coop()

const Alerter & larcfm::Alerter::DWC_Non_Coop ( )
static
Returns
alerting thresholds as defined in RTCA DO-365B Non-Cooperative Maneuver guidance logic produces multilevel bands: MID: Corrective NEAR: Warning

◆ DWC_Non_Coop_SUM()

const Alerter & larcfm::Alerter::DWC_Non_Coop_SUM ( )
static
Returns
alerting thresholds as defined in RTCA DO-365B Non-Cooperative, with SUM Maneuver guidance logic produces multilevel bands: MID: Corrective NEAR: Warning

◆ DWC_Phase_I()

const Alerter & larcfm::Alerter::DWC_Phase_I ( )
static
Returns
alerting thresholds as defined in RTCA DO-365 Phase I (en-route). Maneuver guidance logic produces multilevel bands: MID: Corrective NEAR: Warning

◆ DWC_Phase_I_SUM()

const Alerter & larcfm::Alerter::DWC_Phase_I_SUM ( )
static
Returns
alerting thresholds as defined in RTCA DO-365 Phase I (en-route), with SUM Maneuver guidance logic produces multilevel bands: MID: Corrective NEAR: Warning

◆ DWC_Phase_II()

const Alerter & larcfm::Alerter::DWC_Phase_II ( )
static
Returns
alerting thresholds as defined in RTCA DO-365A Phase II (DTA) Maneuver guidance logic produces multilevel bands: MID: Corrective NEAR: Warning

◆ DWC_Phase_II_SUM()

const Alerter & larcfm::Alerter::DWC_Phase_II_SUM ( )
static
Returns
alerting thresholds as defined in RTCA DO-365A Phase II (DTA), with SUM. Maneuver guidance logic produces multilevel bands: MID: Corrective NEAR: Warning

◆ getDetectorPtr()

Detection3D * larcfm::Alerter::getDetectorPtr ( int  alert_level) const
Returns
detector for given alert level starting from 1.

◆ getId()

const std::string & larcfm::Alerter::getId ( ) const
Returns
alerter identifier.

◆ getLevel()

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

◆ getParameters()

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

◆ mostSevereAlertLevel()

int larcfm::Alerter::mostSevereAlertLevel ( ) const
Returns
most severe alert level.

◆ setId()

void larcfm::Alerter::setId ( const std::string &  id)

Set alerter identifier.

Parameters
id

◆ setLevel()

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

Set the threshold values of a given alert level.

◆ setParameters()

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

◆ SingleBands()

Alerter larcfm::Alerter::SingleBands ( const Detection3D detector,
double  alerting_time,
double  lookahead_time,
const std::string  name = "default" 
)
static
Returns
alerting thresholds for single bands given by detector, alerting time, and lookahead time. The single bands region is NEAR

◆ TCASII()

const Alerter & larcfm::Alerter::TCASII ( )
static

DAIDALUS's ideal TCASII alerter logic

◆ TCASII_RA_THR()

const AlertThresholds & larcfm::Alerter::TCASII_RA_THR ( )
static

TCASII-RA thresholds

◆ TCASII_TA_THR()

const AlertThresholds & larcfm::Alerter::TCASII_TA_THR ( )
static

TCASII-TA thresholds

◆ updateParameterData()

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

◆ WCV_TAUMOD_SingleBands()

const Alerter & larcfm::Alerter::WCV_TAUMOD_SingleBands ( )
static
Returns
alerting thresholds for DAIDALUS single bands WCV_TAUMOD , i.e., separation is given by cylinder of DTHR=0.66nmi, ZTHR=450ft, TTHR=35s, TCOA=0, alerting time = 55s, early alerting time = 75s.

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