25 namespace perception {
60 bool AddApp(
const std::string& app_name,
61 const std::vector<uint64_t>& fod_subsets,
62 const std::vector<std::string>& fod_subset_names =
63 std::vector<std::string>());
64 bool IsAppAdded(
const std::string& app_name);
66 DstCommonDataPtr GetAppDataPtr(
const std::string& app_name);
67 size_t FodSubsetToInd(
const std::string& app_name,
68 const uint64_t& fod_subset);
69 uint64_t IndToFodSubset(
const std::string& app_name,
const size_t& ind);
81 void BuildNamesMap(
const std::vector<std::string>& fod_subset_names,
86 std::map<std::string, DstCommonData> dst_common_data_;
88 std::mutex map_mutex_;
93 explicit Dst(
const std::string& app_name);
96 bool SetBbaVec(
const std::vector<double>& bba_vec);
98 bool SetBba(
const std::map<uint64_t, double>& bba_map);
100 void ComputeSptPlsUct()
const;
101 void ComputeProbability()
const;
103 const std::vector<double>&
GetBbaVec()
const {
return bba_vec_; }
105 double GetSubsetBfmass(uint64_t fod_subset)
const;
106 double GetIndBfmass(
size_t ind)
const;
109 return plausibility_vec_;
112 return uncertainty_vec_;
115 return probability_vec_;
117 std::string PrintBba()
const;
121 std::string
Name()
const {
return app_name_; }
125 void SelfCheck()
const;
128 std::string app_name_;
130 mutable DstCommonDataPtr dst_data_ptr_ =
nullptr;
131 mutable std::vector<double> bba_vec_;
132 mutable std::vector<double> support_vec_;
133 mutable std::vector<double> plausibility_vec_;
134 mutable std::vector<double> uncertainty_vec_;
135 mutable std::vector<double> probability_vec_;
std::vector< std::vector< size_t > > inter_relations_
Definition: dst_evidence.h:42
const std::vector< double > & GetBbaVec() const
Definition: dst_evidence.h:103
std::vector< std::string > fod_subset_names_
Definition: dst_evidence.h:36
Definition: dst_evidence.h:50
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
Angle< T > operator*(Angle< T > lhs, Scalar rhs)
Multiplies an Angle by a scalar.
Definition: angle.h:208
const std::vector< double > & GetSupportVec() const
Definition: dst_evidence.h:107
std::string Name() const
Definition: dst_evidence.h:121
Definition: dst_evidence.h:28
const size_t GetBbaSize() const
Definition: dst_evidence.h:104
std::vector< size_t > fod_subset_cardinalities_
Definition: dst_evidence.h:35
const std::vector< double > & GetProbabilityVec() const
Definition: dst_evidence.h:114
Angle< T > operator+(Angle< T > lhs, Angle< T > rhs)
Sums two angles.
Definition: angle.h:184
std::vector< std::vector< std::pair< size_t, size_t > > > combination_relations_
Definition: dst_evidence.h:38
std::vector< std::vector< size_t > > subset_relations_
Definition: dst_evidence.h:40
Definition: dst_evidence.h:91
std::vector< uint64_t > fod_subsets_
Definition: dst_evidence.h:33
bool init_
Definition: dst_evidence.h:30
const std::vector< double > & GetUncertaintyVec() const
Definition: dst_evidence.h:111
std::map< uint64_t, size_t > subsets_ind_map_
Definition: dst_evidence.h:43
size_t fod_loc_
Definition: dst_evidence.h:32
DstCommonData * DstCommonDataPtr
Definition: dst_evidence.h:46
const std::vector< double > & GetPlausibilityVec() const
Definition: dst_evidence.h:108
void Normalize(Vectord *prob)
static DstManager * Instance()
Definition: dst_evidence.h:52