    

 ## On this page

  

 

 # gt\_base\_evaluator

 Last update: 16.07.2025 

<a id="l00001" name="l00001"></a> 1 

<a id="l00005" name="l00005"></a> 5 

<a id="l00006" name="l00006"></a> 6\#pragma once

<a id="l00007" name="l00007"></a> 7 

<a id="l00008" name="l00008"></a> 8\#include "core/kpi/i\_evaluator/i\_evaluator.h"

<a id="l00009" name="l00009"></a> 9\#include &lt;osi\_groundtruth.pb.h&gt;

<a id="l00010" name="l00010"></a> 10\#include &lt;vector&gt;

<a id="l00011" name="l00011"></a> 11 

<a id="l00016" name="l00016"></a> 16namespace [simulation\_framework](namespacesimulation__framework.xhtml)

<a id="l00017" name="l00017"></a> 17{

<a id="l00018" name="l00018"></a> 18 

<a id="l00023" name="l00023"></a> 23namespace [evaluator](namespaceevaluator.xhtml)

<a id="l00024" name="l00024"></a> 24{

<a id="l00025" name="l00025"></a> 25 

<a id="l00132" name="l00132"></a>[ 132](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml)class [GtBaseEvaluator](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml) : public [core::IEvaluator](classsimulation__framework_1_1core_1_1IEvaluator.xhtml)&lt;osi3::GroundTruth&gt;

<a id="l00133" name="l00133"></a> 133{

<a id="l00134" name="l00134"></a> 134 public:

<a id="l00135" name="l00135"></a> 135 [GtBaseEvaluator](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml)();

<a id="l00136" name="l00136"></a> 136 virtual [~GtBaseEvaluator](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml)() = default;

<a id="l00137" name="l00137"></a> 137 

<a id="l00141" name="l00141"></a>[ 141](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#a930cb234264aa995b30eab8c537a15ad) void [Init](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#a930cb234264aa995b30eab8c537a15ad)();

<a id="l00142" name="l00142"></a> 142 

<a id="l00146" name="l00146"></a>[ 146](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#acacfb885fab2f83b114e870fa9433f3d) void [Reset](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#acacfb885fab2f83b114e870fa9433f3d)();

<a id="l00147" name="l00147"></a> 147 

<a id="l00151" name="l00151"></a>[ 151](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#a09b8959aaaacce2b842abfd304b63674) void [Evaluate](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#a09b8959aaaacce2b842abfd304b63674)();

<a id="l00152" name="l00152"></a> 152 

<a id="l00157" name="l00157"></a>[ 157](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#a7d9970bad7943a552c385b01785fb66f) void [AddKpi](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#a7d9970bad7943a552c385b01785fb66f)(std::unique_ptr&lt;[core::kpi::IKpi&lt;osi3::GroundTruth&gt;](classsimulation__framework_1_1core_1_1kpi_1_1IKpi.xhtml)&gt; [kpi](namespacekpi.xhtml)) override;

<a id="l00158" name="l00158"></a> 158 

<a id="l00163" name="l00163"></a>[ 163](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#a2e37677f4b8884d78f028589c6adac48) core::kpi::KpiMessage [GetKpiMessage](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#a2e37677f4b8884d78f028589c6adac48)() const;

<a id="l00164" name="l00164"></a> 164 

<a id="l00169" name="l00169"></a>[ 169](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#adc68080d44c2f5a294dbb511fe7d1c77) void [SetInput](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#adc68080d44c2f5a294dbb511fe7d1c77)(const osi3::GroundTruth&amp; ground_truth);

<a id="l00170" name="l00170"></a> 170 

<a id="l00171" name="l00171"></a> 171 private:

<a id="l00174" name="l00174"></a> 174 std::vector&lt;std::unique_ptr&lt;core::kpi::IKpi&lt;osi3::GroundTruth&gt;&gt;&gt; kpis_;

<a id="l00175" name="l00175"></a> 175 

<a id="l00177" name="l00177"></a> 177 osi3::GroundTruth ground_truth_;

<a id="l00178" name="l00178"></a> 178 

<a id="l00180" name="l00180"></a> 180 core::kpi::KpiMessage kpi_message_{};

<a id="l00181" name="l00181"></a> 181};



<a id="l00182" name="l00182"></a> 182 

<a id="l00183" name="l00183"></a> 183} // namespace evaluator

<a id="l00184" name="l00184"></a> 184} // namespace simulation\_framework

[simulation\_framework::core::IEvaluator](classsimulation__framework_1_1core_1_1IEvaluator.xhtml)

class IEvaluator

**Definition** [i\_evaluator.h:23](i__evaluator_8h_source.xhtml#l00022)



[simulation\_framework::core::kpi::IKpi](classsimulation__framework_1_1core_1_1kpi_1_1IKpi.xhtml)

Represents core KPI calculation logic.

**Definition** [i\_kpi.h:39](i__kpi_8h_source.xhtml#l00038)



[simulation\_framework::evaluator::GtBaseEvaluator](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml)

This is the implementation of IEvaluator interface and provides users ability to evaluate KPIs that a...

**Definition** [gt\_base\_evaluator.h:133](gt__base__evaluator_8h_source.xhtml#l00132)



[simulation\_framework::evaluator::GtBaseEvaluator::Evaluate](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#a09b8959aaaacce2b842abfd304b63674)

void Evaluate()



[simulation\_framework::evaluator::GtBaseEvaluator::GetKpiMessage](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#a2e37677f4b8884d78f028589c6adac48)

core::kpi::KpiMessage GetKpiMessage() const



[simulation\_framework::evaluator::GtBaseEvaluator::AddKpi](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#a7d9970bad7943a552c385b01785fb66f)

void AddKpi(std::unique_ptr&lt; core::kpi::IKpi&lt; osi3::GroundTruth &gt; &gt; kpi) override



[simulation\_framework::evaluator::GtBaseEvaluator::Init](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#a930cb234264aa995b30eab8c537a15ad)

void Init()



[simulation\_framework::evaluator::GtBaseEvaluator::Reset](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#acacfb885fab2f83b114e870fa9433f3d)

void Reset()



[simulation\_framework::evaluator::GtBaseEvaluator::SetInput](classsimulation__framework_1_1evaluator_1_1GtBaseEvaluator.xhtml#adc68080d44c2f5a294dbb511fe7d1c77)

void SetInput(const osi3::GroundTruth &amp;ground_truth)



[evaluator](namespaceevaluator.xhtml)

The namespace containing evaluator implementations.



[kpi](namespacekpi.xhtml)

The namespace for kpi definition and corresponding APIs under namespace simulation_framework::evaluat...



[simulation\_framework](namespacesimulation__framework.xhtml)

The top namespace for simulation framework.