    

 ## On this page

  

 

 # simulation\_framework::evaluator::MinTtcEvaluator Class Reference

 Last update: 16.07.2025 

class [MinTtcEvaluator](classsimulation__framework_1_1evaluator_1_1MinTtcEvaluator.xhtml "class MinTtcEvaluator") [More...](classsimulation__framework_1_1evaluator_1_1MinTtcEvaluator.xhtml#details)

`#include <<a class="el" href="min__ttc__evaluator_8h_source.xhtml">min_ttc_evaluator.h</a>>`

Inheritance diagram for simulation_framework::evaluator::MinTtcEvaluator:

![Inheritance graph](/sites/default/files/migrate-content/avxcelerate_simulation_framework_2025_r2_2/classsimulation__framework_1_1evaluator_1_1MinTtcEvaluator__inherit__graph.png)

\[[legend](graph_legend.xhtml)\]

Collaboration diagram for simulation_framework::evaluator::MinTtcEvaluator:

![Collaboration graph](/sites/default/files/migrate-content/avxcelerate_simulation_framework_2025_r2_2/classsimulation__framework_1_1evaluator_1_1MinTtcEvaluator__coll__graph.png)

\[[legend](graph_legend.xhtml)\]

## <a id="pub-methods" name="pub-methods"></a>Public Member Functions

 [MinTtcEvaluator](classsimulation__framework_1_1evaluator_1_1MinTtcEvaluator.xhtml#a5a35e9df18a09910460479a7bfdadf7e) (const std::string &amp;kpi\_name="min\_ttc") void [Init](classsimulation__framework_1_1evaluator_1_1MinTtcEvaluator.xhtml#a1c317953b082649c8134c3c79cec5160) () override Initializes the KPI logic.   
 void [Reset](classsimulation__framework_1_1evaluator_1_1MinTtcEvaluator.xhtml#aff4c106aeed6de6bb55d3e5c4680e04a) () override Resets the KPI logic.   
 [core::kpi::KpiContent](structsimulation__framework_1_1core_1_1kpi_1_1KpiContent.xhtml) [CalculateKpi](classsimulation__framework_1_1evaluator_1_1MinTtcEvaluator.xhtml#aec1741a5c8b655182c090b2bafdafb12) (const osi3::GroundTruth &amp;ground\_truth) override Executes the core KPI calculation logic.   
 core::kpi::Type [GetKpiType](classsimulation__framework_1_1evaluator_1_1MinTtcEvaluator.xhtml#af021217919c4e7498c6247dd46947e2c) () const override Retrieves the KPI type.   
 ![-](/sites/default/files/migrate-content/avxcelerate_simulation_framework_2025_r2_2/closed.png) Public Member Functions inherited from [simulation\_framework::core::kpi::IKpi&lt; osi3::GroundTruth &gt;](classsimulation__framework_1_1core_1_1kpi_1_1IKpi.xhtml)[virtual](classsimulation__framework_1_1core_1_1Topic.xhtml) **~IKpi** ()=[default](classsimulation__framework_1_1core_1_1Topic.xhtml) Virtual destructor for proper cleanup of derived classes.   
 <a id="details" name="details"></a>## Detailed Description

class [MinTtcEvaluator](classsimulation__framework_1_1evaluator_1_1MinTtcEvaluator.xhtml "class MinTtcEvaluator")

Definition of [MinTtcEvaluator](classsimulation__framework_1_1evaluator_1_1MinTtcEvaluator.xhtml "class MinTtcEvaluator") class to calculate the minimum time to collision. This will store the lowest value of TTC being observed during one simulation run.

Definition at line [32](min__ttc__evaluator_8h_source.xhtml#l00032) of file [min\_ttc\_evaluator.h](min__ttc__evaluator_8h_source.xhtml).



## Constructor &amp; Destructor Documentation

<a id="a5a35e9df18a09910460479a7bfdadf7e" name="a5a35e9df18a09910460479a7bfdadf7e"></a>## [◆ ](#a5a35e9df18a09910460479a7bfdadf7e)MinTtcEvaluator()

 simulation\_framework::evaluator::MinTtcEvaluator::MinTtcEvaluator  ( const std::string &amp;  *kpi\_name* = `"min_ttc"`) 

Definition at line [20](min__ttc__evaluator_8cpp_source.xhtml#l00020) of file [min\_ttc\_evaluator.cpp](min__ttc__evaluator_8cpp_source.xhtml).

 21 : min_ttc_(std::chrono::milliseconds::max()), kpi_name_(kpi_name)

 22{

 23}







## Member Function Documentation

<a id="aec1741a5c8b655182c090b2bafdafb12" name="aec1741a5c8b655182c090b2bafdafb12"></a>## [◆ ](#aec1741a5c8b655182c090b2bafdafb12)CalculateKpi()

 [core::kpi::KpiContent](structsimulation__framework_1_1core_1_1kpi_1_1KpiContent.xhtml) simulation\_framework::evaluator::MinTtcEvaluator::CalculateKpi  ( const osi3::GroundTruth &amp;  *input*)   overridevirtual 

Executes the core KPI calculation logic.

Parameters inputThe input data required for KPI calculation. ReturnsThe calculated KPI content as a `KpiContent` object. Implements [simulation\_framework::core::kpi::IKpi&lt; osi3::GroundTruth &gt;](classsimulation__framework_1_1core_1_1kpi_1_1IKpi.xhtml#a614cb6051405e8865257360eefff9ab6).

Definition at line [32](min__ttc__evaluator_8cpp_source.xhtml#l00032) of file [min\_ttc\_evaluator.cpp](min__ttc__evaluator_8cpp_source.xhtml).

 33{

 34 core::kpi::KpiContent kpi_content;

 35 kpi_content.name = kpi_name_;

 36 kpi_content.data_type = core::kpi::Datatype::Value::kDouble;

 37 kpi_content.type = [GetKpiType](classsimulation__framework_1_1evaluator_1_1MinTtcEvaluator.xhtml#af021217919c4e7498c6247dd46947e2c)();

 38 kpi_content.unit = "ms";

 39 kpi_content.timestamp.seconds = ground_truth.timestamp().seconds();

 40 kpi_content.timestamp.nanoseconds = ground_truth.timestamp().nanos();

 41 

 42 const auto ttc = ttc_calculator_.Calculate(ground_truth);

 43 

 44 if (ttc &lt; min_ttc_)

 45 {

 46 min_ttc_ = ttc;

 47 }

 48 

 49 kpi_content.value = std::to_string(min_ttc_.count());

 50 

 51 return kpi_content;

 52}

[simulation\_framework::evaluator::MinTtcEvaluator::GetKpiType](classsimulation__framework_1_1evaluator_1_1MinTtcEvaluator.xhtml#af021217919c4e7498c6247dd46947e2c)

core::kpi::Type GetKpiType() const override

Retrieves the KPI type.

**Definition** [min\_ttc\_evaluator.cpp:54](min__ttc__evaluator_8cpp_source.xhtml#l00054)









<a id="af021217919c4e7498c6247dd46947e2c" name="af021217919c4e7498c6247dd46947e2c"></a>## [◆ ](#af021217919c4e7498c6247dd46947e2c)GetKpiType()

 core::kpi::Type simulation\_framework::evaluator::MinTtcEvaluator::GetKpiType  ( )  const  overridevirtual 

Retrieves the KPI type.

Indicates the type of KPI, which can be one of the following:

- `kpi::Type::kScalar`: A scalar value with a unit.
- `kpi::Type::kTimeSeries`: A time series representation.
- `kpi::Type::kLog`: A continuous log. ReturnsThe type of the KPI as a `kpi::Type` enum value.

Implements [simulation\_framework::core::kpi::IKpi&lt; osi3::GroundTruth &gt;](classsimulation__framework_1_1core_1_1kpi_1_1IKpi.xhtml#aeef163c532f5b7b03e685642cb75ccaa).

Definition at line [54](min__ttc__evaluator_8cpp_source.xhtml#l00054) of file [min\_ttc\_evaluator.cpp](min__ttc__evaluator_8cpp_source.xhtml).

 55{

 56 return core::kpi::Type::kScalar;

 57}







<a id="a1c317953b082649c8134c3c79cec5160" name="a1c317953b082649c8134c3c79cec5160"></a>## [◆ ](#a1c317953b082649c8134c3c79cec5160)Init()

 void simulation\_framework::evaluator::MinTtcEvaluator::Init  ( )   overridevirtual 

Initializes the KPI logic.

Sets up any necessary state or resources required for KPI calculation.

Implements [simulation\_framework::core::kpi::IKpi&lt; osi3::GroundTruth &gt;](classsimulation__framework_1_1core_1_1kpi_1_1IKpi.xhtml#affa38e79e2d2fe57ac913fa736437fae).

Definition at line [25](min__ttc__evaluator_8cpp_source.xhtml#l00025) of file [min\_ttc\_evaluator.cpp](min__ttc__evaluator_8cpp_source.xhtml).

 25{}







<a id="aff4c106aeed6de6bb55d3e5c4680e04a" name="aff4c106aeed6de6bb55d3e5c4680e04a"></a>## [◆ ](#aff4c106aeed6de6bb55d3e5c4680e04a)Reset()

 void simulation\_framework::evaluator::MinTtcEvaluator::Reset  ( )   overridevirtual 

Resets the KPI logic.

Clears temporary data and prepares the KPI logic for a new calculation, especially if the simulation needs to be restarted.

Implements [simulation\_framework::core::kpi::IKpi&lt; osi3::GroundTruth &gt;](classsimulation__framework_1_1core_1_1kpi_1_1IKpi.xhtml#ad08cdb1d1091c84920a9733a81c752a5).

Definition at line [27](min__ttc__evaluator_8cpp_source.xhtml#l00027) of file [min\_ttc\_evaluator.cpp](min__ttc__evaluator_8cpp_source.xhtml).

 28{

 29 min_ttc_ = std::chrono::milliseconds::max();

 30}







---

The documentation for this class was generated from the following files:- [min\_ttc\_evaluator.h](min__ttc__evaluator_8h_source.xhtml)
- [min\_ttc\_evaluator.cpp](min__ttc__evaluator_8cpp_source.xhtml)