17 auto geoInfoRoot = std::make_unique<DetGeomDesc>(fv,
isRun2);
22 edm::LogInfo(
"PPSGeometryESProducer") <<
"Successfully built geometry.";
41 const auto& detId =
child->geographicalID();
64 if (fv.
next(0) ==
false) {
65 edm::LogError(
"PPSGeometryESProducer") <<
"Filtered view is empty. Cannot build.";
69 auto geoInfoRoot = std::make_unique<DetGeomDesc>(fv,
isRun2);
77 const auto& detId =
child->geographicalID();
82 geoInfoRoot->addComponent(
child);
85 edm::LogInfo(
"PPSGeometryESProducer") <<
"Successfully built geometry, it has " << (geoInfoRoot->components()).
size()
86 <<
" DetGeomDesc nodes.";
bool parent()
set the current node to the parent node ...
bool nextSibling()
set the current node to the next sibling ...
const cms::DDDetector * detector() const
Log< level::Error, false > LogError
Compact representation of the geometrical detector hierarchy.
void buildDetGeomDescDescendants(DDFilteredView &fv, DetGeomDesc *geoInfoParent, const bool isRun2)
std::unique_ptr< DetGeomDesc > buildDetGeomDescFromCompactView(const DDCompactView &myCompactView, const bool isRun2)
bool next(int)
set current node to the next node in the filtered tree
A DDFilter that always returns true.
Log< level::Info, false > LogInfo
dd4hep::Volume worldVolume() const
Handle to the world volume containing everything.
bool firstChild()
set the current node to the first child ...
void addComponent(DetGeomDesc *)