ICAROUS
|
#include <Daidalus.h>
Public Member Functions | |
Daidalus () | |
Daidalus (const Alerter &alerter) | |
Daidalus (const Detection3D *det, double T) | |
void | set_DO_365A (bool type=true, bool sum=true) |
void | set_DO_365B (bool type=true, bool sum=true) |
void | set_Buffered_WC_DO_365 (bool type) |
void | set_CD3D () |
void | set_TCASII () |
const TrafficState & | getOwnshipState () const |
const TrafficState & | getAircraftStateAt (int idx) const |
void | setOwnshipState (const std::string &id, const Position &pos, const Velocity &vel, double time) |
void | setOwnshipState (const std::string &id, const Position &pos, const Velocity &vel) |
int | addTrafficState (const std::string &id, const Position &pos, const Velocity &vel, double time) |
int | addTrafficState (const std::string &id, const Position &pos, const Velocity &vel) |
int | aircraftIndex (const std::string &name) const |
void | resetOwnship (const std::string &id) |
bool | removeTrafficAircraft (const std::string &name) |
void | linearProjection (double offset) |
bool | hasOwnship () const |
bool | hasTraffic () const |
int | numberOfAircraft () const |
int | lastTrafficIndex () const |
bool | isLatLon () const |
double | getCurrentTime () const |
double | getCurrentTime (const std::string &u) const |
const Velocity & | getWindVelocityTo () const |
Velocity | getWindVelocityFrom () const |
void | setWindVelocityTo (const Velocity &wind_vector) |
void | setWindVelocityFrom (const Velocity &nwind_vector) |
void | setNoWind () |
void | setAlerterIndex (int ac_idx, int alerter_idx) |
void | setAlerter (int ac_idx, const std::string &alerter) |
int | alerterIndexBasedOnAlertingLogic (int ac_idx) |
int | mostSevereAlertLevel (int ac_idx) |
void | setHorizontalPositionUncertainty (int ac_idx, double s_EW_std, double s_NS_std, double s_EN_std) |
void | setHorizontalPositionUncertainty (int ac_idx, double s_EW_std, double s_NS_std, double s_EN_std, const std::string &u) |
void | setVerticalPositionUncertainty (int ac_idx, double sz_std) |
void | setVerticalPositionUncertainty (int ac_idx, double sz_std, const std::string &u) |
void | setHorizontalVelocityUncertainty (int ac_idx, double v_EW_std, double v_NS_std, double v_EN_std) |
void | setHorizontalVelocityUncertainty (int ac_idx, double v_EW_std, double v_NS_std, double v_EN_std, const std::string &u) |
void | setVerticalSpeedUncertainty (int ac_idx, double vz_std) |
void | setVerticalSpeedUncertainty (int ac_idx, double vz_std, const std::string &u) |
void | resetUncertainty (int ac_idx) |
const UrgencyStrategy * | getUrgencyStrategy () const |
void | setUrgencyStrategy (const UrgencyStrategy *strat) |
TrafficState | mostUrgentAircraft () |
void | horizontalContours (std::vector< std::vector< Position > > &blobs, int ac_idx, int alert_level=0) |
void | horizontalContours (std::vector< std::vector< Position > > &blobs, int ac_idx, BandsRegion::Region region) |
void | horizontalHazardZone (std::vector< Position > &haz, int ac_idx, bool loss, bool from_ownship, int alert_level=0) |
void | horizontalHazardZone (std::vector< Position > &haz, int ac_idx, bool loss, bool from_ownship, BandsRegion::Region region) |
int | numberOfAlerters () const |
const Alerter & | getAlerterAt (int i) const |
int | getAlerterIndex (std::string id) const |
void | clearAlerters () |
int | addAlerter (const Alerter &alerter) |
double | getLookaheadTime () const |
double | getLookaheadTime (const std::string &u) const |
double | getLeftHorizontalDirection () const |
double | getLeftHorizontalDirection (const std::string &u) const |
double | getRightHorizontalDirection () const |
double | getRightHorizontalDirection (const std::string &u) const |
double | getMinHorizontalSpeed () const |
double | getMinHorizontalSpeed (const std::string &u) const |
double | getMaxHorizontalSpeed () const |
double | getMaxHorizontalSpeed (const std::string &u) const |
double | getMinVerticalSpeed () const |
double | getMinVerticalSpeed (const std::string &u) const |
double | getMaxVerticalSpeed () const |
double | getMaxVerticalSpeed (const std::string &u) const |
double | getMinAltitude () const |
double | getMinAltitude (const std::string &u) const |
double | getMaxAltitude () const |
double | getMaxAltitude (const std::string &u) const |
double | getBelowRelativeHorizontalSpeed () const |
double | getBelowRelativeHorizontalSpeed (const std::string &u) const |
double | getAboveRelativeHorizontalSpeed () const |
double | getAboveRelativeHorizontalSpeed (const std::string &u) const |
double | getBelowRelativeVerticalSpeed () const |
double | getBelowRelativeVerticalSpeed (const std::string &u) const |
double | getAboveRelativeVerticalSpeed () const |
double | getAboveRelativeVerticalSpeed (const std::string &u) const |
double | getBelowRelativeAltitude () const |
double | getBelowRelativeAltitude (const std::string &u) const |
double | getAboveRelativeAltitude () const |
double | getAboveRelativeAltitude (const std::string &u) const |
double | getHorizontalDirectionStep () const |
double | getHorizontalDirectionStep (const std::string &u) const |
double | getHorizontalSpeedStep () const |
double | getHorizontalSpeedStep (const std::string &u) const |
double | getVerticalSpeedStep () const |
double | getVerticalSpeedStep (const std::string &u) const |
double | getAltitudeStep () const |
double | getAltitudeStep (const std::string &u) const |
double | getHorizontalAcceleration () const |
double | getHorizontalAcceleration (const std::string &u) const |
double | getVerticalAcceleration () const |
double | getVerticalAcceleration (const std::string &u) const |
double | getTurnRate () const |
double | getTurnRate (const std::string &u) const |
double | getBankAngle () const |
double | getBankAngle (const std::string &u) const |
double | getVerticalRate () const |
double | getVerticalRate (std::string u) const |
double | getHorizontalNMAC () const |
double | getHorizontalNMAC (const std::string &u) const |
double | getVerticalNMAC () const |
double | getVerticalNMAC (const std::string &u) const |
double | getRecoveryStabilityTime () const |
double | getRecoveryStabilityTime (const std::string &u) const |
double | getHysteresisTime () const |
double | getHysteresisTime (const std::string &u) const |
double | getPersistenceTime () const |
double | getPersistenceTime (const std::string &u) const |
bool | isEnabledBandsPersistence () const |
void | setBandsPersistence (bool flag) |
void | enableBandsPersistence () |
void | disableBandsPersistence () |
double | getPersistencePreferredHorizontalDirectionResolution () const |
double | getPersistencePreferredHorizontalDirectionResolution (const std::string &u) const |
double | getPersistencePreferredHorizontalSpeedResolution () const |
double | getPersistencePreferredHorizontalSpeedResolution (const std::string &u) const |
double | getPersistencePreferredVerticalSpeedResolution () const |
double | getPersistencePreferredVerticalSpeedResolution (const std::string &u) const |
double | getPersistencePreferredAltitudeResolution () const |
double | getPersistencePreferredAltitudeResolution (const std::string &u) const |
int | getAlertingParameterM () const |
int | getAlertingParameterN () const |
double | getMinHorizontalRecovery () const |
double | getMinHorizontalRecovery (const std::string &u) const |
double | getMinVerticalRecovery () const |
double | getMinVerticalRecovery (const std::string &u) const |
void | setLookaheadTime (double t) |
void | setLookaheadTime (double t, const std::string &u) |
void | setLeftHorizontalDirection (double val) |
void | setLeftHorizontalDirection (double val, const std::string &u) |
void | setRightHorizontalDirection (double val) |
void | setRightHorizontalDirection (double val, const std::string &u) |
void | setMinHorizontalSpeed (double val) |
void | setMinHorizontalSpeed (double val, const std::string &u) |
void | setMaxHorizontalSpeed (double val) |
void | setMaxHorizontalSpeed (double val, const std::string &u) |
void | setMinVerticalSpeed (double val) |
void | setMinVerticalSpeed (double val, const std::string &u) |
void | setMaxVerticalSpeed (double val) |
void | setMaxVerticalSpeed (double val, const std::string &u) |
void | setMinAltitude (double val) |
void | setMinAltitude (double val, const std::string &u) |
void | setMaxAltitude (double val) |
void | setMaxAltitude (double val, const std::string &u) |
void | setBelowRelativeHorizontalSpeed (double val) |
void | setBelowRelativeHorizontalSpeed (double val, std::string u) |
void | setAboveRelativeHorizontalSpeed (double val) |
void | setAboveRelativeHorizontalSpeed (double val, const std::string &u) |
void | setBelowRelativeVerticalSpeed (double val) |
void | setBelowRelativeVerticalSpeed (double val, const std::string &u) |
void | setAboveRelativeVerticalSpeed (double val) |
void | setAboveRelativeVerticalSpeed (double val, const std::string &u) |
void | setBelowRelativeAltitude (double val) |
void | setBelowRelativeAltitude (double val, const std::string &u) |
void | setAboveRelativeAltitude (double val) |
void | setAboveRelativeAltitude (double val, const std::string &u) |
void | setBelowToMinRelativeHorizontalSpeed () |
void | setAboveToMaxRelativeHorizontalSpeed () |
void | setBelowToMinRelativeVerticalSpeed () |
void | setAboveToMaxRelativeVerticalSpeed () |
void | setBelowToMinRelativeAltitude () |
void | setAboveToMaxRelativeAltitude () |
void | disableRelativeHorizontalSpeedBands () |
void | disableRelativeVerticalSpeedBands () |
void | disableRelativeAltitude () |
void | setHorizontalDirectionStep (double val) |
void | setHorizontalDirectionStep (double val, const std::string &u) |
void | setHorizontalSpeedStep (double val) |
void | setHorizontalSpeedStep (double val, const std::string &u) |
void | setVerticalSpeedStep (double val) |
void | setVerticalSpeedStep (double val, const std::string &u) |
void | setAltitudeStep (double val) |
void | setAltitudeStep (double val, const std::string &u) |
void | setHorizontalAcceleration (double val) |
void | setHorizontalAcceleration (double val, const std::string &u) |
void | setVerticalAcceleration (double val) |
void | setVerticalAcceleration (double val, const std::string &u) |
void | setTurnRate (double val) |
void | setTurnRate (double val, const std::string &u) |
void | setBankAngle (double val) |
void | setBankAngle (double val, const std::string &u) |
void | setVerticalRate (double val) |
void | setVerticalRate (double val, const std::string &u) |
void | setHorizontalNMAC (double val) |
void | setHorizontalNMAC (double val, const std::string &u) |
void | setVerticalNMAC (double val) |
void | setVerticalNMAC (double val, const std::string &u) |
void | setRecoveryStabilityTime (double t) |
void | setRecoveryStabilityTime (double t, const std::string &u) |
void | setHysteresisTime (double val) |
void | setPersistenceTime (double val) |
void | setPersistenceTime (double val, const std::string &u) |
void | setHysteresisTime (double val, const std::string &u) |
void | setPersistencePreferredHorizontalDirectionResolution (double val) |
void | setPersistencePreferredHorizontalDirectionResolution (double val, const std::string &u) |
void | setPersistencePreferredHorizontalSpeedResolution (double val) |
void | setPersistencePreferredHorizontalSpeedResolution (double val, const std::string &u) |
void | setPersistencePreferredVerticalSpeedResolution (double val) |
void | setPersistencePreferredVerticalSpeedResolution (double val, const std::string &u) |
void | setPersistencePreferredAltitudeResolution (double val) |
void | setPersistencePreferredAltitudeResolution (double val, const std::string &u) |
void | setAlertingMofN (int m, int n) |
void | setMinHorizontalRecovery (double val) |
void | setMinHorizontalRecovery (double val, const std::string &u) |
void | setMinVerticalRecovery (double val) |
void | setMinVerticalRecovery (double val, const std::string &u) |
bool | isEnabledConflictCriteria () |
void | setConflictCriteria (bool flag) |
void | enableConflictCriteria () |
void | disableConflictCriteria () |
bool | isEnabledRecoveryCriteria () |
void | setRecoveryCriteria (bool flag) |
void | enableRecoveryCriteria () |
void | disableRecoveryCriteria () |
void | setRepulsiveCriteria (bool flag) |
void | enableRepulsiveCriteria () |
void | disableRepulsiveCriteria () |
bool | isEnabledRecoveryHorizontalDirectionBands () |
bool | isEnabledRecoveryHorizontalSpeedBands () |
bool | isEnabledRecoveryVerticalSpeedBands () |
bool | isEnabledRecoveryAltitudeBands () |
void | setRecoveryBands (bool flag) |
void | enableRecoveryBands () |
void | disableRecoveryBands () |
void | setRecoveryHorizontalDirectionBands (bool flag) |
void | setRecoveryHorizontalSpeedBands (bool flag) |
void | setRecoveryVerticalSpeedBands (bool flag) |
void | setRecoveryAltitudeBands (bool flag) |
bool | isEnabledCollisionAvoidanceBands () |
void | setCollisionAvoidanceBands (bool flag) |
void | enableCollisionAvoidanceBands () |
void | disableCollisionAvoidanceBands () |
double | getCollisionAvoidanceBandsFactor () const |
void | setCollisionAvoidanceBandsFactor (double val) |
double | getHorizontalPositionZScore () const |
void | setHorizontalPositionZScore (double val) |
double | getHorizontalVelocityZScoreMin () const |
void | setHorizontalVelocityZScoreMin (double val) |
double | getHorizontalVelocityZScoreMax () const |
void | setHorizontalVelocityZScoreMax (double val) |
double | getHorizontalVelocityZDistance () const |
double | getHorizontalVelocityZDistance (std::string u) const |
void | setHorizontalVelocityZDistance (double val) |
void | setHorizontalVelocityZDistance (double val, const std::string &u) |
double | getVerticalPositionZScore () const |
void | setVerticalPositionZScore (double val) |
double | getVerticalSpeedZScore () const |
void | setVerticalSpeedZScore (double val) |
double | getHorizontalContourThreshold () const |
double | getHorizontalContourThreshold (std::string u) const |
void | setHorizontalContourThreshold (double val) |
void | setHorizontalContourThreshold (double val, const std::string &u) |
bool | isActiveDTALogic () |
bool | isActiveDTASpecialManeuverGuidance () |
bool | isDisabledDTALogic () const |
bool | isEnabledDTALogicWithHorizontalDirRecovery () const |
bool | isEnabledDTALogicWithoutHorizontalDirRecovery () const |
void | disableDTALogic () |
void | enableDTALogicWithHorizontalDirRecovery () |
void | enableDTALogicWithoutHorizontalDirRecovery () |
const Position & | getDTAPosition () const |
void | setDTALatitude (double lat) |
void | setDTALatitude (double lat, const std::string &ulat) |
void | setDTALongitude (double lon) |
void | setDTALongitude (double lon, const std::string &ulon) |
double | getDTARadius () const |
double | getDTARadius (const std::string &u) const |
void | setDTARadius (double val) |
void | setDTARadius (double val, const std::string &u) |
double | getDTAHeight () const |
double | getDTAHeight (const std::string &u) const |
void | setDTAHeight (double val) |
void | setDTAHeight (double val, const std::string &u) |
int | getDTAAlerter () const |
void | setDTAAlerter (int alerter) |
void | setAlertingLogic (bool ownship_centric) |
void | setOwnshipCentricAlertingLogic () |
void | setIntruderCentricAlertingLogic () |
bool | isAlertingLogicOwnshipCentric () const |
BandsRegion::Region | getCorrectiveRegion () const |
void | setCorrectiveRegion (BandsRegion::Region val) |
int | correctiveAlertLevel (int alerter_idx) |
int | maxAlertLevel () const |
void | setInstantaneousBands () |
void | setKinematicBands (bool type) |
void | disableHysteresis () |
bool | loadFromFile (const std::string &file) |
bool | saveToFile (const std::string &file) |
void | setDaidalusParameters (const DaidalusParameters ¶meters) |
void | setParameterData (const ParameterData &p) |
const ParameterData | getParameterData () |
std::string | getUnitsOf (const std::string &key) const |
void | setAbsoluteHorizontalDirectionBands (double min, double max) |
void | setAbsoluteHorizontalDirectionBands (double min, double max, const std::string &u) |
const DaidalusCore & | getCore () |
void | clearHysteresis () |
void | clear () |
void | reset () |
void | conflictBandsAircraft (std::vector< std::string > &acs, int region) |
void | conflictBandsAircraft (std::vector< std::string > &acs, BandsRegion::Region region) |
Interval | timeIntervalOfConflict (int region) |
Interval | timeIntervalOfConflict (BandsRegion::Region region) |
int | horizontalDirectionBandsLength () |
void | forceHorizontalDirectionBandsComputation () |
Interval | horizontalDirectionIntervalAt (int i) |
Interval | horizontalDirectionIntervalAt (int i, const std::string &u) |
BandsRegion::Region | horizontalDirectionRegionAt (int i) |
int | indexOfHorizontalDirection (double dir) |
int | indexOfHorizontalDirection (double dir, const std::string &u) |
BandsRegion::Region | regionOfHorizontalDirection (double dir) |
BandsRegion::Region | regionOfHorizontalDirection (double dir, const std::string &u) |
double | lastTimeToHorizontalDirectionManeuver (const TrafficState &ac) |
double | lastTimeToHorizontalDirectionManeuver (int ac_idx) |
double | lastTimeToHorizontalDirectionManeuver (int ac_idx, const std::string &u) |
RecoveryInformation | horizontalDirectionRecoveryInformation () |
void | peripheralHorizontalDirectionBandsAircraft (std::vector< std::string > &acs, int region) |
void | peripheralHorizontalDirectionBandsAircraft (std::vector< std::string > &acs, BandsRegion::Region region) |
double | horizontalDirectionResolution (bool dir) |
double | horizontalDirectionResolution (bool dir, const std::string &u) |
double | horizontalDirectionRawResolution (bool dir) |
double | horizontalDirectionRawResolution (bool dir, const std::string &u) |
bool | preferredHorizontalDirectionRightOrLeft () |
int | horizontalSpeedBandsLength () |
void | forceHorizontalSpeedBandsComputation () |
Interval | horizontalSpeedIntervalAt (int i) |
Interval | horizontalSpeedIntervalAt (int i, const std::string &u) |
BandsRegion::Region | horizontalSpeedRegionAt (int i) |
int | indexOfHorizontalSpeed (double gs) |
int | indexOfHorizontalSpeed (double gs, const std::string &u) |
BandsRegion::Region | regionOfHorizontalSpeed (double gs) |
BandsRegion::Region | regionOfHorizontalSpeed (double gs, const std::string &u) |
double | lastTimeToHorizontalSpeedManeuver (const TrafficState &ac) |
double | lastTimeToHorizontalSpeedManeuver (int ac_idx) |
double | lastTimeToHorizontalSpeedManeuver (int ac_idx, const std::string &u) |
RecoveryInformation | horizontalSpeedRecoveryInformation () |
void | peripheralHorizontalSpeedBandsAircraft (std::vector< std::string > &acs, int region) |
void | peripheralHorizontalSpeedBandsAircraft (std::vector< std::string > &acs, BandsRegion::Region region) |
double | horizontalSpeedResolution (bool dir) |
double | horizontalSpeedResolution (bool dir, const std::string &u) |
double | horizontalSpeedRawResolution (bool dir) |
double | horizontalSpeedRawResolution (bool dir, const std::string &u) |
bool | preferredHorizontalSpeedUpOrDown () |
int | verticalSpeedBandsLength () |
void | forceVerticalSpeedBandsComputation () |
Interval | verticalSpeedIntervalAt (int i) |
Interval | verticalSpeedIntervalAt (int i, const std::string &u) |
BandsRegion::Region | verticalSpeedRegionAt (int i) |
int | indexOfVerticalSpeed (double vs) |
int | indexOfVerticalSpeed (double vs, const std::string &u) |
BandsRegion::Region | regionOfVerticalSpeed (double vs) |
BandsRegion::Region | regionOfVerticalSpeed (double vs, const std::string &u) |
double | lastTimeToVerticalSpeedManeuver (const TrafficState &ac) |
double | lastTimeToVerticalSpeedManeuver (int ac_idx) |
double | lastTimeToVerticalSpeedManeuver (int ac_idx, const std::string &u) |
RecoveryInformation | verticalSpeedRecoveryInformation () |
void | peripheralVerticalSpeedBandsAircraft (std::vector< std::string > &acs, int region) |
void | peripheralVerticalSpeedBandsAircraft (std::vector< std::string > &acs, BandsRegion::Region region) |
double | verticalSpeedResolution (bool dir) |
double | verticalSpeedResolution (bool dir, const std::string &u) |
double | verticalSpeedRawResolution (bool dir) |
double | verticalSpeedRawResolution (bool dir, const std::string &u) |
bool | preferredVerticalSpeedUpOrDown () |
int | altitudeBandsLength () |
void | forceAltitudeBandsComputation () |
Interval | altitudeIntervalAt (int i) |
Interval | altitudeIntervalAt (int i, const std::string &u) |
BandsRegion::Region | altitudeRegionAt (int i) |
int | indexOfAltitude (double alt) |
int | indexOfAltitude (double alt, const std::string &u) |
BandsRegion::Region | regionOfAltitude (double alt) |
BandsRegion::Region | regionOfAltitude (double alt, const std::string &u) |
double | lastTimeToAltitudeManeuver (const TrafficState &ac) |
double | lastTimeToAltitudeManeuver (int ac_idx) |
double | lastTimeToAltitudeManeuver (int ac_idx, const std::string &u) |
RecoveryInformation | altitudeRecoveryInformation () |
void | peripheralAltitudeBandsAircraft (std::vector< std::string > &acs, int region) |
void | peripheralAltitudeBandsAircraft (std::vector< std::string > &acs, BandsRegion::Region region) |
double | altitudeResolution (bool dir) |
double | altitudeResolution (bool dir, const std::string &u) |
double | altitudeRawResolution (bool dir) |
double | altitudeRawResolution (bool dir, const std::string &u) |
bool | preferredAltitudeUpOrDown () |
int | alertLevel (int ac_idx, int turning, int accelerating, int climbing) |
int | alertLevel (int ac_idx) |
ConflictData | violationOfAlertThresholds (int ac_idx, int alert_level) |
ConflictData | violationOfAlertThresholds (int ac_idx, BandsRegion::Region region) |
ConflictData | violationOfCorrectiveThresholds (int ac_idx) |
double | timeToCorrectiveVolume (int ac_idx) |
BandsRegion::Region | regionOfAlertLevel (int ac_idx, int alert_level) |
int | alertLevelOfRegion (int ac_idx, int region) |
int | alertLevelOfRegion (int ac_idx, BandsRegion::Region region) |
double | currentHorizontalSeparation (int ac_idx) const |
double | currentHorizontalSeparation (int ac_idx, const std::string &u) const |
double | currentVerticalSeparation (int ac_idx) const |
double | currentVerticalSeparation (int ac_idx, const std::string &u) const |
double | horizontalClosureRate (int ac_idx) const |
double | horizontalClosureRate (int ac_idx, const std::string &u) const |
double | verticalClosureRate (int ac_idx) const |
double | verticalClosureRate (int ac_idx, const std::string &u) const |
double | predictedHorizontalMissDistance (int ac_idx) const |
double | predictedHorizontalMissDistance (int ac_idx, const std::string &u) const |
double | predictedVerticalMissDistance (int ac_idx) const |
double | predictedVerticalMissDistance (int ac_idx, const std::string &u) const |
double | timeToHorizontalClosestPointOfApproach (int ac_idx) const |
double | timeToHorizontalClosestPointOfApproach (int ac_idx, const std::string &u) const |
double | distanceAtHorizontalClosestPointOfApproach (int ac_idx) const |
double | distanceAtHorizontalClosestPointOfApproach (int ac_idx, const std::string &u) const |
double | timeToCoAltitude (int ac_idx) const |
double | timeToCoAltitude (int ac_idx, const std::string &u) const |
double | modifiedTau (int ac_idx, double DMOD) const |
double | modifiedTau (int ac_idx, double DMOD, const std::string &DMODu, const std::string &u) const |
std::string | outputStringAircraftStates () const |
std::string | rawString () const |
std::string | toString () const |
std::string | outputStringInfo () |
std::string | outputStringAlerting () |
std::string | outputStringDirectionBands () |
std::string | outputStringHorizontalSpeedBands () |
std::string | outputStringVerticalSpeedBands () |
std::string | outputStringAltitudeBands () |
std::string | outputStringLastTimeToManeuver () |
std::string | outputString () |
std::string | toPVS (bool parameters) |
std::string | toPVS () |
bool | hasError () const |
bool | hasMessage () const |
std::string | getMessage () |
std::string | getMessageNoClear () const |
virtual void | setOwnship (const std::string &id, const Position &pos, const Velocity &vel) |
virtual void | setOwnship (const Position &pos, const Velocity &vel) |
void | addTraffic (const std::string &id, const Position &pos, const Velocity &vel) |
void | addTraffic (const Position &pos, const Velocity &vel) |
int | alerting (int ac_idx) |
virtual void | setMaxGroundSpeed (double gs, const std::string &unit) |
virtual double | getMaxGroundSpeed (const std::string &unit) const |
virtual int | trackLength () |
virtual Interval | track (int i, const std::string &unit) |
virtual BandsRegion::Region | trackRegion (int i) |
virtual BandsRegion::Region | regionOfTrack (double trk, const std::string &unit) |
virtual int | groundSpeedLength () |
virtual Interval | groundSpeed (int i, const std::string &unit) |
virtual BandsRegion::Region | groundSpeedRegion (int i) |
virtual BandsRegion::Region | regionOfGroundSpeed (double gs, const std::string &unit) |
virtual int | verticalSpeedLength () |
virtual Interval | verticalSpeed (int i, const std::string &unit) |
virtual BandsRegion::Region | verticalSpeedRegion (int i) |
Static Public Member Functions | |
static std::string | release () |
Private Member Functions | |
void | stale_bands () |
Private Attributes | |
ErrorLog | error |
DaidalusCore | core_ |
DaidalusDirBands | hdir_band_ |
DaidalusHsBands | hs_band_ |
DaidalusVsBands | vs_band_ |
DaidalusAltBands | alt_band_ |
Objects of class "Daidalus" compute the conflict bands using kinematic single-maneuver projections of the ownship and linear preditions of (multiple) traffic aircraft positions. The bands consist of ranges of guidance maneuvers: direction angles, horizontal speeds, vertical speeds, and altitude.
An assumption of the bands information is that the traffic aircraft do not maneuver. If the ownship immediately executes a NONE guidance maneuver, then the new path is conflict free (within a lookahead time of the parameter). If the ownship immediately executes a NEAR/MID/FAR guidance maneuver and no traffic aircraft maneuvers, then there will corresponding alert within the corresponding alerting level thresholds.
If recovery bands are set and the ownship is in a violation path, loss of separation recovery bands and recovery times are computed for each type of maneuver. If the ownship immediately executes a RECOVERY guidance maneuver, then the new path is conflict-free after the recovery time. Furthermore, the recovery time is the minimum time for which there exists a kinematic conflict-free maneuver in the future.
Note that in the case of geodetic coordinates this version of bands performs an internal projection of the coordinates and velocities into the Euclidean frame (see Util/Projection). Accuracy may be reduced if the traffic plans involve any segments longer than Util.Projection.projectionConflictRange(lat,acc), and an error will be logged if the distance between traffic and ownship exceeds Util.Projection.projectionMaxRange() at any point in the lookahead range.
Disclaimers: The formal proofs of the core algorithms use real numbers, however these implementations use floating point numbers, so numerical differences could result. In addition, the geodetic computations include certain inaccuracies, especially near the poles.
The basic usage is
Daidalus daa = new Daidalus(); daa.loadFromFile(<configurationfile>); ... daa.setOwnshipState(position of ownship, velocity of ownship); daa.addTrafficState(position of (one) traffic aircraft, velocity of traffic); daa.addTrafficState(position of (another) traffic aircraft, velocity of traffic); ...add other traffic aircraft... for (int i = 0; i < daa.horizontalDirectionBandsLength(); i++ ) { interval = daa.horizontalDirectionIntervalAt(i); lower_ang = intrval.low; upper_ang = intrval.up; regionType = daa.horizontalDirectionRegionAt(i); ..do something with this information.. } ...similar for horizontal speed and vertical speed...
larcfm::Daidalus::Daidalus | ( | ) |
Construct an empty Daidalus object. NOTE: This object doesn't have any alert configured. Alerters can be configured either programmatically, set_DO_365B() or via a configuration file with the method loadFromFile(configurationfile)
larcfm::Daidalus::Daidalus | ( | const Alerter & | alerter | ) |
Construct a Daidalus object with initial alerter.
larcfm::Daidalus::Daidalus | ( | const Detection3D * | det, |
double | T | ||
) |
Construct a Daidalus object with the default parameters and one alerter with the given detector and T (in seconds) as the alerting time, early alerting time, and lookahead time.
int larcfm::Daidalus::addAlerter | ( | const Alerter & | alerter | ) |
Add alerter (if id of alerter already exists, replaces alerter with new one). Return index of added alerter
Add alert thresholds
@Deprecated Use addTrafficState instead Add traffic state at current time. If it's the first aircraft, this aircraft is set as the ownship. Name of aircraft is AC_n, where n is the index of the aicraft
pos | Aircraft's position |
vel | Aircraft's ground velocity Same function as addTrafficState, but it doesn't return index of added traffic. |
|
inlinevirtual |
@Deprecated Add traffic state at current time. If it's the first aircraft, this aircraft is set as the ownship.
id | Aircraft's identifier |
pos | Aircraft's position |
vel | Aircraft's ground velocity Same function as addTrafficState, but it doesn't return index of added traffic. This is neeeded for compatibility with GenericBands |
Implements larcfm::GenericStateBands.
int larcfm::Daidalus::addTrafficState | ( | const std::string & | id, |
const Position & | pos, | ||
const Velocity & | vel | ||
) |
Add traffic state at current time. If it's the first aircraft, this aircraft is set as the ownship.
id | Aircraft's identifier |
pos | Aircraft's position |
vel | Aircraft's ground velocity |
int larcfm::Daidalus::addTrafficState | ( | const std::string & | id, |
const Position & | pos, | ||
const Velocity & | vel, | ||
double | time | ||
) |
Add traffic state at given time. If time is different from current time, traffic state is projected, past or future, into current time. If it's the first aircraft, this aircraft is set as the ownship.
id | Aircraft's identifier |
pos | Aircraft's position |
vel | Aircraft's ground velocity |
time | Time stamp of aircraft's state |
int larcfm::Daidalus::aircraftIndex | ( | const std::string & | name | ) | const |
Get index of aircraft with given name. Return -1 if no such index exists
int larcfm::Daidalus::alerterIndexBasedOnAlertingLogic | ( | int | ac_idx | ) |
Return alert index used for the traffic aircraft at index ac_idx. The alert index depends on alerting logic. If ownship centric, it returns the alert index of ownship. Otherwise, it returns the alert index of the traffic aircraft at ac_idx.
|
inline |
@Deprecated Use alertLevel instead
int larcfm::Daidalus::alertLevel | ( | int | ac_idx | ) |
Computes alert level of ownship and aircraft at index idx. The number 0 means no alert. A negative number means that aircraft index is not valid.
int larcfm::Daidalus::alertLevel | ( | int | ac_idx, |
int | turning, | ||
int | accelerating, | ||
int | climbing | ||
) |
Computes alerting type of ownship and aircraft at index ac_idx for current aircraft states. The number 0 means no alert. A negative number means that aircraft index is not valid. When the alerter object has been configured to consider ownship maneuvers, i.e., using spread values, the alerting logic could also use information about the ownship turning, accelerating, and climbing status as follows:
int larcfm::Daidalus::alertLevelOfRegion | ( | int | ac_idx, |
BandsRegion::Region | region | ||
) |
int larcfm::Daidalus::alertLevelOfRegion | ( | int | ac_idx, |
int | region | ||
) |
int larcfm::Daidalus::altitudeBandsLength | ( | ) |
Interval larcfm::Daidalus::altitudeIntervalAt | ( | int | i | ) |
i | index |
Interval larcfm::Daidalus::altitudeIntervalAt | ( | int | i, |
const std::string & | u | ||
) |
i | index |
u | units |
double larcfm::Daidalus::altitudeRawResolution | ( | bool | dir | ) |
Compute altitude raw resolution maneuver for given direction. Raw resolution is the resolution without persistence @parameter dir is up (true)/down (false) of ownship current altitude
double larcfm::Daidalus::altitudeRawResolution | ( | bool | dir, |
const std::string & | u | ||
) |
Compute altitude raw resolution maneuver for given direction. Raw resolution is the resolution without persistence @parameter dir is up (true)/down (false) of ownship current altitude @parameter u units
RecoveryInformation larcfm::Daidalus::altitudeRecoveryInformation | ( | ) |
BandsRegion::Region larcfm::Daidalus::altitudeRegionAt | ( | int | i | ) |
i | index |
double larcfm::Daidalus::altitudeResolution | ( | bool | dir | ) |
Compute altitude resolution maneuver for given direction. @parameter dir is up (true)/down (false) of ownship current altitude
double larcfm::Daidalus::altitudeResolution | ( | bool | dir, |
const std::string & | u | ||
) |
Compute altitude resolution maneuver for given direction. @parameter dir is up (true)/down (false) of ownship current altitude @parameter u units
|
virtual |
Clear ownship and traffic state data from this object. IMPORTANT: This method reset cache and hysteresis parameters.
Implements larcfm::GenericBands.
void larcfm::Daidalus::clearAlerters | ( | ) |
Clear all alert thresholds
void larcfm::Daidalus::clearHysteresis | ( | ) |
Clear hysteresis data
void larcfm::Daidalus::conflictBandsAircraft | ( | std::vector< std::string > & | acs, |
BandsRegion::Region | region | ||
) |
Compute in acs list of aircraft identifiers contributing to conflict bands for given conflict bands region.
void larcfm::Daidalus::conflictBandsAircraft | ( | std::vector< std::string > & | acs, |
int | region | ||
) |
Compute in acs list of aircraft identifiers contributing to conflict bands for given conflict bands region. 1 = FAR, 2 = MID, 3 = NEAR.
int larcfm::Daidalus::correctiveAlertLevel | ( | int | alerter_idx | ) |
alerter_idx | Indice of an alerter (starting from 1) |
double larcfm::Daidalus::currentHorizontalSeparation | ( | int | ac_idx | ) | const |
Returns current horizontal separation, in internal units, with aircraft at index ac_idx. Returns NaN if aircraft index is not valid
double larcfm::Daidalus::currentHorizontalSeparation | ( | int | ac_idx, |
const std::string & | u | ||
) | const |
Returns current horizontal separation, in given units, with aircraft at index ac_idx. Returns NaN if aircraft index is not valid
double larcfm::Daidalus::currentVerticalSeparation | ( | int | ac_idx | ) | const |
Returns current vertical separation, in internal units, with aircraft at index ac_idx. Returns NaN if aircraft index is not valid
double larcfm::Daidalus::currentVerticalSeparation | ( | int | ac_idx, |
const std::string & | u | ||
) | const |
Returns current vertical separation, in given units, with aircraft at index ac_idx. Returns NaN if aircraft index is not valid
void larcfm::Daidalus::disableBandsPersistence | ( | ) |
Disable bands persistence
void larcfm::Daidalus::disableCollisionAvoidanceBands | ( | ) |
Disable collision avoidance bands.
void larcfm::Daidalus::disableConflictCriteria | ( | ) |
Disable repulsive criteria for conflict bands.
void larcfm::Daidalus::disableDTALogic | ( | ) |
Disable DAA Terminal Area (DTA) logic
void larcfm::Daidalus::disableHysteresis | ( | ) |
Disable hysteresis parameters
void larcfm::Daidalus::disableRecoveryBands | ( | ) |
Disable all recovery bands for direction, horizontal speed, vertical speed, and altitude.
void larcfm::Daidalus::disableRecoveryCriteria | ( | ) |
Disable repulsive criteria for recovery bands.
void larcfm::Daidalus::disableRelativeAltitude | ( | ) |
Disable relative altitude bands
void larcfm::Daidalus::disableRelativeHorizontalSpeedBands | ( | ) |
Disable relative horizontal speed bands
void larcfm::Daidalus::disableRelativeVerticalSpeedBands | ( | ) |
Disable relative vertical speed bands
void larcfm::Daidalus::disableRepulsiveCriteria | ( | ) |
Disable repulsive criteria for conflict and recovery bands.
double larcfm::Daidalus::distanceAtHorizontalClosestPointOfApproach | ( | int | ac_idx | ) | const |
Returns distance, in internal units, at horizontal closest point of approach with aircraft at index ac_idx, assuming straight line trajectory. If aircraft are diverging, the returned distance is current horizontal separation. Returns NaN if aircraft index is not valid
double larcfm::Daidalus::distanceAtHorizontalClosestPointOfApproach | ( | int | ac_idx, |
const std::string & | u | ||
) | const |
Returns distance, in given units, at horizontal closest point of approach with aircraft at index ac_idx, assuming straight line trajectory. If aircraft are diverging, the returned distance is current horizontal separation. Returns NaN if aircraft index is not valid
void larcfm::Daidalus::enableBandsPersistence | ( | ) |
Enable bands persistence
void larcfm::Daidalus::enableCollisionAvoidanceBands | ( | ) |
Enable collision avoidance bands.
void larcfm::Daidalus::enableConflictCriteria | ( | ) |
Enable repulsive criteria for conflict bands.
void larcfm::Daidalus::enableDTALogicWithHorizontalDirRecovery | ( | ) |
Enable DAA Terminal Area (DTA) logic with horizontal direction recovery guidance, i.e., horizontal direction recovery is fully enabled, but vertical recovery blocks down resolutions when alert is higher than corrective. NOTE: When DTA logic is enabled, DAIDALUS automatically switches to DTA alerter and to special maneuver guidance, when aircraft enters DTA volume (depending on ownship- vs intruder-centric logic).
void larcfm::Daidalus::enableDTALogicWithoutHorizontalDirRecovery | ( | ) |
Enable DAA Terminal Area (DTA) logic withou horizontal direction recovery guidance, i.e., horizontal direction recovery is disabled and vertical recovery blocks down resolutions when alert is higher than corrective. NOTE: When DTA logic is enabled, DAIDALUS automatically switches to DTA alerter and to special maneuver guidance, when aircraft enters DTA volume (depending on ownship- vs intruder-centric logic).
void larcfm::Daidalus::enableRecoveryBands | ( | ) |
Enable all recovery bands for direction, horizontal speed, vertical speed, and altitude.
void larcfm::Daidalus::enableRecoveryCriteria | ( | ) |
Enable repulsive criteria for recovery bands.
void larcfm::Daidalus::enableRepulsiveCriteria | ( | ) |
Enable repulsive criteria for conflict and recovery bands.
void larcfm::Daidalus::forceAltitudeBandsComputation | ( | ) |
Force computation of altitude bands. Usually, bands are only computed when needed. This method forces the computation of altitude bands (this method is included mainly for debugging purposes).
void larcfm::Daidalus::forceHorizontalDirectionBandsComputation | ( | ) |
Force computation of direction bands. Usually, bands are only computed when needed. This method forces the computation of direction bands (this method is included mainly for debugging purposes).
void larcfm::Daidalus::forceHorizontalSpeedBandsComputation | ( | ) |
Force computation of horizontal speed bands. Usually, bands are only computed when needed. This method forces the computation of horizontal speed bands (this method is included mainly for debugging purposes).
void larcfm::Daidalus::forceVerticalSpeedBandsComputation | ( | ) |
Force computation of vertical speed bands. Usually, bands are only computed when needed. This method forces the computation of vertical speed bands (this method is included mainly for debugging purposes).
double larcfm::Daidalus::getAboveRelativeAltitude | ( | ) | const |
double larcfm::Daidalus::getAboveRelativeAltitude | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getAboveRelativeHorizontalSpeed | ( | ) | const |
double larcfm::Daidalus::getAboveRelativeHorizontalSpeed | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getAboveRelativeVerticalSpeed | ( | ) | const |
double larcfm::Daidalus::getAboveRelativeVerticalSpeed | ( | const std::string & | u | ) | const |
const TrafficState & larcfm::Daidalus::getAircraftStateAt | ( | int | idx | ) | const |
Returns state of aircraft at index idx
const Alerter & larcfm::Daidalus::getAlerterAt | ( | int | i | ) | const |
Return alerter at index i (starting from 1).
int larcfm::Daidalus::getAlerterIndex | ( | std::string | id | ) | const |
Return index of alerter with a given name. Return 0 if it doesn't exist
int larcfm::Daidalus::getAlertingParameterM | ( | ) | const |
int larcfm::Daidalus::getAlertingParameterN | ( | ) | const |
double larcfm::Daidalus::getAltitudeStep | ( | ) | const |
double larcfm::Daidalus::getAltitudeStep | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getBankAngle | ( | ) | const |
double larcfm::Daidalus::getBankAngle | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getBelowRelativeAltitude | ( | ) | const |
double larcfm::Daidalus::getBelowRelativeAltitude | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getBelowRelativeHorizontalSpeed | ( | ) | const |
double larcfm::Daidalus::getBelowRelativeHorizontalSpeed | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getBelowRelativeVerticalSpeed | ( | ) | const |
double larcfm::Daidalus::getBelowRelativeVerticalSpeed | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getCollisionAvoidanceBandsFactor | ( | ) | const |
const DaidalusCore & larcfm::Daidalus::getCore | ( | ) |
Return core object of bands. For expert users only DO NOT USE IT, UNLESS YOU KNOW WHAT YOU ARE DOING. EXPERT USE ONLY !!!
BandsRegion::Region larcfm::Daidalus::getCorrectiveRegion | ( | ) | const |
Get corrective region for calculation of resolution maneuvers and bands saturation.
double larcfm::Daidalus::getCurrentTime | ( | ) | const |
Return currrent time in seconds. Current time is the time of the ownship.
double larcfm::Daidalus::getCurrentTime | ( | const std::string & | u | ) | const |
Return currrent time in specified units. Current time is the time of the ownship.
int larcfm::Daidalus::getDTAAlerter | ( | ) | const |
Get DAA Terminal Area (DTA) alerter
double larcfm::Daidalus::getDTAHeight | ( | ) | const |
Get DAA Terminal Area (DTA) height (internal units)
double larcfm::Daidalus::getDTAHeight | ( | const std::string & | u | ) | const |
Get DAA Terminal Area (DTA) height in given units
const Position & larcfm::Daidalus::getDTAPosition | ( | ) | const |
Get DAA Terminal Area (DTA) position (lat/lon)
double larcfm::Daidalus::getDTARadius | ( | ) | const |
Get DAA Terminal Area (DTA) radius (internal units)
double larcfm::Daidalus::getDTARadius | ( | const std::string & | u | ) | const |
Get DAA Terminal Area (DTA) radius in given units
double larcfm::Daidalus::getHorizontalAcceleration | ( | ) | const |
double larcfm::Daidalus::getHorizontalAcceleration | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getHorizontalContourThreshold | ( | ) | const |
Get horizontal contour threshold, specified in internal units [rad] as an angle to the left/right of current aircraft direction. A value of 0 means only conflict contours. A value of pi means all contours.
double larcfm::Daidalus::getHorizontalContourThreshold | ( | std::string | u | ) | const |
Get horizontal contour threshold, specified in given units [u] as an angle to the left/right of current aircraft direction. A value of 0 means only conflict contours. A value of pi means all contours.
double larcfm::Daidalus::getHorizontalDirectionStep | ( | ) | const |
double larcfm::Daidalus::getHorizontalDirectionStep | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getHorizontalNMAC | ( | ) | const |
double larcfm::Daidalus::getHorizontalNMAC | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getHorizontalPositionZScore | ( | ) | const |
double larcfm::Daidalus::getHorizontalSpeedStep | ( | ) | const |
double larcfm::Daidalus::getHorizontalSpeedStep | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getHorizontalVelocityZDistance | ( | ) | const |
double larcfm::Daidalus::getHorizontalVelocityZDistance | ( | std::string | u | ) | const |
double larcfm::Daidalus::getHorizontalVelocityZScoreMax | ( | ) | const |
double larcfm::Daidalus::getHorizontalVelocityZScoreMin | ( | ) | const |
double larcfm::Daidalus::getHysteresisTime | ( | ) | const |
double larcfm::Daidalus::getHysteresisTime | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getLeftHorizontalDirection | ( | ) | const |
double larcfm::Daidalus::getLeftHorizontalDirection | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getLookaheadTime | ( | ) | const |
|
virtual |
Implements larcfm::GenericBands.
double larcfm::Daidalus::getMaxAltitude | ( | ) | const |
double larcfm::Daidalus::getMaxAltitude | ( | const std::string & | u | ) | const |
|
inlinevirtual |
@Deprecated Use getMaxHorizontalSpeed instead
Implements larcfm::GenericBands.
double larcfm::Daidalus::getMaxHorizontalSpeed | ( | ) | const |
double larcfm::Daidalus::getMaxHorizontalSpeed | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getMaxVerticalSpeed | ( | ) | const |
|
virtual |
Implements larcfm::GenericBands.
|
virtual |
Return a string representation of any errors or warnings. Calling this method will clear any messages and reset both the error and warning status to none.
Implements larcfm::ErrorReporter.
|
virtual |
Return a string representation of any errors or warnings. Calling this method will not clear the error or warning status (i.e., hasError() will return the same value before and after this call.)
Implements larcfm::ErrorReporter.
double larcfm::Daidalus::getMinAltitude | ( | ) | const |
double larcfm::Daidalus::getMinAltitude | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getMinHorizontalRecovery | ( | ) | const |
double larcfm::Daidalus::getMinHorizontalRecovery | ( | const std::string & | u | ) | const |
Return minimum horizontal separation for recovery bands in specified units [u]
double larcfm::Daidalus::getMinHorizontalSpeed | ( | ) | const |
double larcfm::Daidalus::getMinHorizontalSpeed | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getMinVerticalRecovery | ( | ) | const |
double larcfm::Daidalus::getMinVerticalRecovery | ( | const std::string & | u | ) | const |
Return minimum vertical separation for recovery bands in specified units [u].
double larcfm::Daidalus::getMinVerticalSpeed | ( | ) | const |
double larcfm::Daidalus::getMinVerticalSpeed | ( | const std::string & | u | ) | const |
const TrafficState & larcfm::Daidalus::getOwnshipState | ( | ) | const |
Returns state of ownship.
double larcfm::Daidalus::getPersistencePreferredAltitudeResolution | ( | ) | const |
double larcfm::Daidalus::getPersistencePreferredAltitudeResolution | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getPersistencePreferredHorizontalDirectionResolution | ( | ) | const |
double larcfm::Daidalus::getPersistencePreferredHorizontalDirectionResolution | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getPersistencePreferredHorizontalSpeedResolution | ( | ) | const |
double larcfm::Daidalus::getPersistencePreferredHorizontalSpeedResolution | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getPersistencePreferredVerticalSpeedResolution | ( | ) | const |
double larcfm::Daidalus::getPersistencePreferredVerticalSpeedResolution | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getPersistenceTime | ( | ) | const |
double larcfm::Daidalus::getPersistenceTime | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getRecoveryStabilityTime | ( | ) | const |
double larcfm::Daidalus::getRecoveryStabilityTime | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getRightHorizontalDirection | ( | ) | const |
double larcfm::Daidalus::getRightHorizontalDirection | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getTurnRate | ( | ) | const |
double larcfm::Daidalus::getTurnRate | ( | const std::string & | u | ) | const |
std::string larcfm::Daidalus::getUnitsOf | ( | const std::string & | key | ) | const |
Get std::string units of parameters key
const UrgencyStrategy * larcfm::Daidalus::getUrgencyStrategy | ( | ) | const |
double larcfm::Daidalus::getVerticalAcceleration | ( | ) | const |
double larcfm::Daidalus::getVerticalAcceleration | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getVerticalNMAC | ( | ) | const |
double larcfm::Daidalus::getVerticalNMAC | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getVerticalPositionZScore | ( | ) | const |
double larcfm::Daidalus::getVerticalRate | ( | ) | const |
double larcfm::Daidalus::getVerticalRate | ( | std::string | u | ) | const |
double larcfm::Daidalus::getVerticalSpeedStep | ( | ) | const |
double larcfm::Daidalus::getVerticalSpeedStep | ( | const std::string & | u | ) | const |
double larcfm::Daidalus::getVerticalSpeedZScore | ( | ) | const |
Velocity larcfm::Daidalus::getWindVelocityFrom | ( | ) | const |
Get wind velocity specified in the From direction
const Velocity & larcfm::Daidalus::getWindVelocityTo | ( | ) | const |
Get wind velocity specified in the TO direction
|
inlinevirtual |
@Deprecated Use horizontalSpeedIntervalAt instead
Implements larcfm::GenericBands.
|
inlinevirtual |
@Deprecated Use horizontalSpeedBandsLength instead
Implements larcfm::GenericBands.
|
inlinevirtual |
@Deprecated Use horizontalSpeedRegionAt instead
Implements larcfm::GenericBands.
|
virtual |
|
virtual |
Does this object have an error or a warning?
Implements larcfm::ErrorReporter.
bool larcfm::Daidalus::hasOwnship | ( | ) | const |
bool larcfm::Daidalus::hasTraffic | ( | ) | const |
double larcfm::Daidalus::horizontalClosureRate | ( | int | ac_idx | ) | const |
Returns horizontal closure rate, in internal units, with aircraft at index ac_idx. Returns NaN if aircraft index is not valid
double larcfm::Daidalus::horizontalClosureRate | ( | int | ac_idx, |
const std::string & | u | ||
) | const |
Returns current closure rate, in given units, with aircraft at index ac_idx. Returns NaN if aircraft index is not valid
void larcfm::Daidalus::horizontalContours | ( | std::vector< std::vector< Position > > & | blobs, |
int | ac_idx, | ||
BandsRegion::Region | region | ||
) |
Computes horizontal contours contributed by aircraft at index idx, for given region. A contour is a list of points in counter-clockwise direction representing a polygon. Last point should be connected to first one. The computed polygon should only be used for display purposes since it's merely an approximation of the actual contours defined by the violation and detection methods.
blobs | list of horizontal contours returned by reference. |
ac_idx | is the index of the aircraft used to compute the contours. |
region | is the region used to compute detection. |
void larcfm::Daidalus::horizontalContours | ( | std::vector< std::vector< Position > > & | blobs, |
int | ac_idx, | ||
int | alert_level = 0 |
||
) |
Computes horizontal contours contributed by aircraft at index idx, for given alert level. A contour is a list of points in counter-clockwise direction representing a polygon. Last point should be connected to first one. The computed polygon should only be used for display purposes since it's merely an approximation of the actual contours defined by the violation and detection methods.
blobs | list of horizontal contours returned by reference. |
ac_idx | is the index of the aircraft used to compute the contours. |
alert_level | is the alert level used to compute detection. The value 0 indicate the alert level of the corrective region. |
int larcfm::Daidalus::horizontalDirectionBandsLength | ( | ) |
Interval larcfm::Daidalus::horizontalDirectionIntervalAt | ( | int | i | ) |
i | index |
Interval larcfm::Daidalus::horizontalDirectionIntervalAt | ( | int | i, |
const std::string & | u | ||
) |
i | index |
u | units |
double larcfm::Daidalus::horizontalDirectionRawResolution | ( | bool | dir | ) |
Compute horizontal direction raw resolution maneuver for a given direction. Raw resolution is the resolution without persistence @parameter dir is right (true)/left (false) of ownship current direction
double larcfm::Daidalus::horizontalDirectionRawResolution | ( | bool | dir, |
const std::string & | u | ||
) |
Compute horizontal direction raw resolution maneuver for a given direction. Raw resolution is the resolution without persistence @parameter dir is right (true)/left (false) of ownship current direction @parameter u units
RecoveryInformation larcfm::Daidalus::horizontalDirectionRecoveryInformation | ( | ) |
BandsRegion::Region larcfm::Daidalus::horizontalDirectionRegionAt | ( | int | i | ) |
i | index |
double larcfm::Daidalus::horizontalDirectionResolution | ( | bool | dir | ) |
Compute horizontal direction resolution maneuver for a given direction. @parameter dir is right (true)/left (false) of ownship current direction
double larcfm::Daidalus::horizontalDirectionResolution | ( | bool | dir, |
const std::string & | u | ||
) |
Compute horizontal direction resolution maneuver for a given direction. @parameter dir is right (true)/left (false) of ownship current direction @parameter u units
void larcfm::Daidalus::horizontalHazardZone | ( | std::vector< Position > & | haz, |
int | ac_idx, | ||
bool | loss, | ||
bool | from_ownship, | ||
BandsRegion::Region | region | ||
) |
Computes horizontal hazard zone around aircraft at index ac_idx, for given region. A hazard zone is a list of points in counter-clockwise direction representing a polygon. Last point should be connected to first one.
haz | hazard zone returned by reference. |
ac_idx | is the index of the aircraft used to compute the contours. |
loss | true means that the polygon represents the hazard zone. Otherwise, the polygon represents the hazard zone with an alerting time. |
from_ownship | true means ownship point of view. Otherwise, the hazard zone is computed from the intruder's point of view. |
region | is the region used to compute detection. NOTE: The computed polygon should only be used for display purposes since it's merely an approximation of the actual hazard zone defined by the violation and detection methods. |
void larcfm::Daidalus::horizontalHazardZone | ( | std::vector< Position > & | haz, |
int | ac_idx, | ||
bool | loss, | ||
bool | from_ownship, | ||
int | alert_level = 0 |
||
) |
Computes horizontal hazard zone around aircraft at index ac_idx, for given alert level. A hazard zone is a list of points in counter-clockwise direction representing a polygon. Last point should be connected to first one.
haz | hazard zone returned by reference. |
ac_idx | is the index of the aircraft used to compute the contours. |
loss | true means that the polygon represents the hazard zone. Otherwise, the polygon represents the hazard zone with an alerting time. |
from_ownship | true means ownship point of view. Otherwise, the hazard zone is computed from the intruder's point of view. |
alert_level | is the alert level used to compute detection. The value 0 indicate the alert level of the corrective region. NOTE: The computed polygon should only be used for display purposes since it's merely an approximation of the actual hazard zone defined by the violation and detection methods. |
int larcfm::Daidalus::horizontalSpeedBandsLength | ( | ) |
Interval larcfm::Daidalus::horizontalSpeedIntervalAt | ( | int | i | ) |
i | index |
Interval larcfm::Daidalus::horizontalSpeedIntervalAt | ( | int | i, |
const std::string & | u | ||
) |
i | index |
u | units |
double larcfm::Daidalus::horizontalSpeedRawResolution | ( | bool | dir | ) |
Compute horizontal speed raw resolution maneuver. Raw resolution is the resolution without persistence @parameter dir is up (true)/down (false) of ownship current horizontal speed
double larcfm::Daidalus::horizontalSpeedRawResolution | ( | bool | dir, |
const std::string & | u | ||
) |
Compute horizontal speed raw resolution maneuver for corrective region. Raw resolution is the resolution without persistence @parameter dir is up (true)/down (false) of ownship current horizontal speed @parameter u units
RecoveryInformation larcfm::Daidalus::horizontalSpeedRecoveryInformation | ( | ) |
BandsRegion::Region larcfm::Daidalus::horizontalSpeedRegionAt | ( | int | i | ) |
i | index |
double larcfm::Daidalus::horizontalSpeedResolution | ( | bool | dir | ) |
Compute horizontal speed resolution maneuver. @parameter dir is up (true)/down (false) of ownship current horizontal speed
double larcfm::Daidalus::horizontalSpeedResolution | ( | bool | dir, |
const std::string & | u | ||
) |
Compute horizontal speed resolution maneuver for corrective region. @parameter dir is up (true)/down (false) of ownship current horizontal speed @parameter u units
int larcfm::Daidalus::indexOfAltitude | ( | double | alt | ) |
alt | [m] |
int larcfm::Daidalus::indexOfAltitude | ( | double | alt, |
const std::string & | u | ||
) |
alt | [u] |
u | Units |
int larcfm::Daidalus::indexOfHorizontalDirection | ( | double | dir | ) |
dir | [rad] |
int larcfm::Daidalus::indexOfHorizontalDirection | ( | double | dir, |
const std::string & | u | ||
) |
dir | [u] |
u | Units |
int larcfm::Daidalus::indexOfHorizontalSpeed | ( | double | gs | ) |
gs | [m/s] |
int larcfm::Daidalus::indexOfHorizontalSpeed | ( | double | gs, |
const std::string & | u | ||
) |
gs | [u] |
u | Units |
int larcfm::Daidalus::indexOfVerticalSpeed | ( | double | vs | ) |
vs | [m/s] |
int larcfm::Daidalus::indexOfVerticalSpeed | ( | double | vs, |
const std::string & | u | ||
) |
vs | [u] |
u | Units |
bool larcfm::Daidalus::isActiveDTALogic | ( | ) |
Return true if DTA logic is active at current time
bool larcfm::Daidalus::isActiveDTASpecialManeuverGuidance | ( | ) |
Return true if DTA special maneuver guidance is active at current time
bool larcfm::Daidalus::isAlertingLogicOwnshipCentric | ( | ) | const |
bool larcfm::Daidalus::isDisabledDTALogic | ( | ) | const |
Return true if DAA Terminal Area (DTA) logic is disabled.
bool larcfm::Daidalus::isEnabledBandsPersistence | ( | ) | const |
bool larcfm::Daidalus::isEnabledCollisionAvoidanceBands | ( | ) |
bool larcfm::Daidalus::isEnabledConflictCriteria | ( | ) |
bool larcfm::Daidalus::isEnabledDTALogicWithHorizontalDirRecovery | ( | ) | const |
Return true if DAA Terminal Area (DTA) logic is enabled with horizontal direction recovery guidance. If true, horizontal direction recovery is fully enabled, but vertical recovery blocks down resolutions when alert is higher than corrective. NOTE: When DTA logic is enabled, DAIDALUS automatically switches to DTA alerter and to special maneuver guidance, when aircraft enters DTA volume (depending on ownship- vs intruder-centric logic).
bool larcfm::Daidalus::isEnabledDTALogicWithoutHorizontalDirRecovery | ( | ) | const |
Return true if DAA Terminal Area (DTA) logic is enabled without horizontal direction recovery guidance. If true, horizontal direction recovery is disabled and vertical recovery blocks down resolutions when alert is higher than corrective. NOTE: When DTA logic is enabled, DAIDALUS automatically switches to DTA alerter and to special maneuver guidance, when aircraft enters DTA volume (depending on ownship- vs intruder-centric logic).
bool larcfm::Daidalus::isEnabledRecoveryAltitudeBands | ( | ) |
bool larcfm::Daidalus::isEnabledRecoveryCriteria | ( | ) |
bool larcfm::Daidalus::isEnabledRecoveryHorizontalDirectionBands | ( | ) |
bool larcfm::Daidalus::isEnabledRecoveryHorizontalSpeedBands | ( | ) |
bool larcfm::Daidalus::isEnabledRecoveryVerticalSpeedBands | ( | ) |
|
virtual |
Returns whether the aircraft positions are specified in latitude/longitude or Euclidean coordinates. If the ownship has not been set, then this value is undefined.
Implements larcfm::GenericBands.
double larcfm::Daidalus::lastTimeToAltitudeManeuver | ( | const TrafficState & | ac | ) |
Return last time to altitude maneuver, in seconds, for ownship with respect to traffic aircraft ac. Return NaN if the ownship is not in conflict with aircraft ac within lookahead time. Return negative infinity if there is no time to maneuver.
double larcfm::Daidalus::lastTimeToAltitudeManeuver | ( | int | ac_idx | ) |
Return last time to altitude maneuver, in seconds, for ownship with respect to traffic aircraft at index ac_idx. Return positive infinity if the ownship is not in conflict with aircraft within lookahead time. Return negative infinity if there is no time to maneuver. Return NaN if ac_idx is not a valid index.
double larcfm::Daidalus::lastTimeToAltitudeManeuver | ( | int | ac_idx, |
const std::string & | u | ||
) |
Return last time to altitude maneuver, in given units, for ownship with respect to traffic aircraft at index ac_idx. Return positive infinity if the ownship is not in conflict with aircraft within lookahead time. Return negative infinity if there is no time to maneuver. Return NaN if ac_idx is not a valid index.
double larcfm::Daidalus::lastTimeToHorizontalDirectionManeuver | ( | const TrafficState & | ac | ) |
Return last time to direction maneuver, in seconds, for ownship with respect to traffic aircraft ac. Return NaN if the ownship is not in conflict with aircraft ac within lookahead time. Return negative infinity if there is no time to maneuver.
double larcfm::Daidalus::lastTimeToHorizontalDirectionManeuver | ( | int | ac_idx | ) |
Return last time to horizontal direction maneuver, in seconds, for ownship with respect to traffic aircraft at index ac_idx. Return positive infinity if the ownship is not in conflict with aircraft within lookahead time. Return negative infinity if there is no time to maneuver. Return NaN if ac_idx is not a valid index.
double larcfm::Daidalus::lastTimeToHorizontalDirectionManeuver | ( | int | ac_idx, |
const std::string & | u | ||
) |
Return last time to horizontal direction maneuver, in given units, for ownship with respect to traffic aircraft at index ac_idx. Return positive infinity if the ownship is not in conflict with aircraft within lookahead time. Return negative infinity if there is no time to maneuver. Return NaN if ac_idx is not a valid index.
double larcfm::Daidalus::lastTimeToHorizontalSpeedManeuver | ( | const TrafficState & | ac | ) |
Return last time to horizontal speed maneuver, in seconds, for ownship with respect to traffic aircraft ac. Return NaN if the ownship is not in conflict with aircraft ac within lookahead time. Return negative infinity if there is no time to maneuver.
double larcfm::Daidalus::lastTimeToHorizontalSpeedManeuver | ( | int | ac_idx | ) |
Return last time to horizontal speed maneuver, in seconds, for ownship with respect to traffic aircraft at index ac_idx. Return positive infinity if the ownship is not in conflict with aircraft within lookahead time. Return negative infinity if there is no time to maneuver. Return NaN if ac_idx is not a valid index.
double larcfm::Daidalus::lastTimeToHorizontalSpeedManeuver | ( | int | ac_idx, |
const std::string & | u | ||
) |
Return last time to horizontal speed maneuver, in given units, for ownship with respect to traffic aircraft at index ac_idx. Return positive infinity if the ownship is not in conflict with aircraft within lookahead time. Return negative infinity if there is no time to maneuver. Return NaN if ac_idx is not a valid index.
double larcfm::Daidalus::lastTimeToVerticalSpeedManeuver | ( | const TrafficState & | ac | ) |
Return last time to vertical speed maneuver, in seconds, for ownship with respect to traffic aircraft ac. Return NaN if the ownship is not in conflict with aircraft ac within lookahead time. Return negative infinity if there is no time to maneuver.
double larcfm::Daidalus::lastTimeToVerticalSpeedManeuver | ( | int | ac_idx | ) |
Return last time to vertical speed maneuver, in seconds, for ownship with respect to traffic aircraft at index ac_idx. Return positive infinity if the ownship is not in conflict with aircraft within lookahead time. Return negative infinity if there is no time to maneuver. Return NaN if ac_idx is not a valid index.
double larcfm::Daidalus::lastTimeToVerticalSpeedManeuver | ( | int | ac_idx, |
const std::string & | u | ||
) |
Return last time to vertical speed maneuver, in given units, for ownship with respect to traffic aircraft at index ac_idx. Return positive infinity if the ownship is not in conflict with aircraft within lookahead time. Return negative infinity if there is no time to maneuver. Return NaN if ac_idx is not a valid index.
int larcfm::Daidalus::lastTrafficIndex | ( | ) | const |
void larcfm::Daidalus::linearProjection | ( | double | offset | ) |
Project ownship and traffic aircraft offset seconds in the future (if positive) or in the past (if negative) EXPERT USE ONLY !!!
Project ownship and traffic aircraft offset seconds in the future (if positive) or in the past (if negative) XPERT USE ONLY !!!
bool larcfm::Daidalus::loadFromFile | ( | const std::string & | file | ) |
Load parameters from file.
int larcfm::Daidalus::maxAlertLevel | ( | ) | const |
double larcfm::Daidalus::modifiedTau | ( | int | ac_idx, |
double | DMOD | ||
) | const |
Returns modified tau time, in seconds, for distance DMOD (given in internal units), with respect to aircraft at index ac_idx. If aircraft are diverging or DMOD is greater than current range, returns -1. Returns NaN if aircraft index is not valid or if vertical closure is 0
double larcfm::Daidalus::modifiedTau | ( | int | ac_idx, |
double | DMOD, | ||
const std::string & | DMODu, | ||
const std::string & | u | ||
) | const |
Returns modified tau time, in given units, for distance DMOD (given in DMODu units), with respect to aircraft at index ac_idx. If aircraft are diverging or DMOD is greater than current range, returns -1. Returns NaN if aircraft index is not valid or if vertical closure is 0
int larcfm::Daidalus::mostSevereAlertLevel | ( | int | ac_idx | ) |
Returns most severe alert level for a given aircraft. Returns 0 if either the aircraft or the alerter is undefined.
TrafficState larcfm::Daidalus::mostUrgentAircraft | ( | ) |
int larcfm::Daidalus::numberOfAircraft | ( | ) | const |
int larcfm::Daidalus::numberOfAlerters | ( | ) | const |
Return number of alerters.
void larcfm::Daidalus::peripheralAltitudeBandsAircraft | ( | std::vector< std::string > & | acs, |
BandsRegion::Region | region | ||
) |
Compute in acs list of aircraft identifiers contributing to peripheral altitude bands for conflict bands region.
void larcfm::Daidalus::peripheralAltitudeBandsAircraft | ( | std::vector< std::string > & | acs, |
int | region | ||
) |
Compute in acs list of aircraft identifiers contributing to peripheral altitude bands for conflict bands region. 1 = FAR, 2 = MID, 3 = NEAR
void larcfm::Daidalus::peripheralHorizontalDirectionBandsAircraft | ( | std::vector< std::string > & | acs, |
BandsRegion::Region | region | ||
) |
Compute in acs list of aircraft identifiers contributing to peripheral horizontal direction bands for given conflict bands region.
void larcfm::Daidalus::peripheralHorizontalDirectionBandsAircraft | ( | std::vector< std::string > & | acs, |
int | region | ||
) |
Compute in acs list of aircraft identifiers contributing to peripheral horizontal direction bands for given conflict bands region. 1 = FAR, 2 = MID, 3 = NEAR
void larcfm::Daidalus::peripheralHorizontalSpeedBandsAircraft | ( | std::vector< std::string > & | acs, |
BandsRegion::Region | region | ||
) |
Compute in acs list of aircraft identifiers contributing to peripheral horizontal speed bands for given conflict bands region.
void larcfm::Daidalus::peripheralHorizontalSpeedBandsAircraft | ( | std::vector< std::string > & | acs, |
int | region | ||
) |
Compute in acs list of aircraft identifiers contributing to peripheral horizontal speed bands for given conflict bands region. 1 = FAR, 2 = MID, 3 = NEAR
void larcfm::Daidalus::peripheralVerticalSpeedBandsAircraft | ( | std::vector< std::string > & | acs, |
BandsRegion::Region | region | ||
) |
Compute in acs list of aircraft identifiers contributing to peripheral vertical speed bands for conflict bands region.
void larcfm::Daidalus::peripheralVerticalSpeedBandsAircraft | ( | std::vector< std::string > & | acs, |
int | region | ||
) |
Compute in acs list of aircraft identifiers contributing to peripheral vertical speed bands for conflict bands region. 1 = FAR, 2 = MID, 3 = NEAR
double larcfm::Daidalus::predictedHorizontalMissDistance | ( | int | ac_idx | ) | const |
Returns predicted HMD, in internal units, with aircraft at index ac_idx (up to lookahead time), assuming straight line trajectory. Returns NaN if aircraft index is not valid
double larcfm::Daidalus::predictedHorizontalMissDistance | ( | int | ac_idx, |
const std::string & | u | ||
) | const |
Returns predicted HMD, in provided units, with aircraft at index ac_idx (up to lookahead time), assuming straight line trajectory. Returns NaN if aircraft index is not valid
double larcfm::Daidalus::predictedVerticalMissDistance | ( | int | ac_idx | ) | const |
Returns predicted VMD, in internal units, with aircraft at index ac_idx (up to lookahead time), assuming straight line trajectory. Returns NaN if aircraft index is not valid
double larcfm::Daidalus::predictedVerticalMissDistance | ( | int | ac_idx, |
const std::string & | u | ||
) | const |
Returns predicted VMD, in provided units, with aircraft at index ac_idx (up to lookahead time), assuming straight line trajectory. Return NaN if aircraft index is not valid
bool larcfm::Daidalus::preferredAltitudeUpOrDown | ( | ) |
Compute preferred altitude direction on resolution that is closer to current altitude. True: Climb, False: Descend.
bool larcfm::Daidalus::preferredHorizontalDirectionRightOrLeft | ( | ) |
Compute preferred horizontal direction based on resolution that is closer to current direction.
bool larcfm::Daidalus::preferredHorizontalSpeedUpOrDown | ( | ) |
Compute preferred horizontal speed direction on resolution that is closer to current horizontal speed. True: Increase speed, False: Decrease speed.
bool larcfm::Daidalus::preferredVerticalSpeedUpOrDown | ( | ) |
Compute preferred vertical speed direction based on resolution that is closer to current vertical speed. True: Increase speed, False: Decrease speed.
BandsRegion::Region larcfm::Daidalus::regionOfAlertLevel | ( | int | ac_idx, |
int | alert_level | ||
) |
BandsRegion::Region larcfm::Daidalus::regionOfAltitude | ( | double | alt | ) |
alt | [m] |
BandsRegion::Region larcfm::Daidalus::regionOfAltitude | ( | double | alt, |
const std::string & | u | ||
) |
alt | [u] |
u | Units |
|
inlinevirtual |
@Deprecated Use regionOfHorizontalSpeed instead
Implements larcfm::GenericBands.
BandsRegion::Region larcfm::Daidalus::regionOfHorizontalDirection | ( | double | dir | ) |
dir | [rad] |
BandsRegion::Region larcfm::Daidalus::regionOfHorizontalDirection | ( | double | dir, |
const std::string & | u | ||
) |
dir | [u] |
u | Units |
BandsRegion::Region larcfm::Daidalus::regionOfHorizontalSpeed | ( | double | gs | ) |
gs | [m/s] |
BandsRegion::Region larcfm::Daidalus::regionOfHorizontalSpeed | ( | double | gs, |
const std::string & | u | ||
) |
gs | [u] |
u | Units |
|
inlinevirtual |
@Deprecated Use regionOfHorizontalDirection instead
Implements larcfm::GenericBands.
BandsRegion::Region larcfm::Daidalus::regionOfVerticalSpeed | ( | double | vs | ) |
vs | [m/s] |
|
virtual |
vs | [u] |
u | Units |
Implements larcfm::GenericBands.
|
static |
Return release version string
bool larcfm::Daidalus::removeTrafficAircraft | ( | const std::string & | name | ) |
Remove traffic from the list of aircraft. Returns false if no aircraft was removed. Ownship cannot be removed. If traffic is at index i, the indices of aircraft at k > i, are shifted to k-1. EXPERT USE ONLY !!!
void larcfm::Daidalus::reset | ( | ) |
Set cached values to stale conditions and clear hysteresis variables.
void larcfm::Daidalus::resetOwnship | ( | const std::string & | id | ) |
Exchange ownship aircraft with aircraft named id. EXPERT USE ONLY !!!
void larcfm::Daidalus::resetUncertainty | ( | int | ac_idx | ) |
Reset all uncertainties of aircraft at index ac_idx
bool larcfm::Daidalus::saveToFile | ( | const std::string & | file | ) |
Write parameters to file.
void larcfm::Daidalus::set_DO_365A | ( | bool | type = true , |
bool | sum = true |
||
) |
Set hysteresis parameters
Set SUM parameters
Set DTA parameters
void larcfm::Daidalus::setAboveRelativeAltitude | ( | double | val | ) |
Set altitude in internal units (above current value) for the computation of relative bands
void larcfm::Daidalus::setAboveRelativeAltitude | ( | double | val, |
const std::string & | u | ||
) |
Set altitude in given units (above current value) for the computation of relative bands
void larcfm::Daidalus::setAboveRelativeHorizontalSpeed | ( | double | val | ) |
Set horizontal speed in internal units (above current value) for the computation of relative bands
void larcfm::Daidalus::setAboveRelativeHorizontalSpeed | ( | double | val, |
const std::string & | u | ||
) |
Set horizontal speed in given units (above current value) for the computation of relative bands
void larcfm::Daidalus::setAboveRelativeVerticalSpeed | ( | double | val | ) |
Set vertical speed in internal units (above current value) for the computation of relative bands
void larcfm::Daidalus::setAboveRelativeVerticalSpeed | ( | double | val, |
const std::string & | u | ||
) |
Set vertical speed in given units (above current value) for the computation of relative bands
void larcfm::Daidalus::setAboveToMaxRelativeAltitude | ( | ) |
Set above value to max when computing altitude bands
void larcfm::Daidalus::setAboveToMaxRelativeHorizontalSpeed | ( | ) |
Set above value to max when computing horizontal speed bands
void larcfm::Daidalus::setAboveToMaxRelativeVerticalSpeed | ( | ) |
Set above value to max when computing vertical speed bands
void larcfm::Daidalus::setAbsoluteHorizontalDirectionBands | ( | double | min, |
double | max | ||
) |
Set absolute min/max directions for bands computations. Directions are specified in internal units [rad]. Values are expected to be in [0 - 2pi)
void larcfm::Daidalus::setAbsoluteHorizontalDirectionBands | ( | double | min, |
double | max, | ||
const std::string & | u | ||
) |
Set absolute min/max directions for bands computations. Directions are specified in given units [u]. Values are expected to be in [0 - 2pi) [u]
void larcfm::Daidalus::setAlerter | ( | int | ac_idx, |
const std::string & | alerter | ||
) |
Set alerter of the aircraft at ac_idx to alerter
ac_idx | Aircraft index between 0 (ownship) and lastTrafficIndex(), inclusive |
alerter | Alerter identifier |
void larcfm::Daidalus::setAlerterIndex | ( | int | ac_idx, |
int | alerter_idx | ||
) |
Set alerter of the aircraft at ac_idx to alerter_idx
ac_idx | Aircraft index between 0 (ownship) and lastTrafficIndex(), inclusive |
alerter_idx | Alerter index starting from 1. The value 0 means none. |
void larcfm::Daidalus::setAlertingLogic | ( | bool | ownship_centric | ) |
Set alerting logic to the value indicated by ownship_centric. If ownship_centric is true, alerting and guidance logic will use the alerter in ownship. Alerter in every intruder will be disregarded. If ownship_centric is false, alerting and guidance logic will use the alerter in every intruder. Alerter in ownship will be disregarded.
void larcfm::Daidalus::setAlertingMofN | ( | int | m, |
int | n | ||
) |
Set alerting parameters of M of N strategy
void larcfm::Daidalus::setAltitudeStep | ( | double | val | ) |
Sets step size for altitude bands to value in internal units [m]
void larcfm::Daidalus::setAltitudeStep | ( | double | val, |
const std::string & | u | ||
) |
Sets step size for altitude bands to value in specified units [u].
void larcfm::Daidalus::setBandsPersistence | ( | bool | flag | ) |
Enable/disable bands persistence
void larcfm::Daidalus::setBankAngle | ( | double | val | ) |
Sets bank angle for direction bands to value in internal units [rad]. As a side effect, this method resets the turn rate.
void larcfm::Daidalus::setBankAngle | ( | double | val, |
const std::string & | u | ||
) |
Sets bank angle for direction bands to value in specified units [u]. As a side effect, this method resets the turn rate.
void larcfm::Daidalus::setBelowRelativeAltitude | ( | double | val | ) |
Set altitude in internal units (below current value) for the computation of relative bands
void larcfm::Daidalus::setBelowRelativeAltitude | ( | double | val, |
const std::string & | u | ||
) |
Set altitude in given units (below current value) for the computation of relative bands
void larcfm::Daidalus::setBelowRelativeHorizontalSpeed | ( | double | val | ) |
Set horizontal speed in internal units (below current value) for the computation of relative bands
void larcfm::Daidalus::setBelowRelativeHorizontalSpeed | ( | double | val, |
std::string | u | ||
) |
Set horizontal speed in given units (below current value) for the computation of relative bands
void larcfm::Daidalus::setBelowRelativeVerticalSpeed | ( | double | val | ) |
Set vertical speed in internal units (below current value) for the computation of relative bands
void larcfm::Daidalus::setBelowRelativeVerticalSpeed | ( | double | val, |
const std::string & | u | ||
) |
Set vertical speed in given units (below current value) for the computation of relative bands
void larcfm::Daidalus::setBelowToMinRelativeAltitude | ( | ) |
Set below value to min when computing altitude bands
void larcfm::Daidalus::setBelowToMinRelativeHorizontalSpeed | ( | ) |
Set below value to min when computing horizontal speed bands
void larcfm::Daidalus::setBelowToMinRelativeVerticalSpeed | ( | ) |
Set below value to min when computing vertical speed bands
void larcfm::Daidalus::setCollisionAvoidanceBands | ( | bool | flag | ) |
Enable/disable collision avoidance bands.
void larcfm::Daidalus::setCollisionAvoidanceBandsFactor | ( | double | val | ) |
void larcfm::Daidalus::setConflictCriteria | ( | bool | flag | ) |
Enable/disable repulsive criteria for conflict bands.
void larcfm::Daidalus::setCorrectiveRegion | ( | BandsRegion::Region | val | ) |
Set corrective region for calculation of resolution maneuvers and bands saturation.
void larcfm::Daidalus::setDaidalusParameters | ( | const DaidalusParameters & | parameters | ) |
Set bands parameters
void larcfm::Daidalus::setDTAAlerter | ( | int | alerter | ) |
Set DAA Terminal Area (DTA) alerter
void larcfm::Daidalus::setDTAHeight | ( | double | val | ) |
Set DAA Terminal Area (DTA) height (internal units)
void larcfm::Daidalus::setDTAHeight | ( | double | val, |
const std::string & | u | ||
) |
Set DAA Terminal Area (DTA) height in given units
void larcfm::Daidalus::setDTALatitude | ( | double | lat | ) |
Set DAA Terminal Area (DTA) latitude (internal units)
void larcfm::Daidalus::setDTALatitude | ( | double | lat, |
const std::string & | ulat | ||
) |
Set DAA Terminal Area (DTA) latitude in given units
void larcfm::Daidalus::setDTALongitude | ( | double | lon | ) |
Set DAA Terminal Area (DTA) longitude (internal units)
void larcfm::Daidalus::setDTALongitude | ( | double | lon, |
const std::string & | ulon | ||
) |
Set DAA Terminal Area (DTA) longitude in given units
void larcfm::Daidalus::setDTARadius | ( | double | val | ) |
Set DAA Terminal Area (DTA) radius (internal units)
void larcfm::Daidalus::setDTARadius | ( | double | val, |
const std::string & | u | ||
) |
Set DAA Terminal Area (DTA) radius in given units
void larcfm::Daidalus::setHorizontalAcceleration | ( | double | val | ) |
Sets horizontal acceleration for horizontal speed bands to value in internal units [m/s^2].
void larcfm::Daidalus::setHorizontalAcceleration | ( | double | val, |
const std::string & | u | ||
) |
Sets horizontal acceleration for horizontal speed bands to value in specified units [u].
void larcfm::Daidalus::setHorizontalContourThreshold | ( | double | val | ) |
Set horizontal contour threshold, specified in internal units [rad] [0 - pi] as an angle to the left/right of current aircraft direction. A value of 0 means only conflict contours. A value of pi means all contours.
void larcfm::Daidalus::setHorizontalContourThreshold | ( | double | val, |
const std::string & | u | ||
) |
Set horizontal contour threshold, specified in given units [u] [0 - pi] as an angle to the left/right of current aircraft direction. A value of 0 means only conflict contours. A value of pi means all contours.
void larcfm::Daidalus::setHorizontalDirectionStep | ( | double | val | ) |
Sets step size for direction bands in internal units [rad].
void larcfm::Daidalus::setHorizontalDirectionStep | ( | double | val, |
const std::string & | u | ||
) |
Sets step size for direction bands in specified units [u].
void larcfm::Daidalus::setHorizontalNMAC | ( | double | val | ) |
Set horizontal NMAC distance to value in internal units [m].
void larcfm::Daidalus::setHorizontalNMAC | ( | double | val, |
const std::string & | u | ||
) |
Set horizontal NMAC distance to value in specified units [u].
void larcfm::Daidalus::setHorizontalPositionUncertainty | ( | int | ac_idx, |
double | s_EW_std, | ||
double | s_NS_std, | ||
double | s_EN_std | ||
) |
Set horizontal position uncertainty of aircraft at index ac_idx s_EW_std: East/West position standard deviation in internal units s_NS_std: North/South position standard deviation in internal units s_EN_std: East/North position standard deviation in internal units
void larcfm::Daidalus::setHorizontalPositionUncertainty | ( | int | ac_idx, |
double | s_EW_std, | ||
double | s_NS_std, | ||
double | s_EN_std, | ||
const std::string & | u | ||
) |
Set horizontal position uncertainty of aircraft at index ac_idx s_EW_std: East/West position standard deviation in given units s_NS_std: North/South position standard deviation in given units s_EN_std: East/North position standard deviation in given units
void larcfm::Daidalus::setHorizontalPositionZScore | ( | double | val | ) |
void larcfm::Daidalus::setHorizontalSpeedStep | ( | double | val | ) |
Sets step size for horizontal speed bands to value in internal units [m/s].
void larcfm::Daidalus::setHorizontalSpeedStep | ( | double | val, |
const std::string & | u | ||
) |
Sets step size for horizontal speed bands to value in specified units [u].
void larcfm::Daidalus::setHorizontalVelocityUncertainty | ( | int | ac_idx, |
double | v_EW_std, | ||
double | v_NS_std, | ||
double | v_EN_std | ||
) |
Set horizontal speed uncertainty of aircraft at index ac_idx v_EW_std: East/West position standard deviation in internal units v_NS_std: North/South position standard deviation in internal units v_EN_std: East/North position standard deviation in internal units
void larcfm::Daidalus::setHorizontalVelocityUncertainty | ( | int | ac_idx, |
double | v_EW_std, | ||
double | v_NS_std, | ||
double | v_EN_std, | ||
const std::string & | u | ||
) |
Set horizontal speed uncertainty of aircraft at index ac_idx v_EW_std: East/West position standard deviation in given units v_NS_std: North/South position standard deviation in given units v_EN_std: East/North position standard deviation in given units
void larcfm::Daidalus::setHorizontalVelocityZDistance | ( | double | val | ) |
void larcfm::Daidalus::setHorizontalVelocityZDistance | ( | double | val, |
const std::string & | u | ||
) |
void larcfm::Daidalus::setHorizontalVelocityZScoreMax | ( | double | val | ) |
void larcfm::Daidalus::setHorizontalVelocityZScoreMin | ( | double | val | ) |
void larcfm::Daidalus::setHysteresisTime | ( | double | val | ) |
Set hysteresis time to value in seconds.
void larcfm::Daidalus::setHysteresisTime | ( | double | val, |
const std::string & | u | ||
) |
Set hysteresis time to value in specified units [u].
void larcfm::Daidalus::setInstantaneousBands | ( | ) |
Set instantaneous bands.
void larcfm::Daidalus::setIntruderCentricAlertingLogic | ( | ) |
Set alerting and guidance logic to intruder-centric. Alerting and guidance logic will use the alerter in every intruder. Alerter in ownship will be disregarded.
void larcfm::Daidalus::setKinematicBands | ( | bool | type | ) |
Set kinematic bands. Set turn rate to 3 deg/s, when type is true; set turn rate to 1.5 deg/s when type is false;
void larcfm::Daidalus::setLeftHorizontalDirection | ( | double | val | ) |
Set left direction to value in internal units [rad]. Value is expected to be in [0 - pi]
void larcfm::Daidalus::setLeftHorizontalDirection | ( | double | val, |
const std::string & | u | ||
) |
Set left direction to value in specified units [u]. Value is expected to be in [0 - pi]
void larcfm::Daidalus::setLookaheadTime | ( | double | t | ) |
Sets lookahead time in seconds.
|
virtual |
Set lookahead time to value in specified units [u].
Implements larcfm::GenericBands.
void larcfm::Daidalus::setMaxAltitude | ( | double | val | ) |
Sets maximum altitude for altitude bands to value in internal units [m]
void larcfm::Daidalus::setMaxAltitude | ( | double | val, |
const std::string & | u | ||
) |
Sets maximum altitude for altitude bands to value in specified units [u].
|
inlinevirtual |
@Deprecated Use setMaxHorizontalSpeed instead
Implements larcfm::GenericBands.
void larcfm::Daidalus::setMaxHorizontalSpeed | ( | double | val | ) |
Sets maximum horizontal speed for horizontal speed bands to value in internal units [m/s].
void larcfm::Daidalus::setMaxHorizontalSpeed | ( | double | val, |
const std::string & | u | ||
) |
Sets maximum horizontal speed for horizontal speed bands to value in specified units [u].
void larcfm::Daidalus::setMaxVerticalSpeed | ( | double | val | ) |
Sets maximum vertical speed for vertical speed bands to value in internal units [m/s].
|
virtual |
Sets maximum vertical speed for vertical speed bands to value in specified units [u].
Implements larcfm::GenericBands.
void larcfm::Daidalus::setMinAltitude | ( | double | val | ) |
Sets minimum altitude for altitude bands to value in internal units [m]
void larcfm::Daidalus::setMinAltitude | ( | double | val, |
const std::string & | u | ||
) |
Sets minimum altitude for altitude bands to value in specified units [u].
void larcfm::Daidalus::setMinHorizontalRecovery | ( | double | val | ) |
Sets minimum horizontal separation for recovery bands in internal units [m].
void larcfm::Daidalus::setMinHorizontalRecovery | ( | double | val, |
const std::string & | u | ||
) |
Set minimum horizontal separation for recovery bands in specified units [u].
void larcfm::Daidalus::setMinHorizontalSpeed | ( | double | val | ) |
Sets minimum horizontal speed for horizontal speed bands to value in internal units [m/s].
void larcfm::Daidalus::setMinHorizontalSpeed | ( | double | val, |
const std::string & | u | ||
) |
Sets minimum horizontal speed for horizontal speed bands to value in specified units [u].
void larcfm::Daidalus::setMinVerticalRecovery | ( | double | val | ) |
Sets minimum vertical separation for recovery bands in internal units [m].
void larcfm::Daidalus::setMinVerticalRecovery | ( | double | val, |
const std::string & | u | ||
) |
Set minimum vertical separation for recovery bands in units
void larcfm::Daidalus::setMinVerticalSpeed | ( | double | val | ) |
Sets minimum vertical speed for vertical speed bands to value in internal units [m/s].
void larcfm::Daidalus::setMinVerticalSpeed | ( | double | val, |
const std::string & | u | ||
) |
Sets minimum vertical speed for vertical speed bands to value in specified units [u].
void larcfm::Daidalus::setNoWind | ( | ) |
Set no wind velocity
|
inlinevirtual |
@Deprecated Use setOwnshipState instead. Set ownship state at time 0.0. Clear all traffic. Name of ownship will be "Ownship"
pos | Ownship's position |
vel | Ownship's ground velocity |
|
inlinevirtual |
@Deprecated Use setOwnshipState instead. Set ownship state at time 0.0. Clear all traffic.
id | Ownship's identified |
pos | Ownship's position |
vel | Ownship's ground velocity |
Implements larcfm::GenericStateBands.
void larcfm::Daidalus::setOwnshipCentricAlertingLogic | ( | ) |
Set alerting and guidance logic to ownship-centric. Alerting and guidance logic will use the alerter in ownship. Alerter in every intruder will be disregarded.
void larcfm::Daidalus::setOwnshipState | ( | const std::string & | id, |
const Position & | pos, | ||
const Velocity & | vel | ||
) |
Set ownship state at time 0.0. Clear all traffic.
id | Ownship's identifier |
pos | Ownship's position |
vel | Ownship's ground velocity |
void larcfm::Daidalus::setOwnshipState | ( | const std::string & | id, |
const Position & | pos, | ||
const Velocity & | vel, | ||
double | time | ||
) |
Set ownship state and current time. Clear all traffic.
id | Ownship's identifier |
pos | Ownship's position |
vel | Ownship's ground velocity |
time | Time stamp of ownship's state |
void larcfm::Daidalus::setPersistencePreferredAltitudeResolution | ( | double | val | ) |
Set persistence for preferred altitude resolution in internal units
void larcfm::Daidalus::setPersistencePreferredAltitudeResolution | ( | double | val, |
const std::string & | u | ||
) |
Set persistence for preferred altitude resolution in given units
void larcfm::Daidalus::setPersistencePreferredHorizontalDirectionResolution | ( | double | val | ) |
Set persistence for preferred horizontal direction resolution in internal units
void larcfm::Daidalus::setPersistencePreferredHorizontalDirectionResolution | ( | double | val, |
const std::string & | u | ||
) |
Set persistence for preferred horizontal direction resolution in given units
void larcfm::Daidalus::setPersistencePreferredHorizontalSpeedResolution | ( | double | val | ) |
Set persistence for preferred horizontal speed resolution in internal units
void larcfm::Daidalus::setPersistencePreferredHorizontalSpeedResolution | ( | double | val, |
const std::string & | u | ||
) |
Set persistence for preferred horizontal speed resolution in given units
void larcfm::Daidalus::setPersistencePreferredVerticalSpeedResolution | ( | double | val | ) |
Set persistence for preferred vertical speed resolution in internal units
void larcfm::Daidalus::setPersistencePreferredVerticalSpeedResolution | ( | double | val, |
const std::string & | u | ||
) |
Set persistence for preferred vertical speed resolution in given units
void larcfm::Daidalus::setPersistenceTime | ( | double | val | ) |
Set alerting persistence time to value in seconds.
void larcfm::Daidalus::setPersistenceTime | ( | double | val, |
const std::string & | u | ||
) |
Set alerting persistence time to value in specified units [u].
void larcfm::Daidalus::setRecoveryAltitudeBands | ( | bool | flag | ) |
Sets recovery bands flag for altitude bands to specified value.
void larcfm::Daidalus::setRecoveryBands | ( | bool | flag | ) |
Sets recovery bands flag for direction, horizontal speed, and vertical speed bands to specified value.
void larcfm::Daidalus::setRecoveryCriteria | ( | bool | flag | ) |
Enable/disable repulsive criteria for recovery bands.
void larcfm::Daidalus::setRecoveryHorizontalDirectionBands | ( | bool | flag | ) |
Sets recovery bands flag for direction bands to specified value.
void larcfm::Daidalus::setRecoveryHorizontalSpeedBands | ( | bool | flag | ) |
Sets recovery bands flag for horizontal speed bands to specified value.
void larcfm::Daidalus::setRecoveryStabilityTime | ( | double | t | ) |
Sets recovery stability time in seconds. Recovery bands are computed at time of first conflict-free region plus this time.
void larcfm::Daidalus::setRecoveryStabilityTime | ( | double | t, |
const std::string & | u | ||
) |
Sets recovery stability time in specified units. Recovery bands are computed at time of first conflict-free region plus this time.
void larcfm::Daidalus::setRecoveryVerticalSpeedBands | ( | bool | flag | ) |
Sets recovery bands flag for vertical speed bands to specified value.
void larcfm::Daidalus::setRepulsiveCriteria | ( | bool | flag | ) |
Enable/disable repulsive criteria for conflict and recovery bands.
void larcfm::Daidalus::setRightHorizontalDirection | ( | double | val | ) |
Set right direction to value in internal units [rad]. Value is expected to be in [0 - pi]
void larcfm::Daidalus::setRightHorizontalDirection | ( | double | val, |
const std::string & | u | ||
) |
Set right direction to value in specified units [u]. Value is expected to be in [0 - pi]
void larcfm::Daidalus::setTurnRate | ( | double | val | ) |
Sets turn rate for direction bands to value in internal units [rad/s]. As a side effect, this method resets the bank angle.
void larcfm::Daidalus::setTurnRate | ( | double | val, |
const std::string & | u | ||
) |
Sets turn rate for direction bands to value in specified units [u]. As a side effect, this method resets the bank angle.
void larcfm::Daidalus::setUrgencyStrategy | ( | const UrgencyStrategy * | strat | ) |
Set strategy for computing most urgent aircraft.
void larcfm::Daidalus::setVerticalAcceleration | ( | double | val | ) |
Sets the constant vertical acceleration for vertical speed and altitude bands to value in internal units [m/s^2]
void larcfm::Daidalus::setVerticalAcceleration | ( | double | val, |
const std::string & | u | ||
) |
Sets the constant vertical acceleration for vertical speed and altitude bands to value in specified units [u].
void larcfm::Daidalus::setVerticalNMAC | ( | double | val | ) |
Set vertical NMAC distance to value in internal units [m].
void larcfm::Daidalus::setVerticalNMAC | ( | double | val, |
const std::string & | u | ||
) |
Set vertical NMAC distance to value in specified units [u].
void larcfm::Daidalus::setVerticalPositionUncertainty | ( | int | ac_idx, |
double | sz_std | ||
) |
Set vertical position uncertainty of aircraft at index ac_idx sz_std : Vertical position standard deviation in internal units
void larcfm::Daidalus::setVerticalPositionUncertainty | ( | int | ac_idx, |
double | sz_std, | ||
const std::string & | u | ||
) |
Set vertical position uncertainty of aircraft at index ac_idx sz_std : Vertical position standard deviation in given units
void larcfm::Daidalus::setVerticalPositionZScore | ( | double | val | ) |
void larcfm::Daidalus::setVerticalRate | ( | double | val | ) |
Sets vertical rate for altitude bands to value in internal units [m/s]
void larcfm::Daidalus::setVerticalRate | ( | double | val, |
const std::string & | u | ||
) |
Sets vertical rate for altitude bands to value in specified units [u].
void larcfm::Daidalus::setVerticalSpeedStep | ( | double | val | ) |
Sets step size for vertical speed bands to value in internal units [m/s].
void larcfm::Daidalus::setVerticalSpeedStep | ( | double | val, |
const std::string & | u | ||
) |
Sets step size for vertical speed bands to value in specified units [u].
void larcfm::Daidalus::setVerticalSpeedUncertainty | ( | int | ac_idx, |
double | vz_std | ||
) |
Set vertical speed uncertainty of aircraft at index ac_idx vz_std : Vertical speed standard deviation in internal units
void larcfm::Daidalus::setVerticalSpeedUncertainty | ( | int | ac_idx, |
double | vz_std, | ||
const std::string & | u | ||
) |
Set vertical speed uncertainty of aircraft at index ac_idx vz_std : Vertical speed standard deviation in given units
void larcfm::Daidalus::setVerticalSpeedZScore | ( | double | val | ) |
void larcfm::Daidalus::setWindVelocityFrom | ( | const Velocity & | nwind_vector | ) |
Set wind velocity specified in the From direction
nwind_velocity | Wind velocity specified in From direction |
void larcfm::Daidalus::setWindVelocityTo | ( | const Velocity & | wind_vector | ) |
Set wind velocity specified in the TO direction
wind_velocity | Wind velocity specified in TO direction |
Interval larcfm::Daidalus::timeIntervalOfConflict | ( | BandsRegion::Region | region | ) |
Return time interval of violation for given conflict bands region
Interval larcfm::Daidalus::timeIntervalOfConflict | ( | int | region | ) |
Return time interval of violation for given conflict bands region 1 = FAR, 2 = MID, 3 = NEAR
double larcfm::Daidalus::timeToCoAltitude | ( | int | ac_idx | ) | const |
Returns time, in seconds, to co-altitude with aircraft at index ac_idx, assuming straight line trajectory. If aircraft are diverging, returns negative time. If vertical closure is 0, returns negative infinite. Returns NaN if aircraft index is not valid or if vertical closure is 0.
double larcfm::Daidalus::timeToCoAltitude | ( | int | ac_idx, |
const std::string & | u | ||
) | const |
Returns time, in given units, to co-altitude with aircraft at index ac_idx, assuming straight line trajectory. If aircraft are diverging, returns negative value. Returns NaN if aircraft index is not valid or if vertical closure is 0
double larcfm::Daidalus::timeToCorrectiveVolume | ( | int | ac_idx | ) |
ac_idx | is the index of the traffic aircraft |
double larcfm::Daidalus::timeToHorizontalClosestPointOfApproach | ( | int | ac_idx | ) | const |
Returns time, in seconds, to horizontal closest point of approach with aircraft at index ac_idx, assuming straight line trajectory. If aircraft are diverging, the returned time is 0. Returns NaN if aircraft index is not valid
double larcfm::Daidalus::timeToHorizontalClosestPointOfApproach | ( | int | ac_idx, |
const std::string & | u | ||
) | const |
Returns time, in given units, to horizontal closest point of approach with aircraft at index ac_idx, assuming straight line trajectory. If aircraft are diverging, the returned time is 0. Returns NaN if aircraft index is not valid
|
virtual |
Return a string representing this object.
Implements larcfm::GenericBands.
|
inlinevirtual |
@Deprecated Use horizontalDirectionIntervalAt instead
Implements larcfm::GenericBands.
|
inlinevirtual |
@Deprecated Use horizontalDirectionBandsLength instead
Implements larcfm::GenericBands.
|
inlinevirtual |
@Deprecated Use horizontalDirectionRegionAt instead
Implements larcfm::GenericBands.
double larcfm::Daidalus::verticalClosureRate | ( | int | ac_idx | ) | const |
Returns vertical closure rate, in internal units, with aircraft at index ac_idx. Returns NaN if aircraft index is not valid
double larcfm::Daidalus::verticalClosureRate | ( | int | ac_idx, |
const std::string & | u | ||
) | const |
Returns vertical closure rate, in given units, with aircraft at index ac_idx. Returns NaN if aircraft index is not valid
|
inlinevirtual |
@Deprecated Use verticalSpeedIntervalAt instead
Implements larcfm::GenericBands.
int larcfm::Daidalus::verticalSpeedBandsLength | ( | ) |
Interval larcfm::Daidalus::verticalSpeedIntervalAt | ( | int | i | ) |
i | index |
Interval larcfm::Daidalus::verticalSpeedIntervalAt | ( | int | i, |
const std::string & | u | ||
) |
i | index |
u | units |
|
inlinevirtual |
@Deprecated Use verticalSpeedBandsLength instead
Implements larcfm::GenericBands.
double larcfm::Daidalus::verticalSpeedRawResolution | ( | bool | dir | ) |
Compute vertical speed raw resolution maneuver for given direction. Raw resolution is the resolution without persistence @parameter dir is up (true)/down (false) of ownship current vertical speed
double larcfm::Daidalus::verticalSpeedRawResolution | ( | bool | dir, |
const std::string & | u | ||
) |
Compute vertical speed raw resolution maneuver for given direction. Raw resolution is the resolution without persistence @parameter dir is up (true)/down (false) of ownship current vertical speed @parameter u units
RecoveryInformation larcfm::Daidalus::verticalSpeedRecoveryInformation | ( | ) |
|
inlinevirtual |
@Deprecated Use verticalSpeedRegionAt instead
Implements larcfm::GenericBands.
BandsRegion::Region larcfm::Daidalus::verticalSpeedRegionAt | ( | int | i | ) |
i | index |
double larcfm::Daidalus::verticalSpeedResolution | ( | bool | dir | ) |
Compute vertical speed resolution maneuver for given direction. @parameter dir is up (true)/down (false) of ownship current vertical speed
double larcfm::Daidalus::verticalSpeedResolution | ( | bool | dir, |
const std::string & | u | ||
) |
Compute vertical speed resolution maneuver for given direction. @parameter dir is up (true)/down (false) of ownship current vertical speed @parameter u units
ConflictData larcfm::Daidalus::violationOfAlertThresholds | ( | int | ac_idx, |
BandsRegion::Region | region | ||
) |
Detects violation of alert thresholds for a given region with an aircraft at index ac_idx. Conflict data provides time to violation and time to end of violation of alert thresholds of given alert level.
ac_idx | is the index of the traffic aircraft |
region | region used to compute detection. |
ConflictData larcfm::Daidalus::violationOfAlertThresholds | ( | int | ac_idx, |
int | alert_level | ||
) |
Detects violation of alert thresholds for a given alert level with an aircraft at index ac_idx. Conflict data provides time to violation and time to end of violation of alert thresholds of given alert level.
ac_idx | is the index of the traffic aircraft |
alert_level | alert level used to compute detection. The value 0 indicate the alert volume of the corrective region. |
ConflictData larcfm::Daidalus::violationOfCorrectiveThresholds | ( | int | ac_idx | ) |
Detects violation of corrective thresholds with an aircraft at index ac_idx. Conflict data provides time to violation and time to end of violation
ac_idx | is the index of the traffic aircraft |