ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
larcfm::TCAS3D Class Reference
Inheritance diagram for larcfm::TCAS3D:
larcfm::Detection3D larcfm::ParameterAcceptor larcfm::ParameterProvider

Public Member Functions

 TCAS3D ()
 
 TCAS3D (const TCASTable &tables)
 
TCASTablegetTCASTable ()
 
void setDefaultTCASIIThresholds (bool ra)
 
void setTCASTable (const TCASTable &tables)
 
bool TCASII_RA (const Vect3 &so, const Vect3 &vo, const Vect3 &si, const Vect3 &vi) const
 
Triple< double, double, double > RA3D_interval (int sl, const Vect2 &so2, double soz, const Vect2 &vo2, double voz, const Vect2 &si2, double siz, const Vect2 &vi2, double viz, double B, double T) const
 
ConflictData RA3D (const Vect3 &so, const Velocity &vo, const Vect3 &si, const Velocity &vi, double B, double T) const
 
ConflictData conflictDetection (const Vect3 &so, const Velocity &vo, const Vect3 &si, const Velocity &vi, double B, double T) const
 
TCAS3Dcopy () const
 
TCAS3Dmake () const
 
virtual std::string getSimpleClassName () const
 
double getTAU (int sl) const
 
double getTCOA (int sl) const
 
double getDMOD (int sl) const
 
double getDMOD (int sl, const std::string &u) const
 
double getZTHR (int sl) const
 
double getZTHR (int sl, const std::string &u) const
 
double getHMD (int sl) const
 
double getHMD (int sl, const std::string &u) const
 
void setTAU (int sl, double val)
 
void setTCOA (int sl, double val)
 
void setDMOD (int sl, double val)
 
void setDMOD (int sl, double val, const std::string &u)
 
void setZTHR (int sl, double val)
 
void setZTHR (int sl, double val, const std::string &u)
 
void setHMD (int sl, double val)
 
void setHMD (int sl, double val, const std::string &u)
 
void setHMDFilter (bool flag)
 
bool getHMDFilter ()
 
virtual std::string toString () const
 
virtual std::string toPVS () const
 
virtual std::string getIdentifier () const
 
virtual void setIdentifier (const std::string &id)
 
virtual bool equals (Detection3D *d) const
 
ParameterData getParameters () const
 
void updateParameterData (ParameterData &p) const
 
void setParameters (const ParameterData &p)
 
bool contains (const Detection3D *cd) const
 
virtual void horizontalHazardZone (std::vector< Position > &haz, const TrafficState &ownship, const TrafficState &intruder, double T) const
 
- Public Member Functions inherited from larcfm::Detection3D
bool violation (const Vect3 &so, const Velocity &vo, const Vect3 &si, const Velocity &vi) const
 
bool conflict (const Vect3 &so, const Velocity &vo, const Vect3 &si, const Velocity &vi, double B, double T) const
 
bool violationAtWithTrafficState (const TrafficState &ownship, const TrafficState &intruder, double t) const
 
bool conflictWithTrafficState (const TrafficState &ownship, const TrafficState &intruder, double B, double T) const
 
virtual ConflictData conflictDetectionWithTrafficState (const TrafficState &ownship, const TrafficState &intruder, double B, double T) const
 
std::string getCanonicalClassName () const
 
std::string getCanonicalSuperClassName () const
 
virtual std::string getSimpleSuperClassName () const
 
bool instanceOf (const std::string &classname) const
 
void horizontalContours (std::vector< std::vector< Position > > &blobs, const TrafficState &ownship, const TrafficState &intruder, double thr, double T) const
 

Static Public Member Functions

static const TCAS3DA_TCAS3D ()
 
static const TCAS3DTCASII_RA ()
 
static const TCAS3DTCASII_TA ()
 
static TCAS3D make_Empty ()
 
static TCAS3D make_TCASII_RA ()
 
static TCAS3D make_TCASII_TA ()
 
static bool vertical_RA (double sz, double vz, double ZTHR, double TCOA)
 
static bool cd2d_TCAS_after (double HMD, Vect2 s, Vect2 vo, Vect2 vi, double t)
 
