diff --git a/Detector/MagneticFieldMap/src/GenericBFieldMapBrBzFactory.cpp b/Detector/MagneticFieldMap/src/GenericBFieldMapBrBzFactory.cpp index 897d360a5b6fe64a87c03098c3157ea05e24173e..41bd439f0f970dc377c0b8691015c0afc557c81d 100644 --- a/Detector/MagneticFieldMap/src/GenericBFieldMapBrBzFactory.cpp +++ b/Detector/MagneticFieldMap/src/GenericBFieldMapBrBzFactory.cpp @@ -1,6 +1,14 @@ /* * In this file, the xml is parsed and the GenericBFieldMapBrBz object is created and configured. - * + * + * The properties for the GenericBFieldMapBrBz + * - provider + * - [file, db] + * - source + * - file path for the 'file' mode. + * - DB ... for the 'db' mode. + * - rhoMin, rhoMax, zMin, zMax + * * -- Tao Lin <lintao AT ihep.ac.cn> */ #include "GenericBFieldMapBrBz.h" @@ -26,6 +34,13 @@ static dd4hep::Ref_t create_GenericBFieldMapBrBz(dd4hep::Detector& , // 1. retrieve the parameters from xml dd4hep::xml::Component xmlParameter(handle); + // - provider + bool hasProvider = xmlParameter.hasAttr(_Unicode(provider)); + if (!hasProvider) { + std::string error_msg = "[ERROR] GenericBFieldMapBrBz: Must specify the 'provider'. "; + throw std::runtime_error(error_msg); + } + // 2. create the CartesianField dd4hep::CartesianField obj; GenericBFieldMapBrBz* ptr = new GenericBFieldMapBrBz();