File indexing completed on 2025-08-06 08:17:35
0001 #include "CentralityInfov2.h"
0002
0003 #include <limits>
0004
0005 void CentralityInfov2::identify(std::ostream &os) const
0006 {
0007 os << " CentralityInfo v2: " << std::endl;
0008 os << " Centile: " << (has_centile(CentralityInfo::PROP::mbd_NS) ? get_centile(CentralityInfo::PROP::mbd_NS) : -999.99) << std::endl;
0009 os << " CentBin : " << (has_centrality_bin(CentralityInfo::PROP::mbd_NS) ? get_centrality_bin(CentralityInfo::PROP::mbd_NS) : -999.99) << std::endl;
0010
0011 return;
0012 }
0013
0014 bool CentralityInfov2::has_centrality_bin(const PROP prop_id) const
0015 {
0016 return _centrality_bin_map.find(prop_id) != _centrality_bin_map.end();
0017 }
0018
0019 void CentralityInfov2::set_centrality_bin(const PROP prop_id, int value)
0020 {
0021 _centrality_bin_map[prop_id] = value;
0022 }
0023
0024 int CentralityInfov2::get_centrality_bin(const PROP prop_id) const
0025 {
0026 if (!has_centrality_bin(prop_id))
0027 {
0028 return std::numeric_limits<int>::quiet_NaN();
0029 }
0030
0031 return _centrality_bin_map.at(prop_id);
0032 }
0033
0034 void CentralityInfov2::CopyTo(CentralityInfo *info)
0035 {
0036 CentralityInfov1::CopyTo(info);
0037 for (auto const &it : _centrality_bin_map)
0038 {
0039 info->set_centrality_bin((CentralityInfo::PROP)(it.first), it.second);
0040 }
0041 }