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

Public Member Functions

std::string toString () const
 
 ConflictData (double t_in, double t_out, double t_crit, double d_crit, const Vect3 &s, const Vect3 &v)
 
 ConflictData (const LossData &ld, double t_crit, double d_crit, const Vect3 &s, const Vect3 &v)
 
Vect3 const & get_s () const
 
Vect3 const & get_v () const
 
double HMD (double T) const
 
double HMD (const std::string &u, double T) const
 
double VMD (double T) const
 
double VMD (const std::string &u, double T) const
 
double horizontalSeparation () const
 
double horizontalSeparation (const std::string &u) const
 
double horizontalSeparationAtTime (double time) const
 
double horizontalSeparationAtTime (const std::string &u, double time) const
 
double verticalSeparation () const
 
double verticalSeparation (const std::string &u) const
 
double verticalSeparationAtTime (double time) const
 
double verticalSeparationAtTime (const std::string &u, double time) const
 
double tcpa2D () const
 
double tcpa3D () const
 
double tcoa () const
 
double horizontalClosureRate () const
 
double horizontalClosureRate (const std::string &u) const
 
double verticalClosureRate () const
 
double verticalClosureRate (const std::string &u) const
 
double getCriticalTimeOfConflict () const
 
double getDistanceAtCriticalTime () const
 
- Public Member Functions inherited from larcfm::LossData
 LossData (double time_in, double time_out)
 
bool conflict () const
 
bool conflictBefore (double t) const
 
bool conflictLastMoreThan (double thr) const
 
bool conflict (double thr) const
 
double getTimeIn () const
 
double getTimeOut () const
 
Interval getTimeInterval () const
 

Static Public Member Functions

static const ConflictDataEMPTY ()
 
- Static Public Member Functions inherited from larcfm::LossData
static const LossDataEMPTY ()
 

Public Attributes

double time_crit
 
double dist_crit
 

Private Attributes

Vect3 s_
 
Vect3 v_
 

Member Function Documentation

◆ get_s()

Vect3 const & larcfm::ConflictData::get_s ( ) const

Returns internal vector representation of relative aircraft position.

◆ get_v()

Vect3 const & larcfm::ConflictData::get_v ( ) const

Returns internal vector representation of relative aircraft velocity.

◆ getCriticalTimeOfConflict()

double larcfm::ConflictData::getCriticalTimeOfConflict ( ) const
Returns
A time in seconds that can be used to compare severity of conflicts for arbitrary well-clear volumes. This time is not necessarily TCPA. ** Don't use it as TCPA. **

◆ getDistanceAtCriticalTime()

double larcfm::ConflictData::getDistanceAtCriticalTime ( ) const
Returns
A non-negative scalar that can be used to compare severity of conflicts for arbitrary well-clear volumes. This scalar is a distance in the mathematical way. It is 0 when aircraft are at the same poistion, but it isn't a distance in the physical way. In particular, this distance is unitless. ** Don't use as CPA **

◆ HMD() [1/2]

double larcfm::ConflictData::HMD ( const std::string &  u,
double  T 
) const

Returns HMD, in specified units, within lookahead time t, in seconds, assuming straight line trajectory.

◆ HMD() [2/2]

double larcfm::ConflictData::HMD ( double  T) const

Returns HMD, in internal units, within lookahead time t, in seconds, assuming straight line trajectory.

◆ horizontalClosureRate() [1/2]

double larcfm::ConflictData::horizontalClosureRate ( ) const

Horizontal closure rate

Returns
Horizontal closure rate in internal units at current time

◆ horizontalClosureRate() [2/2]

double larcfm::ConflictData::horizontalClosureRate ( const std::string &  u) const

Horizontal closure rate

Parameters
uunits
Returns
Horizontal closure rate in specified units u at current time

◆ horizontalSeparation() [1/2]

double larcfm::ConflictData::horizontalSeparation ( ) const

Horizontal separation

Returns
Horizontal separation in internal units at current time

◆ horizontalSeparation() [2/2]

double larcfm::ConflictData::horizontalSeparation ( const std::string &  u) const

Horizontal separation

Parameters
uunits
Returns
Horizontal separation in specified units u at current time

◆ horizontalSeparationAtTime() [1/2]

double larcfm::ConflictData::horizontalSeparationAtTime ( const std::string &  u,
double  time 
) const

Horizontal separation at given time

Parameters
timetime in seconds
uunits
Returns
Horizontal separation in specified units at given time

◆ horizontalSeparationAtTime() [2/2]

double larcfm::ConflictData::horizontalSeparationAtTime ( double  time) const

Horizontal separation

Parameters
timein seconds
Returns
Horizontal separation in internal units at given time

◆ tcoa()

double larcfm::ConflictData::tcoa ( ) const

Time to co-altitude.

Returns
time to co-altitude in seconds. Returns NaN is v_.z is zero.

◆ tcpa2D()

double larcfm::ConflictData::tcpa2D ( ) const

Time to horizontal closest point of approach in seconds. When aircraft are diverging, tcpa is defined as 0.

◆ tcpa3D()

double larcfm::ConflictData::tcpa3D ( ) const

Time to 3D closest point of approach in seconds. When aircraft are diverging, tcpa is defined as 0

◆ toString()

std::string larcfm::ConflictData::toString ( ) const
virtual
Returns
A non-negative scalar that can be used to compare severity of conflicts for arbitrary well-clear volumes. This scalar is a distance in the mathematical way. It is 0 when aircraft are at the same poistion, but it isn't a distance in the physical way. In particular, this distance is unitless. ** Don't use as CPA **

Reimplemented from larcfm::LossData.

◆ verticalClosureRate() [1/2]

double larcfm::ConflictData::verticalClosureRate ( ) const

Vertical closure rate

Returns
Vertical closure rate in internal units at current time

◆ verticalClosureRate() [2/2]

double larcfm::ConflictData::verticalClosureRate ( const std::string &  u) const

Vertical closure rate

Parameters
uunits
Returns
Vertical closure rate in specified units at current time

◆ verticalSeparation() [1/2]

double larcfm::ConflictData::verticalSeparation ( ) const

Vertical separation

Returns
Vertical separation in internal units at current time

◆ verticalSeparation() [2/2]

double larcfm::ConflictData::verticalSeparation ( const std::string &  u) const

Vertical separation

Parameters
uunits
Returns
Vertical separation in specified units at current time

◆ verticalSeparationAtTime() [1/2]

double larcfm::ConflictData::verticalSeparationAtTime ( const std::string &  u,
double  time 
) const

Vertical separation at given time

Parameters
timetime in seconds
uunits
Returns
Vertical separation in specified units at given time

◆ verticalSeparationAtTime() [2/2]

double larcfm::ConflictData::verticalSeparationAtTime ( double  time) const

Vertical separation at given time

Parameters
timetime in seconds
Returns
Vertical separation in internal units at given time

◆ VMD() [1/2]

double larcfm::ConflictData::VMD ( const std::string &  u,
double  T 
) const

Returns VMD, in specified units, within lookahead time t, in seconds, assuming straight line trajectory.

◆ VMD() [2/2]

double larcfm::ConflictData::VMD ( double  T) const

Returns VMD, in internal units, within lookahead time t, in seconds, assuming straight line trajectory.


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