diff --git a/DetectorDescription/DDCMS/plugins/dd4hep/DDDefinitions2Objects.cc b/DetectorDescription/DDCMS/plugins/dd4hep/DDDefinitions2Objects.cc index bb0afe27e1230..4b3fbdc425ee6 100644 --- a/DetectorDescription/DDCMS/plugins/dd4hep/DDDefinitions2Objects.cc +++ b/DetectorDescription/DDCMS/plugins/dd4hep/DDDefinitions2Objects.cc @@ -1172,6 +1172,13 @@ static void convert_boolean(cms::DDParsingContext* context, xml_h element) { Converter(context->description, context, &trafo)(element); ns.context()->unresolvedShapes.emplace(nam, DDParsingContext::BooleanShape(solidName[0], solidName[1], trafo)); + if (solids[0].isValid() == false) { + printout(ERROR, "DD4CMS", "++ Solid not defined yet: %s", solidName[0].c_str()); + } + if (solids[1].isValid() == false) { + printout(ERROR, "DD4CMS", "++ Solid not defined yet: %s", solidName[1].c_str()); + } + printout(ERROR, "DD4CMS", "++ Re-order XML files to prevent references to undefined solids"); } if (!boolean.isValid()) { // Delay processing the shape