Go to the documentation of this file. 1 #ifndef DETECTOR_DESCRIPTION_DD_VOLUME_PROCESSOR_H
2 #define DETECTOR_DESCRIPTION_DD_VOLUME_PROCESSOR_H
4 #include "DD4hep/VolumeProcessor.h"
24 auto first =
v.find_first_of(
":");
30 auto found =
v.find_last_of(
"_");
32 v.remove_suffix(
v.size() -
found);
37 std::vector<std::string_view>
split(std::string_view
str,
const char* delims) {
38 std::vector<std::string_view>
ret;
42 while (
pos != std::string_view::npos) {
54 bool compare(std::string_view s1, std::string_view
s2) {
73 log <<
"\nHierarchical level:" <<
level <<
" Placement:";
75 log <<
"/" <<
i <<
", \n";
76 log <<
"\n\tMaterial:" << vol.material().name() <<
"\tSolid: " << vol.solid().name() <<
"\n";
std::vector< std::string_view > split(std::string_view str, const char *delims)
ret
prodAgent to be discontinued
dd4hep::PlacedVolume PlacedVolume
std::string_view stripCopyNo(std::string_view v)
std::vector< std::string_view > m_volumes
DDVolumeProcessor()=default
dd4hep::PlacedVolume PlacedVolume
int process(PlacedVolume pv, int level, bool recursive) override
Callback to retrieve PlacedVolume information of an entire Placement.
int operator()(PlacedVolume pv, int level) override
Volume callback.
dd4hep::PlacedVolumeProcessor PlacedVolumeProcessor
std::string_view stripNamespace(std::string_view v)
LogVerbatim & log(F &&iF)
~DDVolumeProcessor() override=default
Namespace of DDCMS conversion namespace.
bool compare(std::string_view s1, std::string_view s2)