From b9616b51fa563a0889238c97d257e24f35f759b0 Mon Sep 17 00:00:00 2001 From: lintao <lintao51@gmail.com> Date: Fri, 14 May 2021 22:33:16 +0800 Subject: [PATCH] WIP: the provider in XML. --- .../src/GenericBFieldMapBrBzFactory.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Detector/MagneticFieldMap/src/GenericBFieldMapBrBzFactory.cpp b/Detector/MagneticFieldMap/src/GenericBFieldMapBrBzFactory.cpp index 897d360a..41bd439f 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(); -- GitLab