diff --git a/GeoModelCore/GeoModelKernel/src/GeoMaterial.cxx b/GeoModelCore/GeoModelKernel/src/GeoMaterial.cxx index c4e3bcc47444ebad65f013c13a67d7de827ce088..1727e5e4463947694eed427bc5bd5ba6b691008b 100755 --- a/GeoModelCore/GeoModelKernel/src/GeoMaterial.cxx +++ b/GeoModelCore/GeoModelKernel/src/GeoMaterial.cxx @@ -294,7 +294,7 @@ void GeoMaterial::lock () if (getNumElements () == 0) { - throw std::out_of_range ("Attempt to lock a material with no elements"); + throw std::out_of_range ("Attempt to lock a material with no elements "+getName()); return; } diff --git a/GeoModelTools/GDMLtoGM/src/GDMLController.cxx b/GeoModelTools/GDMLtoGM/src/GDMLController.cxx index 914cb4ab8257c86981259ccd1a739c899f7c7cac..04418055c98304de127b40a67bd7a865f2f4aed2 100644 --- a/GeoModelTools/GDMLtoGM/src/GDMLController.cxx +++ b/GeoModelTools/GDMLtoGM/src/GDMLController.cxx @@ -263,6 +263,7 @@ void GDMLController::registerHandlers() new MEEHandler("MEE",this); new atomHandler("atom",this); new fractionHandler("fraction",this); + new fractionHandler("composite",this); new isotopeHandler("isotope",this); new elementHandler("element",this); new materialHandler("material",this); diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/AssemblyrefProcessor.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/AssemblyrefProcessor.cxx index fa940e0636b6c11806edb216a0c24a5255201f4f..a0e63cf7f8333f8023a6651777ea3b70140ca2b5 100644 --- a/GeoModelTools/GeoModelXML/GeoModelXml/src/AssemblyrefProcessor.cxx +++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/AssemblyrefProcessor.cxx @@ -35,7 +35,7 @@ char *toRelease; toRelease = XMLString::transcode(elem->getNodeName()); string nodeName(toRelease); XMLString::release(&toRelease); - if (nodeName != string("assembly")) { + if (nodeName != string("assembly") && nodeName != string("set")) { msglog << MSG::FATAL << "Error in xml/gmx file: assemblyref " << XMLString::transcode(idref) << " referenced a " << nodeName << " instead of an assembly.\n"; std::abort();