ICAROUS
|
#include <CDSS.h>
Public Member Functions | |
CDSS (CDSSCore &cdsscore) | |
CDSS (CDCylinder &cdCyl) | |
CDSS (CDCylinder &cdCyl, double filterTm, const std::string &ut) | |
CDSS (double D, const std::string &ud, double H, const std::string &uh) | |
CDSS (WCV_TAUMOD &wcv_TAUMOD) | |
void | setFilterTime (double filter) |
CDSS (const CDSS &cdss) | |
CDSS & | operator= (const CDSS &cdss) |
bool | lossOfSeparation (const Position &sop, const Velocity &vo, const Position &sip, const Velocity &vi) const |
bool | detection (const Position &sop, const Velocity &vo, const Position &sip, const Velocity &vi, double T, const std::string &ut) |
bool | conflict (const Position &so, const Velocity &vo, const Position &si, const Velocity &vi, double B, double T) const |
double | getTimeIn (const std::string &ut) const |
double | getCriticalTime (const std::string &ut) const |
double | getTimeOut (const std::string &ut) const |
CDSSCore * | getCorePtr () |
std::string | toString () |
Static Public Member Functions | |
static CDSS | makeCyl (const std::string &cyid, double D, const std::string &ud, double H, const std::string &uh) |
static CDSS | mkCyl (const std::string &cyid, double D, double H, double filter) |
static CDSS | mkTauMOD (const std::string &id, double DTHR, double ZTHR, double TTHR, double TCOA) |
Private Attributes | |
CDSSCore | cdsscore |
The Class CDSS. This is a dedicated class that only uses the CD3D (CDCylinder) detection algorithm. The more general form is CDSSCore, which may utilize arbitrary Detection3D detection algorithms.
Usage: CDSS cdss = new CDSS(); cdss.setDistance(5,"NM") cdss.setHeight(950,"ft") boolean det = cdss.detection(so,vo,si,vi,T);
larcfm::CDSS::CDSS | ( | CDCylinder & | cdCyl | ) |
Create a cylindrical CDSS object from a CDCylinder object
cdCyl | CDCylinder with detection parameters |
larcfm::CDSS::CDSS | ( | double | D, |
const std::string & | ud, | ||
double | H, | ||
const std::string & | uh | ||
) |
Create a cylindrical CDSS with D,H parameters
D | width of the protection zone |
ud | units of D |
H | height of the protection zone |
uh | units of H |
larcfm::CDSS::CDSS | ( | const CDSS & | cdss | ) |
Copy constructor
bool larcfm::CDSS::conflict | ( | const Position & | so, |
const Velocity & | vo, | ||
const Position & | si, | ||
const Velocity & | vi, | ||
double | B, | ||
double | T | ||
) | const |
Determines if two aircraft are in conflict within a given lookahed time (internal units). This function DOES NOT compute time interval of conflict.
so | the position of the ownship |
vo | the velocity of the ownship |
si | the position of the intruder |
vi | the velocity of the intruder |
T | lookahead time in internal units [s] (T > 0) |
Determines if two aircraft are in conflict within a given lookahed time (internal units). This function DOES NOT compute time interval of conflict.
s | the relative position of the aircraft |
vo | the velocity of the ownship |
vi | the velocity of the intruder |
T | lookahead time in internal units [s] (T > 0) |
bool larcfm::CDSS::detection | ( | const Position & | sop, |
const Velocity & | vo, | ||
const Position & | sip, | ||
const Velocity & | vi, | ||
double | T, | ||
const std::string & | ut | ||
) |
Detects a conflict that lasts more than filter time within a given lookahed time and computes the time interval of conflict (internal units). If timeIn() == 0, after this function is called then aircraft is in loss of separation.
so | the position of the ownship |
vo | the velocity of the ownship |
si | the position of the intruder |
vi | the velocity of the intruder |
T | the lookahead time in internal units ut (T > 0) |
double larcfm::CDSS::getCriticalTime | ( | const std::string & | ut | ) | const |
Return the critical time for the conflict, as determined by the core detection algorithm. This is generally not the traditional time of closest approach.
double larcfm::CDSS::getTimeIn | ( | const std::string & | ut | ) | const |
Time to loss of separation in explicit units.
ut | the explicit units of time |
double larcfm::CDSS::getTimeOut | ( | const std::string & | ut | ) | const |
Time to recovery of loss of separation in explicit units.
ut | the explicit units of time |
Time to recovery of loss of separation in explicit units.
ut | the explicit units of time |
bool larcfm::CDSS::lossOfSeparation | ( | const Position & | sop, |
const Velocity & | vo, | ||
const Position & | sip, | ||
const Velocity & | vi | ||
) | const |
Determines if two aircraft are in loss of separation. This function DOES NOT compute time interval of conflict.
so | the position of the ownship |
vo | velocity of ownship |
si | the position of the intruder |
vi | velocity of intruder |