53 auto detector_element_to_geoid = std::make_unique<DetectorElementToActsGeometryIdMap>();
56 unsigned n_sensitive_elements{0};
57 unsigned n_detector_elements{0};
58 unsigned n_wrong_type{0};
61 trackingGeometry()->visitSurfaces([
this, &counter, &detector_element_to_geoid](
const Acts::Surface *surface) {
62 if (!surface || !surface->associatedDetectorElement()) {
63 ++counter.n_wrong_type;
66 ++counter.n_sensitive_elements;
67 const auto* detEl =
dynamic_cast<const IDetectorElementBase*
>(surface->associatedDetectorElement());
76 ++counter.n_detector_elements;
78 switch(detEl->detectorType()) {
103 ++counter.n_detector_elements;
108 counter.n_detector_elements = 0;
112 ATH_MSG_INFO(
"Surfaces without associated detector elements " << (counter.n_sensitive_elements -counter.n_detector_elements)
113 <<
" (with " << counter.n_detector_elements <<
")" );
114 if (counter.n_sensitive_elements > 0 &&
115 counter.n_detector_elements==0) {
116 ATH_MSG_ERROR(
"No surface with associated detector element" );
119 if (counter.n_wrong_type>0) {
120 ATH_MSG_WARNING(
"Surfaces associated to detector elements not of type Trk::TrkDetElementBase :" << counter.n_wrong_type);
122 return detector_element_to_geoid;