static bool cd2d_TCAS (double HMD, Vect2 s, Vect2 vo, Vect2 vi)
 

Private Attributes

TCASTable table_
 
std::string id
 

Constructor & Destructor Documentation

◆ TCAS3D() [1/2]

larcfm::TCAS3D::TCAS3D ( )

Constructor that uses the default TCAS tables.

◆ TCAS3D() [2/2]

larcfm::TCAS3D::TCAS3D ( const TCASTable tables)
explicit

Constructor that specifies a particular instance of the TCAS tables.

Member Function Documentation

◆ A_TCAS3D()

const TCAS3D & larcfm::TCAS3D::A_TCAS3D ( )
static
Returns
one static TCAS3D

◆ conflictDetection()

ConflictData larcfm::TCAS3D::conflictDetection ( const Vect3 so,
const Velocity vo,
const Vect3 si,
const Velocity vi,
double  B,
double  T 
) const
virtual

This functional call returns a ConflictData object detailing the conflict between times B and T from now (relative), if any.

Parameters
soownship position
voownship velocity
siintruder position
viintruder velocity
Dhorizontal separation
Hvertical separation
Bbeginning of detection time (>=0)
Tend of detection time (if T < 0 then use an "infinite" lookahead time)
Returns
a ConflictData object detailing the conflict

Implements larcfm::Detection3D.

◆ contains()

bool larcfm::TCAS3D::contains ( const Detection3D cd) const
virtual

Implements larcfm::Detection3D.

◆ copy()

TCAS3D * larcfm::TCAS3D::copy ( ) const
virtual

This returns a pointer to a new instance of this type of Detector3D. You are responsible for destroying this instance when it is no longer needed.

Implements larcfm::Detection3D.

◆ equals()

bool larcfm::TCAS3D::equals ( Detection3D o) const
virtual

Return true if two instances have identical parameters (including identifiers). Use address equality (&x == &y) to distinguish instances. A generic implementation, assuming the identifier is included in the ParameterData object, would be virtual bool equals(Detection3D* o) const { if (!larcfmequals(getClassName(), o->getClassName())) return false; if (!getParameterData().equals(o->getParameterData())) return false; return true; }

Implements larcfm::Detection3D.

◆ getDMOD() [1/2]

double larcfm::TCAS3D::getDMOD ( int  sl) const

Returns DMOD for sensitivity level sl in internal units.

◆ getDMOD() [2/2]

double larcfm::TCAS3D::getDMOD ( int  sl,
const std::string &  u 
) const

Returns DMOD for sensitivity level sl in u units.

◆ getHMD() [1/2]

double larcfm::TCAS3D::getHMD ( int  sl) const

Returns HMD for sensitivity level sl in internal units.

◆ getHMD() [2/2]

double larcfm::TCAS3D::getHMD ( int  sl,
const std::string &  u 
) const

Returns HMD for sensitivity level sl in u units.

◆ getIdentifier()

std::string larcfm::TCAS3D::getIdentifier ( ) const
virtual

Implements larcfm::Detection3D.

◆ getParameters()

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

◆ getSimpleClassName()

std::string larcfm::TCAS3D::getSimpleClassName ( ) const
virtual

Implements larcfm::Detection3D.

◆ getTAU()

double larcfm::TCAS3D::getTAU ( int  sl) const

Returns TAU threshold for sensitivity level sl in seconds

◆ getTCASTable()

TCASTable & larcfm::TCAS3D::getTCASTable ( )

This returns a copy of the internal TCAS table

◆ getTCOA()

double larcfm::TCAS3D::getTCOA ( int  sl) const

Returns TCOA threshold for sensitivity level sl in seconds

◆ getZTHR() [1/2]

double larcfm::TCAS3D::getZTHR ( int  sl) const

Returns Z threshold for sensitivity level sl in internal units.

◆ getZTHR() [2/2]

double larcfm::TCAS3D::getZTHR ( int  sl,
const std::string &  u 
) const

Returns Z threshold for sensitivity level sl in u units.

◆ horizontalHazardZone()

