28 os <<
"[ " << std::setw(3) <<
id.volume();
29 os <<
" | " << std::setw(3) <<
id.boundary();
30 os <<
" | " << std::setw(3) <<
id.layer();
31 os <<
" | " << std::setw(3) <<
id.approach();
32 os <<
" | " << std::setw(4) <<
id.sensitive() <<
" ]";
39 const std::map<std::string, std::string>& surface_name,
40 const uint64_t&
id,
const int&
type,
const float&
pos,
41 const float& range_min,
const float& range_max) {
43 std::ostringstream layerID;
50 std::vector<std::string> Ids;
51 while ((del_pos = Id_temp.find(delimiter)) != std::string::npos) {
52 Ids.push_back(Id_temp.substr(0, del_pos));
53 Id_temp.erase(0, del_pos + delimiter.length());
55 Ids.push_back(Id_temp);
57 for (
int tag = 0; tag < 5; tag++) {
58 Ids[tag].erase(std::remove(Ids[tag].
begin(), Ids[tag].
end(),
' '),
60 Ids[tag].erase(std::remove(Ids[tag].
begin(), Ids[tag].
end(),
'['),
62 Ids[tag].erase(std::remove(Ids[tag].
begin(), Ids[tag].
end(),
']'),
66 surface_info.
idname =
"v" + Ids[0] +
"_b" + Ids[1] +
"_l" + Ids[2] +
"_a" +
67 Ids[3] +
"_s" + Ids[4];
70 if (surface_name.find(surface_id) != surface_name.end()) {
71 surface_info.
name = surface_name.at(surface_id);
73 surface_info.
name =
"";
75 surface_info.
id = surface_id;