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();