void larcfm::TCAS3D::horizontalHazardZone ( std::vector< Position > &  haz,
const TrafficState ownship,
const TrafficState intruder,
double  T 
) const
virtual

Return a list of points (polygon) that approximates the horizontal hazard zone around the ownship, with respect to a traffic aircraft. A polygon is a list of points in counter-clockwise direction, where the last point is connected to the first one.

Parameters
TThis time represents a time horizon in seconds. When T is 0, the polygon represents the hazard zone. Otherwise, the are represents the hazard zone with time horizon T.

NOTE 1: This 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.

NOTE 2: This method has to be redefined as appropriate for every specific hazard zone.

Reimplemented from larcfm::Detection3D.

◆ make()

TCAS3D * larcfm::TCAS3D::make ( ) const
virtual

Implements larcfm::Detection3D.

◆ make_Empty()

TCAS3D larcfm::TCAS3D::make_Empty ( )
static

Make TCAS3D object with empty Table

◆ make_TCASII_RA()

TCAS3D larcfm::TCAS3D::make_TCASII_RA ( )
static

Make TCAS3D object with an RA Table

◆ make_TCASII_TA()

TCAS3D larcfm::TCAS3D::make_TCASII_TA ( )
static

Make TCAS3D objec with a TA Table

◆ setDefaultTCASIIThresholds()

void larcfm::TCAS3D::setDefaultTCASIIThresholds ( bool  ra)

Set table to TCASII Thresholds (RA Table when ra is true, TA Table when ra is false)

◆ setDMOD() [1/2]

void larcfm::TCAS3D::setDMOD ( int  sl,
double  val 
)

Modify the value of DMOD for a given sensitivity level (2-8) Parameter val is given in internal units

◆ setDMOD() [2/2]

void larcfm::TCAS3D::setDMOD ( int  sl,
double  val,
const std::string &  u 
)

Modify the value of DMOD for a given sensitivity level (2-8) Parameter val is given in u units

◆ setHMD() [1/2]

void larcfm::TCAS3D::setHMD ( int  sl,
double  val 
)

Modify the value of HMD for a given sensitivity level (2-8) Parameter val is given in internal units

◆ setHMD() [2/2]

void larcfm::TCAS3D::setHMD ( int  sl,
double  val,
const std::string &  u 
)

Modify the value of HMD for a given sensitivity level (2-8) Parameter val is given in u units

◆ setIdentifier()

void larcfm::TCAS3D::setIdentifier ( const std::string &  id)
virtual

Implements larcfm::Detection3D.

◆ setParameters()

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

◆ setTAU()

void larcfm::TCAS3D::setTAU ( int  sl,
double  val 
)

Modify the value of Tau Threshold for a given sensitivity level (2-8) Parameter val is given in seconds

◆ setTCASTable()

void larcfm::TCAS3D::setTCASTable ( const TCASTable tables)

This sets the internal table to be a deep copy of the supplied one. Any previous links will be broken.

◆ setTCOA()

void larcfm::TCAS3D::setTCOA ( int  sl,
double  val 
)

Modify the value of TCOA Threshold for a given sensitivity level (2-8) Parameter val is given in seconds

◆ setZTHR() [1/2]

void larcfm::TCAS3D::setZTHR ( int  sl,
double  val 
)

Modify the value of ZTHR for a given sensitivity level (2-8) Parameter val is given in internal units

◆ setZTHR() [2/2]

void larcfm::TCAS3D::setZTHR ( int  sl,
double  val,
const std::string &  u 
)

Modify the value of ZTHR for a given sensitivity level (2-8) Parameter val is given in u units

◆ TCASII_RA()

const TCAS3D & larcfm::TCAS3D::TCASII_RA ( )
static
Returns
one static TCASII_RA

◆ TCASII_TA()

const TCAS3D & larcfm::TCAS3D::TCASII_TA ( )
static
Returns
one static TCASII_TA

◆ toPVS()

std::string larcfm::TCAS3D::toPVS ( ) const
virtual

Implements larcfm::Detection3D.

◆ toString()

std::string larcfm::TCAS3D::toString ( ) const
virtual

Implements larcfm::Detection3D.

◆ updateParameterData()

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

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