diff --git a/CMakeLists.txt b/CMakeLists.txt
index bd13f58b40b5479cfa2b8cf65b911ffa79a315b8..652d3afaead1e9d75d8ebe628c32909644fc62ef 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -73,6 +73,7 @@ include(DD4hep_XML_setup)
#---Packages------------------------------------------------------------------------
add_subdirectory(DDSegmentation)
+add_subdirectory(DDParsers)
add_subdirectory(DDCore)
add_subdirectory(DDSurfaces)
add_subdirectory(DDRec)
diff --git a/DDCore/CMakeLists.txt b/DDCore/CMakeLists.txt
index 81d0a6218b0ab0ee1e8532909bcbbf0594c1a345..3e98d8965bc6b709763db216ee66c88015726043 100644
--- a/DDCore/CMakeLists.txt
+++ b/DDCore/CMakeLists.txt
@@ -11,7 +11,7 @@
#=================================================================================
dd4hep_package( DDCore
USES [ROOT REQUIRED COMPONENTS Geom GenVector]
- DDSegmentation
+ DDSegmentation DDParsers
OPTIONAL XERCESC
INCLUDE_DIRS include
INSTALL_INCLUDES include/DD4hep include/XML include/JSON)
@@ -33,12 +33,6 @@ dd4hep_add_dictionary( G__dd4hep
include/XML/tinystring.h
LINKDEF include/ROOT/LinkDef.h )
-dd4hep_add_package_library ( DDParsers
- INCLUDE_DIRS
- LINK_LIBRARIES
- SOURCES src/Evaluator/*.cpp
- OPTIONAL [BOOST SOURCES src/parsers/*.cpp]
- )
#---Generate DDCore Library-------------------------------------------------------
dd4hep_add_package_library ( DDCore
@@ -50,4 +44,4 @@ dd4hep_add_package_library ( DDCore
)
# Generate DDCore plugins---------------------------------------------------------
-dd4hep_add_plugin ( DDCorePlugins SOURCES src/plugins/*.cpp )
+dd4hep_add_plugin ( DDCorePlugins SOURCES src/plugins/*.cpp )
diff --git a/DDCore/include/DD4hep/DD4hepUnits.h b/DDCore/include/DD4hep/DD4hepUnits.h
index f3f10c35b57cdbbb1040c43821291d301f7572cf..a89869a538367e5d710befcb9f048a9319f76796 100644
--- a/DDCore/include/DD4hep/DD4hepUnits.h
+++ b/DDCore/include/DD4hep/DD4hepUnits.h
@@ -1,395 +1 @@
-//==========================================================================
-// AIDA Detector description implementation
-//--------------------------------------------------------------------------
-// Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
-// All rights reserved.
-//
-// For the licensing terms see $DD4hepINSTALL/LICENSE.
-// For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
-//
-// Author : M.Frank
-//
-//==========================================================================
-
-//
-// System of Units for dd4hep - similar to Geant3 and TGeo/ROOT
-//
-// Taken from CLHEP with the following basic translations:
-//
-// Geant4 dd4hep
-// ----------------------------------------------------------------
-// millimeter mm=1,cm=10 centimeter mm=0.1,cm=1
-// nanosecond s=1e9 second ns=1e-9,s=1
-// Mega electron Volt GeV=1e3 GeV GeV=1
-// radian rad=1 rad = 1 //NB: different from TGeo
-//
-//
-#ifndef DD4HEP_TGEOUNITS_H
-#define DD4HEP_TGEOUNITS_H
-
-/// Utility namespace to support TGeo units.
-namespace dd4hep {
-
- //namespace units {
- //
- // Length [L]
- //
- static const double millimeter = 0.1;
- static const double millimeter2 = millimeter * millimeter;
- static const double millimeter3 = millimeter * millimeter * millimeter;
-
- static const double centimeter = 10. * millimeter;
- static const double centimeter2 = centimeter * centimeter;
- static const double centimeter3 = centimeter * centimeter * centimeter;
-
- static const double meter = 1000. * millimeter;
- static const double meter2 = meter * meter;
- static const double meter3 = meter * meter * meter;
-
- static const double kilometer = 1000. * meter;
- static const double kilometer2 = kilometer * kilometer;
- static const double kilometer3 = kilometer * kilometer * kilometer;
-
- static const double parsec = 3.0856775807e+16 * meter;
-
- static const double micrometer = 1.e-6 * meter;
- static const double nanometer = 1.e-9 * meter;
- static const double angstrom = 1.e-10 * meter;
- static const double fermi = 1.e-15 * meter;
-
- static const double barn = 1.e-28 * meter2;
- static const double millibarn = 1.e-3 * barn;
- static const double microbarn = 1.e-6 * barn;
- static const double nanobarn = 1.e-9 * barn;
- static const double picobarn = 1.e-12 * barn;
-
- // symbols
- static const double nm = nanometer;
- static const double um = micrometer;
-
- static const double mm = millimeter;
- static const double mm2 = millimeter2;
- static const double mm3 = millimeter3;
-
- static const double cm = centimeter;
- static const double cm2 = centimeter2;
- static const double cm3 = centimeter3;
-
- static const double m = meter;
- static const double m2 = meter2;
- static const double m3 = meter3;
-
- static const double km = kilometer;
- static const double km2 = kilometer2;
- static const double km3 = kilometer3;
-
- static const double pc = parsec;
-
- //
- // Angle
- //
- // static const double radian = 180. / 3.14159265358979323846; // => degree=1
- // static const double milliradian = 1.e-3 * radian;
- // static const double degree = 1.; //= (3.14159265358979323846/180.0)*radian;
-
- //fg: use radians as default unit as this is needed for all math functions
- // and everywhere else, except in TGeo shapes -> this is taken care of in shape Handles ....
- static const double radian = 1. ;
- static const double milliradian = 1.e-3 * radian;
- static const double degree = (3.14159265358979323846/180.0)*radian;
-
- static const double steradian = 1.;
-
- // symbols
- static const double rad = radian;
- static const double mrad = milliradian;
- static const double sr = steradian;
- static const double deg = degree;
-
- //
- // Time [T]
- //
- static const double nanosecond = 1.e-9;
- static const double second = 1.e+9 * nanosecond;
- static const double millisecond = 1.e-3 * second;
- static const double microsecond = 1.e-6 * second;
- static const double picosecond = 1.e-12 * second;
-
- static const double hertz = 1. / second;
- static const double kilohertz = 1.e+3 * hertz;
- static const double megahertz = 1.e+6 * hertz;
-
- // symbols
- static const double ns = nanosecond;
- static const double s = second;
- static const double ms = millisecond;
-
- //
- // Electric charge [Q]
- //
- static const double eplus = 1.; // positron charge
- static const double e_SI = 1.602176487e-19; // positron charge in coulomb
- static const double coulomb = eplus / e_SI; // coulomb = 6.24150 e+18 * eplus
-
- //
- // Energy [E]
- //
- static const double megaelectronvolt = 1.e-3;
- static const double electronvolt = 1.e-6 * megaelectronvolt;
- static const double kiloelectronvolt = 1.e-3 * megaelectronvolt;
- static const double gigaelectronvolt = 1.e+3 * megaelectronvolt;
- static const double teraelectronvolt = 1.e+6 * megaelectronvolt;
- static const double petaelectronvolt = 1.e+9 * megaelectronvolt;
-
- static const double joule = electronvolt / e_SI; // joule = 6.24150 e+12 * MeV
-
- // symbols
- static const double MeV = megaelectronvolt;
- static const double eV = electronvolt;
- static const double keV = kiloelectronvolt;
- static const double GeV = gigaelectronvolt;
- static const double TeV = teraelectronvolt;
- static const double PeV = petaelectronvolt;
-
- //
- // Mass [E][T^2][L^-2]
- //
- static const double kilogram = joule * second * second / (meter * meter);
- static const double gram = 1.e-3 * kilogram;
- static const double milligram = 1.e-3 * gram;
-
- // symbols
- static const double kg = kilogram;
- static const double g = gram;
- static const double mg = milligram;
-
- //
- // Power [E][T^-1]
- //
- static const double watt = joule / second; // watt = 6.24150 e+3 * MeV/ns
-
- //
- // Force [E][L^-1]
- //
- static const double newton = joule / meter; // newton = 6.24150 e+9 * MeV/mm
-
- //
- // Pressure [E][L^-3]
- //
-#define pascal hep_pascal // a trick to avoid warnings
- static const double hep_pascal = newton / m2; // pascal = 6.24150 e+3 * MeV/mm3
- static const double bar = 100000 * pascal; // bar = 6.24150 e+8 * MeV/mm3
- static const double atmosphere = 101325 * pascal; // atm = 6.32420 e+8 * MeV/mm3
-
- //
- // Electric current [Q][T^-1]
- //
- static const double ampere = coulomb / second; // ampere = 6.24150 e+9 * eplus/ns
- static const double milliampere = 1.e-3 * ampere;
- static const double microampere = 1.e-6 * ampere;
- static const double nanoampere = 1.e-9 * ampere;
-
- //
- // Electric potential [E][Q^-1]
- //
- static const double megavolt = megaelectronvolt / eplus;
- static const double kilovolt = 1.e-3 * megavolt;
- static const double volt = 1.e-6 * megavolt;
-
- //
- // Electric resistance [E][T][Q^-2]
- //
- static const double ohm = volt / ampere; // ohm = 1.60217e-16*(MeV/eplus)/(eplus/ns)
-
- //
- // Electric capacitance [Q^2][E^-1]
- //
- static const double farad = coulomb / volt; // farad = 6.24150e+24 * eplus/Megavolt
- static const double millifarad = 1.e-3 * farad;
- static const double microfarad = 1.e-6 * farad;
- static const double nanofarad = 1.e-9 * farad;
- static const double picofarad = 1.e-12 * farad;
-
- //
- // Magnetic Flux [T][E][Q^-1]
- //
- static const double weber = volt * second; // weber = 1000*megavolt*ns
-
- //
- // Magnetic Field [T][E][Q^-1][L^-2]
- //
- static const double tesla = volt * second / meter2; // tesla =0.001*megavolt*ns/mm2
-
- static const double gauss = 1.e-4 * tesla;
- static const double kilogauss = 1.e-1 * tesla;
-
- //
- // Inductance [T^2][E][Q^-2]
- //
- static const double henry = weber / ampere; // henry = 1.60217e-7*MeV*(ns/eplus)**2
-
- //
- // Temperature
- //
- static const double kelvin = 1.;
-
- //
- // Amount of substance
- //
- static const double mole = 1.;
-
- //
- // Activity [T^-1]
- //
- static const double becquerel = 1. / second;
- static const double curie = 3.7e+10 * becquerel;
-
- //
- // Absorbed dose [L^2][T^-2]
- //
- static const double gray = joule / kilogram;
- static const double kilogray = 1.e+3 * gray;
- static const double milligray = 1.e-3 * gray;
- static const double microgray = 1.e-6 * gray;
-
- //
- // Luminous intensity [I]
- //
- static const double candela = 1.;
-
- //
- // Luminous flux [I]
- //
- static const double lumen = candela * steradian;
-
- //
- // Illuminance [I][L^-2]
- //
- static const double lux = lumen / meter2;
-
- //
- // Miscellaneous
- //
- static const double perCent = 0.01;
- static const double perThousand = 0.001;
- static const double perMillion = 0.000001;
-
- // -*- C++ -*-
- // ----------------------------------------------------------------------
- // HEP coherent Physical Constants
- //
- // This file has been provided by Geant4 (simulation toolkit for HEP).
- //
- // The basic units are :
- // millimeter
- // nanosecond
- // Mega electron Volt
- // positon charge
- // degree Kelvin
- // amount of substance (mole)
- // luminous intensity (candela)
- // radian
- // steradian
- //
- // Below is a non exhaustive list of Physical CONSTANTS,
- // computed in the Internal HEP System Of Units.
- //
- // Most of them are extracted from the Particle Data Book :
- // Phys. Rev. D volume 50 3-1 (1994) page 1233
- //
- // ...with a meaningful (?) name ...
- //
- // You can add your own constants.
- //
- // Author: M.Maire
- //
- // History:
- //
- // 23.02.96 Created
- // 26.03.96 Added constants for standard conditions of temperature
- // and pressure; also added Gas threshold.
- // 29.04.08 use PDG 2006 values
- // 03.11.08 use PDG 2008 values
-
- static const double pi = 3.14159265358979323846;
- static const double twopi = 2 * pi;
- static const double halfpi = pi / 2;
- static const double pi2 = pi * pi;
-
- //
- //
- //
- static const double Avogadro = 6.02214179e+23 / mole;
-
- //
- // c = 299.792458 mm/ns
- // c^2 = 898.7404 (mm/ns)^2
- //
- static const double c_light = 2.99792458e+8 * m / s;
- static const double c_squared = c_light * c_light;
-
- //
- // h = 4.13566e-12 MeV*ns
- // hbar = 6.58212e-13 MeV*ns
- // hbarc = 197.32705e-12 MeV*mm
- //
- static const double h_Planck = 6.62606896e-34 * joule * s;
- static const double hbar_Planck = h_Planck / twopi;
- static const double hbarc = hbar_Planck * c_light;
- static const double hbarc_squared = hbarc * hbarc;
-
- //
- //
- //
- static const double electron_charge = -eplus; // see SystemOfUnits.h
- static const double e_squared = eplus * eplus;
-
- //
- // amu_c2 - atomic equivalent mass unit
- // - AKA, unified atomic mass unit (u)
- // amu - atomic mass unit
- //
- static const double electron_mass_c2 = 0.510998910 * MeV;
- static const double proton_mass_c2 = 938.272013 * MeV;
- static const double neutron_mass_c2 = 939.56536 * MeV;
- static const double amu_c2 = 931.494028 * MeV;
- static const double amu = amu_c2 / c_squared;
-
- //
- // permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm
- // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
- //
- static const double mu0 = 4 * pi * 1.e-7 * henry / m;
- static const double epsilon0 = 1. / (c_squared * mu0);
-
- //
- // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
- //
- static const double elm_coupling = e_squared / (4 * pi * epsilon0);
- static const double fine_structure_const = elm_coupling / hbarc;
- static const double classic_electr_radius = elm_coupling / electron_mass_c2;
- static const double electron_Compton_length = hbarc / electron_mass_c2;
- static const double Bohr_radius = electron_Compton_length / fine_structure_const;
-
- static const double alpha_rcl2 = fine_structure_const * classic_electr_radius * classic_electr_radius;
-
- static const double twopi_mc2_rcl2 = twopi * electron_mass_c2 * classic_electr_radius * classic_electr_radius;
- //
- //
- //
- static const double k_Boltzmann = 8.617343e-11 * MeV / kelvin;
-
- //
- //
- //
- static const double STP_Temperature = 273.15 * kelvin;
- static const double STP_Pressure = 1. * atmosphere;
- static const double kGasThreshold = 10. * mg / cm3;
-
- //
- //
- //
- static const double universe_mean_density = 1.e-25 * g / cm3;
- //}
-}
-#endif /* DD4HEP_TGEOUNITS_H */
+#include "DDParsers/DD4hepUnits.h"
diff --git a/DDCore/include/DD4hep/Dictionary.h b/DDCore/include/DD4hep/Dictionary.h
index 10e2c28d1dcac7c8724d954c080346003765ef9b..3d23b48c8d9f052680c63cdf63d67c5af7eac053 100644
--- a/DDCore/include/DD4hep/Dictionary.h
+++ b/DDCore/include/DD4hep/Dictionary.h
@@ -26,7 +26,7 @@
#endif
// Framework include files
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
#include "DD4hep/DD4hepRootPersistency.h"
#include "DD4hep/detail/ObjectsInterna.h"
#include "DD4hep/detail/DetectorInterna.h"
diff --git a/DDCore/include/DD4hep/detail/BasicGrammar_inl.h b/DDCore/include/DD4hep/detail/BasicGrammar_inl.h
index c725280365bdddb0cadf9497c45c43cc96c2b28f..1cbfc950a0880878707b29923f5347e0c154f8fa 100644
--- a/DDCore/include/DD4hep/detail/BasicGrammar_inl.h
+++ b/DDCore/include/DD4hep/detail/BasicGrammar_inl.h
@@ -35,9 +35,9 @@
#else
-#include "XML/Evaluator.h"
-#include "DD4hep/Parsers.h"
-#include "DD4hep/ToStream.h"
+#include "DDParsers/Parsers.h"
+#include "DDParsers/ToStream.h"
+#include "DDParsers/Evaluator.h"
namespace dd4hep { XmlTools::Evaluator& g4Evaluator(); }
#endif
#endif
diff --git a/DDCore/include/JSON/Evaluator.h b/DDCore/include/JSON/Evaluator.h
index c601fb9b3457276d1b662586c7a2c2b0b05a4c34..4c3f199154689262b43e45de5b536334c7d74c0e 100644
--- a/DDCore/include/JSON/Evaluator.h
+++ b/DDCore/include/JSON/Evaluator.h
@@ -19,6 +19,6 @@
*
* See the externalized header in doc/externalize for details.
*/
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
#endif /* DD4HEP_DDCORE_JSON_EVALUATOR_H */
diff --git a/DDCore/src/AlignmentData.cpp b/DDCore/src/AlignmentData.cpp
index 7fa9552a95bfb89298391767faaf1c682f675799..40349994b2a5562c535d6aef65a166f34fee47f7 100644
--- a/DDCore/src/AlignmentData.cpp
+++ b/DDCore/src/AlignmentData.cpp
@@ -201,8 +201,8 @@ Alignment AlignmentData::nominal() const {
return detector.nominal();
}
-#include "DD4hep/Parsers.h"
-#include "DD4hep/ToStream.h"
+#include "DDParsers/Parsers.h"
+#include "DDParsers/ToStream.h"
DD4HEP_DEFINE_PARSER_DUMMY(Delta)
DD4HEP_DEFINE_PARSER_DUMMY(AlignmentData)
diff --git a/DDCore/src/AlignmentsPrinter.cpp b/DDCore/src/AlignmentsPrinter.cpp
index b48a05a73c2714092d1cd0f480794f4f0aa7e25f..23e95fba841baca792aff6bfd20bb6c63c0ace10 100644
--- a/DDCore/src/AlignmentsPrinter.cpp
+++ b/DDCore/src/AlignmentsPrinter.cpp
@@ -20,7 +20,7 @@
// C/C++ include files
#include <sstream>
#include "TClass.h"
-#include "DD4hep/ToStream.h"
+#include "DDParsers/ToStream.h"
using namespace std;
using namespace dd4hep;
diff --git a/DDCore/src/ConditionsData.cpp b/DDCore/src/ConditionsData.cpp
index 6d67e4b11649236898a671ca2f44e72f397d6d55..9e5bba897d121c0bb025ad037ec06e6b0add4bff 100644
--- a/DDCore/src/ConditionsData.cpp
+++ b/DDCore/src/ConditionsData.cpp
@@ -77,8 +77,8 @@ AbstractMap& AbstractMap::operator=(const AbstractMap& c) {
return *this;
}
-#include "DD4hep/Parsers.h"
-#include "DD4hep/ToStream.h"
+#include "DDParsers/Parsers.h"
+#include "DDParsers/ToStream.h"
DD4HEP_DEFINE_PARSER_DUMMY(AbstractMap)
#include "DD4hep/detail/BasicGrammar_inl.h"
#include "DD4hep/detail/ConditionsInterna.h"
diff --git a/DDCore/src/ConditionsPrinter.cpp b/DDCore/src/ConditionsPrinter.cpp
index aac0c2eb0e7908b051ecc6663bb2254761240b58..4b51672c8983d9b0f6fbe4cb3737acaa903e40c6 100644
--- a/DDCore/src/ConditionsPrinter.cpp
+++ b/DDCore/src/ConditionsPrinter.cpp
@@ -12,7 +12,7 @@
//==========================================================================
// Framework includes
-#include "DD4hep/ToStream.h"
+#include "DDParsers/ToStream.h"
#include "DD4hep/Printout.h"
#include "DD4hep/ConditionsData.h"
#include "DD4hep/ConditionsPrinter.h"
diff --git a/DDCore/src/Handle.cpp b/DDCore/src/Handle.cpp
index 8615454ebf56b7acefe4132a3f4b94c837e9373e..8ec02f38854e63389731489f2b9a3f17443efb18 100644
--- a/DDCore/src/Handle.cpp
+++ b/DDCore/src/Handle.cpp
@@ -14,7 +14,7 @@
#include "DD4hep/InstanceCount.h"
#include "DD4hep/Printout.h"
#include "DD4hep/detail/Handle.inl"
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
#include <iostream>
#include <iomanip>
#include <climits>
diff --git a/DDCore/src/XML/XMLElements.cpp b/DDCore/src/XML/XMLElements.cpp
index 4d00724f0b0274b5f79d5c275740ad2ab1736047..3e8e66326c3bd8a4a680f08cc88a8ada310a9b7a 100644
--- a/DDCore/src/XML/XMLElements.cpp
+++ b/DDCore/src/XML/XMLElements.cpp
@@ -12,9 +12,9 @@
//==========================================================================
// Framework include files
-#include "XML/Printout.h"
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
#include "XML/XMLElements.h"
+#include "XML/Printout.h"
#include "XML/XMLTags.h"
// C/C++ include files
diff --git a/DDG4/include/DDG4/Geant4InputAction.h b/DDG4/include/DDG4/Geant4InputAction.h
index 7b0c50a3c7a08efc9b8411a76653ebe491fbc050..1125ed15025b3bb7bb68d3124f0373231a3a52b7 100644
--- a/DDG4/include/DDG4/Geant4InputAction.h
+++ b/DDG4/include/DDG4/Geant4InputAction.h
@@ -18,7 +18,7 @@
#include "DDG4/Geant4Vertex.h"
#include "DDG4/Geant4Particle.h"
#include "DDG4/Geant4GeneratorAction.h"
-#include "DD4hep/Parsers.h"
+#include "DDParsers/Parsers.h"
// C/C++ include files
#include <vector>
diff --git a/DDParsers/CMakeLists.txt b/DDParsers/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..61ae41cafa52f3009209ce7a2f9b089116154fea
--- /dev/null
+++ b/DDParsers/CMakeLists.txt
@@ -0,0 +1,22 @@
+#=================================================================================
+#
+# AIDA Detector description implementation
+#---------------------------------------------------------------------------------
+# Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
+# All rights reserved.
+#
+# For the licensing terms see $DD4hepINSTALL/LICENSE.
+# For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
+#
+#=================================================================================
+dd4hep_package( DDParsers
+ USES [ROOT REQUIRED COMPONENTS Geom GenVector]
+ INCLUDE_DIRS include
+ INSTALL_INCLUDES include/DDParsers )
+
+dd4hep_add_package_library ( DDParsers
+ INCLUDE_DIRS
+ LINK_LIBRARIES
+ SOURCES src/*.cpp src/Evaluator/*.cpp
+ OPTIONAL [BOOST SOURCES src/parsers/*.cpp]
+ )
diff --git a/DDParsers/include/DDParsers/DD4hepUnits.h b/DDParsers/include/DDParsers/DD4hepUnits.h
new file mode 100644
index 0000000000000000000000000000000000000000..f3f10c35b57cdbbb1040c43821291d301f7572cf
--- /dev/null
+++ b/DDParsers/include/DDParsers/DD4hepUnits.h
@@ -0,0 +1,395 @@
+//==========================================================================
+// AIDA Detector description implementation
+//--------------------------------------------------------------------------
+// Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
+// All rights reserved.
+//
+// For the licensing terms see $DD4hepINSTALL/LICENSE.
+// For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
+//
+// Author : M.Frank
+//
+//==========================================================================
+
+//
+// System of Units for dd4hep - similar to Geant3 and TGeo/ROOT
+//
+// Taken from CLHEP with the following basic translations:
+//
+// Geant4 dd4hep
+// ----------------------------------------------------------------
+// millimeter mm=1,cm=10 centimeter mm=0.1,cm=1
+// nanosecond s=1e9 second ns=1e-9,s=1
+// Mega electron Volt GeV=1e3 GeV GeV=1
+// radian rad=1 rad = 1 //NB: different from TGeo
+//
+//
+#ifndef DD4HEP_TGEOUNITS_H
+#define DD4HEP_TGEOUNITS_H
+
+/// Utility namespace to support TGeo units.
+namespace dd4hep {
+
+ //namespace units {
+ //
+ // Length [L]
+ //
+ static const double millimeter = 0.1;
+ static const double millimeter2 = millimeter * millimeter;
+ static const double millimeter3 = millimeter * millimeter * millimeter;
+
+ static const double centimeter = 10. * millimeter;
+ static const double centimeter2 = centimeter * centimeter;
+ static const double centimeter3 = centimeter * centimeter * centimeter;
+
+ static const double meter = 1000. * millimeter;
+ static const double meter2 = meter * meter;
+ static const double meter3 = meter * meter * meter;
+
+ static const double kilometer = 1000. * meter;
+ static const double kilometer2 = kilometer * kilometer;
+ static const double kilometer3 = kilometer * kilometer * kilometer;
+
+ static const double parsec = 3.0856775807e+16 * meter;
+
+ static const double micrometer = 1.e-6 * meter;
+ static const double nanometer = 1.e-9 * meter;
+ static const double angstrom = 1.e-10 * meter;
+ static const double fermi = 1.e-15 * meter;
+
+ static const double barn = 1.e-28 * meter2;
+ static const double millibarn = 1.e-3 * barn;
+ static const double microbarn = 1.e-6 * barn;
+ static const double nanobarn = 1.e-9 * barn;
+ static const double picobarn = 1.e-12 * barn;
+
+ // symbols
+ static const double nm = nanometer;
+ static const double um = micrometer;
+
+ static const double mm = millimeter;
+ static const double mm2 = millimeter2;
+ static const double mm3 = millimeter3;
+
+ static const double cm = centimeter;
+ static const double cm2 = centimeter2;
+ static const double cm3 = centimeter3;
+
+ static const double m = meter;
+ static const double m2 = meter2;
+ static const double m3 = meter3;
+
+ static const double km = kilometer;
+ static const double km2 = kilometer2;
+ static const double km3 = kilometer3;
+
+ static const double pc = parsec;
+
+ //
+ // Angle
+ //
+ // static const double radian = 180. / 3.14159265358979323846; // => degree=1
+ // static const double milliradian = 1.e-3 * radian;
+ // static const double degree = 1.; //= (3.14159265358979323846/180.0)*radian;
+
+ //fg: use radians as default unit as this is needed for all math functions
+ // and everywhere else, except in TGeo shapes -> this is taken care of in shape Handles ....
+ static const double radian = 1. ;
+ static const double milliradian = 1.e-3 * radian;
+ static const double degree = (3.14159265358979323846/180.0)*radian;
+
+ static const double steradian = 1.;
+
+ // symbols
+ static const double rad = radian;
+ static const double mrad = milliradian;
+ static const double sr = steradian;
+ static const double deg = degree;
+
+ //
+ // Time [T]
+ //
+ static const double nanosecond = 1.e-9;
+ static const double second = 1.e+9 * nanosecond;
+ static const double millisecond = 1.e-3 * second;
+ static const double microsecond = 1.e-6 * second;
+ static const double picosecond = 1.e-12 * second;
+
+ static const double hertz = 1. / second;
+ static const double kilohertz = 1.e+3 * hertz;
+ static const double megahertz = 1.e+6 * hertz;
+
+ // symbols
+ static const double ns = nanosecond;
+ static const double s = second;
+ static const double ms = millisecond;
+
+ //
+ // Electric charge [Q]
+ //
+ static const double eplus = 1.; // positron charge
+ static const double e_SI = 1.602176487e-19; // positron charge in coulomb
+ static const double coulomb = eplus / e_SI; // coulomb = 6.24150 e+18 * eplus
+
+ //
+ // Energy [E]
+ //
+ static const double megaelectronvolt = 1.e-3;
+ static const double electronvolt = 1.e-6 * megaelectronvolt;
+ static const double kiloelectronvolt = 1.e-3 * megaelectronvolt;
+ static const double gigaelectronvolt = 1.e+3 * megaelectronvolt;
+ static const double teraelectronvolt = 1.e+6 * megaelectronvolt;
+ static const double petaelectronvolt = 1.e+9 * megaelectronvolt;
+
+ static const double joule = electronvolt / e_SI; // joule = 6.24150 e+12 * MeV
+
+ // symbols
+ static const double MeV = megaelectronvolt;
+ static const double eV = electronvolt;
+ static const double keV = kiloelectronvolt;
+ static const double GeV = gigaelectronvolt;
+ static const double TeV = teraelectronvolt;
+ static const double PeV = petaelectronvolt;
+
+ //
+ // Mass [E][T^2][L^-2]
+ //
+ static const double kilogram = joule * second * second / (meter * meter);
+ static const double gram = 1.e-3 * kilogram;
+ static const double milligram = 1.e-3 * gram;
+
+ // symbols
+ static const double kg = kilogram;
+ static const double g = gram;
+ static const double mg = milligram;
+
+ //
+ // Power [E][T^-1]
+ //
+ static const double watt = joule / second; // watt = 6.24150 e+3 * MeV/ns
+
+ //
+ // Force [E][L^-1]
+ //
+ static const double newton = joule / meter; // newton = 6.24150 e+9 * MeV/mm
+
+ //
+ // Pressure [E][L^-3]
+ //
+#define pascal hep_pascal // a trick to avoid warnings
+ static const double hep_pascal = newton / m2; // pascal = 6.24150 e+3 * MeV/mm3
+ static const double bar = 100000 * pascal; // bar = 6.24150 e+8 * MeV/mm3
+ static const double atmosphere = 101325 * pascal; // atm = 6.32420 e+8 * MeV/mm3
+
+ //
+ // Electric current [Q][T^-1]
+ //
+ static const double ampere = coulomb / second; // ampere = 6.24150 e+9 * eplus/ns
+ static const double milliampere = 1.e-3 * ampere;
+ static const double microampere = 1.e-6 * ampere;
+ static const double nanoampere = 1.e-9 * ampere;
+
+ //
+ // Electric potential [E][Q^-1]
+ //
+ static const double megavolt = megaelectronvolt / eplus;
+ static const double kilovolt = 1.e-3 * megavolt;
+ static const double volt = 1.e-6 * megavolt;
+
+ //
+ // Electric resistance [E][T][Q^-2]
+ //
+ static const double ohm = volt / ampere; // ohm = 1.60217e-16*(MeV/eplus)/(eplus/ns)
+
+ //
+ // Electric capacitance [Q^2][E^-1]
+ //
+ static const double farad = coulomb / volt; // farad = 6.24150e+24 * eplus/Megavolt
+ static const double millifarad = 1.e-3 * farad;
+ static const double microfarad = 1.e-6 * farad;
+ static const double nanofarad = 1.e-9 * farad;
+ static const double picofarad = 1.e-12 * farad;
+
+ //
+ // Magnetic Flux [T][E][Q^-1]
+ //
+ static const double weber = volt * second; // weber = 1000*megavolt*ns
+
+ //
+ // Magnetic Field [T][E][Q^-1][L^-2]
+ //
+ static const double tesla = volt * second / meter2; // tesla =0.001*megavolt*ns/mm2
+
+ static const double gauss = 1.e-4 * tesla;
+ static const double kilogauss = 1.e-1 * tesla;
+
+ //
+ // Inductance [T^2][E][Q^-2]
+ //
+ static const double henry = weber / ampere; // henry = 1.60217e-7*MeV*(ns/eplus)**2
+
+ //
+ // Temperature
+ //
+ static const double kelvin = 1.;
+
+ //
+ // Amount of substance
+ //
+ static const double mole = 1.;
+
+ //
+ // Activity [T^-1]
+ //
+ static const double becquerel = 1. / second;
+ static const double curie = 3.7e+10 * becquerel;
+
+ //
+ // Absorbed dose [L^2][T^-2]
+ //
+ static const double gray = joule / kilogram;
+ static const double kilogray = 1.e+3 * gray;
+ static const double milligray = 1.e-3 * gray;
+ static const double microgray = 1.e-6 * gray;
+
+ //
+ // Luminous intensity [I]
+ //
+ static const double candela = 1.;
+
+ //
+ // Luminous flux [I]
+ //
+ static const double lumen = candela * steradian;
+
+ //
+ // Illuminance [I][L^-2]
+ //
+ static const double lux = lumen / meter2;
+
+ //
+ // Miscellaneous
+ //
+ static const double perCent = 0.01;
+ static const double perThousand = 0.001;
+ static const double perMillion = 0.000001;
+
+ // -*- C++ -*-
+ // ----------------------------------------------------------------------
+ // HEP coherent Physical Constants
+ //
+ // This file has been provided by Geant4 (simulation toolkit for HEP).
+ //
+ // The basic units are :
+ // millimeter
+ // nanosecond
+ // Mega electron Volt
+ // positon charge
+ // degree Kelvin
+ // amount of substance (mole)
+ // luminous intensity (candela)
+ // radian
+ // steradian
+ //
+ // Below is a non exhaustive list of Physical CONSTANTS,
+ // computed in the Internal HEP System Of Units.
+ //
+ // Most of them are extracted from the Particle Data Book :
+ // Phys. Rev. D volume 50 3-1 (1994) page 1233
+ //
+ // ...with a meaningful (?) name ...
+ //
+ // You can add your own constants.
+ //
+ // Author: M.Maire
+ //
+ // History:
+ //
+ // 23.02.96 Created
+ // 26.03.96 Added constants for standard conditions of temperature
+ // and pressure; also added Gas threshold.
+ // 29.04.08 use PDG 2006 values
+ // 03.11.08 use PDG 2008 values
+
+ static const double pi = 3.14159265358979323846;
+ static const double twopi = 2 * pi;
+ static const double halfpi = pi / 2;
+ static const double pi2 = pi * pi;
+
+ //
+ //
+ //
+ static const double Avogadro = 6.02214179e+23 / mole;
+
+ //
+ // c = 299.792458 mm/ns
+ // c^2 = 898.7404 (mm/ns)^2
+ //
+ static const double c_light = 2.99792458e+8 * m / s;
+ static const double c_squared = c_light * c_light;
+
+ //
+ // h = 4.13566e-12 MeV*ns
+ // hbar = 6.58212e-13 MeV*ns
+ // hbarc = 197.32705e-12 MeV*mm
+ //
+ static const double h_Planck = 6.62606896e-34 * joule * s;
+ static const double hbar_Planck = h_Planck / twopi;
+ static const double hbarc = hbar_Planck * c_light;
+ static const double hbarc_squared = hbarc * hbarc;
+
+ //
+ //
+ //
+ static const double electron_charge = -eplus; // see SystemOfUnits.h
+ static const double e_squared = eplus * eplus;
+
+ //
+ // amu_c2 - atomic equivalent mass unit
+ // - AKA, unified atomic mass unit (u)
+ // amu - atomic mass unit
+ //
+ static const double electron_mass_c2 = 0.510998910 * MeV;
+ static const double proton_mass_c2 = 938.272013 * MeV;
+ static const double neutron_mass_c2 = 939.56536 * MeV;
+ static const double amu_c2 = 931.494028 * MeV;
+ static const double amu = amu_c2 / c_squared;
+
+ //
+ // permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm
+ // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
+ //
+ static const double mu0 = 4 * pi * 1.e-7 * henry / m;
+ static const double epsilon0 = 1. / (c_squared * mu0);
+
+ //
+ // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
+ //
+ static const double elm_coupling = e_squared / (4 * pi * epsilon0);
+ static const double fine_structure_const = elm_coupling / hbarc;
+ static const double classic_electr_radius = elm_coupling / electron_mass_c2;
+ static const double electron_Compton_length = hbarc / electron_mass_c2;
+ static const double Bohr_radius = electron_Compton_length / fine_structure_const;
+
+ static const double alpha_rcl2 = fine_structure_const * classic_electr_radius * classic_electr_radius;
+
+ static const double twopi_mc2_rcl2 = twopi * electron_mass_c2 * classic_electr_radius * classic_electr_radius;
+ //
+ //
+ //
+ static const double k_Boltzmann = 8.617343e-11 * MeV / kelvin;
+
+ //
+ //
+ //
+ static const double STP_Temperature = 273.15 * kelvin;
+ static const double STP_Pressure = 1. * atmosphere;
+ static const double kGasThreshold = 10. * mg / cm3;
+
+ //
+ //
+ //
+ static const double universe_mean_density = 1.e-25 * g / cm3;
+ //}
+}
+#endif /* DD4HEP_TGEOUNITS_H */
diff --git a/DDCore/include/XML/Evaluator.h b/DDParsers/include/DDParsers/Evaluator.h
similarity index 100%
rename from DDCore/include/XML/Evaluator.h
rename to DDParsers/include/DDParsers/Evaluator.h
diff --git a/DDCore/include/DD4hep/Parsers.h b/DDParsers/include/DDParsers/Parsers.h
similarity index 100%
rename from DDCore/include/DD4hep/Parsers.h
rename to DDParsers/include/DDParsers/Parsers.h
diff --git a/DDCore/include/DD4hep/ToStream.h b/DDParsers/include/DDParsers/ToStream.h
similarity index 100%
rename from DDCore/include/DD4hep/ToStream.h
rename to DDParsers/include/DDParsers/ToStream.h
diff --git a/DDCore/src/Evaluator/Evaluator.cpp b/DDParsers/src/Evaluator/Evaluator.cpp
similarity index 99%
rename from DDCore/src/Evaluator/Evaluator.cpp
rename to DDParsers/src/Evaluator/Evaluator.cpp
index 62c7c292b2f759a28d3df97c001b480d48bcef04..831d088efce78000458a4bdee500df7f7012d42a 100644
--- a/DDCore/src/Evaluator/Evaluator.cpp
+++ b/DDParsers/src/Evaluator/Evaluator.cpp
@@ -1,7 +1,7 @@
// -*- C++ -*-
// ---------------------------------------------------------------------------
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
#include <iostream>
#include <cmath> // for pow()
diff --git a/DDCore/src/Evaluator/ExpressionEvaluator.cpp b/DDParsers/src/Evaluator/ExpressionEvaluator.cpp
similarity index 97%
rename from DDCore/src/Evaluator/ExpressionEvaluator.cpp
rename to DDParsers/src/Evaluator/ExpressionEvaluator.cpp
index 392f42f18dc6570dfce83035eb56221b2bc3fa1a..c347791accf165588ce464332f3e93164f01923f 100644
--- a/DDCore/src/Evaluator/ExpressionEvaluator.cpp
+++ b/DDParsers/src/Evaluator/ExpressionEvaluator.cpp
@@ -11,8 +11,8 @@
//
//==========================================================================
-#include "XML/Evaluator.h"
-#include "DD4hep/DD4hepUnits.h"
+#include "DDParsers/Evaluator.h"
+#include "DDParsers/DD4hepUnits.h"
namespace units = dd4hep;
namespace {
diff --git a/DDCore/src/Evaluator/hash_map.src b/DDParsers/src/Evaluator/hash_map.src
similarity index 100%
rename from DDCore/src/Evaluator/hash_map.src
rename to DDParsers/src/Evaluator/hash_map.src
diff --git a/DDCore/src/Evaluator/setStdMath.cpp b/DDParsers/src/Evaluator/setStdMath.cpp
similarity index 98%
rename from DDCore/src/Evaluator/setStdMath.cpp
rename to DDParsers/src/Evaluator/setStdMath.cpp
index 674f2a41460057f1d8a6694da2b01a421ed14622..be047e266f1f1962e02ef26f0089bdb2d378ee9a 100644
--- a/DDCore/src/Evaluator/setStdMath.cpp
+++ b/DDParsers/src/Evaluator/setStdMath.cpp
@@ -1,7 +1,7 @@
// -*- C++ -*-
// ----------------------------------------------------------------------
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
#ifdef DD4HEP_NONE
/// Utility namespace to support TGeo units.
@@ -12,7 +12,7 @@ namespace dd4hep {
//}
}
#else
-#include "DD4hep/DD4hepUnits.h"
+#include "DDParsers/DD4hepUnits.h"
#endif
namespace units = dd4hep;
diff --git a/DDCore/src/Evaluator/setSystemOfUnits.cpp b/DDParsers/src/Evaluator/setSystemOfUnits.cpp
similarity index 99%
rename from DDCore/src/Evaluator/setSystemOfUnits.cpp
rename to DDParsers/src/Evaluator/setSystemOfUnits.cpp
index f53cdd461824c83f3ac8fca7f05de0223303c310..c6156acc9a50648928f0e513e04b18e2ac01dd04 100644
--- a/DDCore/src/Evaluator/setSystemOfUnits.cpp
+++ b/DDParsers/src/Evaluator/setSystemOfUnits.cpp
@@ -1,7 +1,7 @@
// -*- C++ -*-
// ----------------------------------------------------------------------
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
namespace XmlTools {
diff --git a/DDCore/src/Evaluator/stack.src b/DDParsers/src/Evaluator/stack.src
similarity index 100%
rename from DDCore/src/Evaluator/stack.src
rename to DDParsers/src/Evaluator/stack.src
diff --git a/DDCore/src/Evaluator/string.src b/DDParsers/src/Evaluator/string.src
similarity index 100%
rename from DDCore/src/Evaluator/string.src
rename to DDParsers/src/Evaluator/string.src
diff --git a/DDCore/src/ToStream.cpp b/DDParsers/src/ToStream.cpp
similarity index 98%
rename from DDCore/src/ToStream.cpp
rename to DDParsers/src/ToStream.cpp
index e74e4b0b0e05c81eb1f40597596962c04276c672..0bdaf3a34f3685673fcd9c8e7c55d1d7c2835d0d 100644
--- a/DDCore/src/ToStream.cpp
+++ b/DDParsers/src/ToStream.cpp
@@ -22,12 +22,12 @@
#else
// Standard dd4hep parser handling
-#include "DD4hep/ToStream.h"
+#include "DDParsers/ToStream.h"
#endif
-#ifndef DD4HEP_PARSERS_NO_ROOT
+#ifndef DD4HEP_PARSERS_NO_ROOT
// ============================================================================
// print XYZ-point
std::ostream& dd4hep::Utils::toStream(const ROOT::Math::XYZPoint& obj, std::ostream& s) {
diff --git a/DDCore/src/parsers/Evaluators.cpp b/DDParsers/src/parsers/Evaluators.cpp
similarity index 96%
rename from DDCore/src/parsers/Evaluators.cpp
rename to DDParsers/src/parsers/Evaluators.cpp
index eef10dbcb1ee255605b560c45debf0e1f8a4a4be..c1009190248ec8eb1564d19819e1ed82c0875f5c 100644
--- a/DDCore/src/parsers/Evaluators.cpp
+++ b/DDParsers/src/parsers/Evaluators.cpp
@@ -22,10 +22,10 @@
#else
// Standard dd4hep parser handling
-#include "DD4hep/ToStream.h"
+#include "DDParsers/ToStream.h"
#endif
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
// C/C++ include files
#include <stdexcept>
diff --git a/DDCore/src/parsers/GrammarsV2.h b/DDParsers/src/parsers/GrammarsV2.h
similarity index 100%
rename from DDCore/src/parsers/GrammarsV2.h
rename to DDParsers/src/parsers/GrammarsV2.h
diff --git a/DDCore/src/parsers/ParserStandardList_Mapint_bool.cpp b/DDParsers/src/parsers/ParserStandardList_Mapint_bool.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapint_bool.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapint_bool.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapint_double.cpp b/DDParsers/src/parsers/ParserStandardList_Mapint_double.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapint_double.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapint_double.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapint_float.cpp b/DDParsers/src/parsers/ParserStandardList_Mapint_float.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapint_float.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapint_float.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapint_int.cpp b/DDParsers/src/parsers/ParserStandardList_Mapint_int.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapint_int.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapint_int.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapint_long.cpp b/DDParsers/src/parsers/ParserStandardList_Mapint_long.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapint_long.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapint_long.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapint_string.cpp b/DDParsers/src/parsers/ParserStandardList_Mapint_string.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapint_string.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapint_string.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapped_bool.cpp b/DDParsers/src/parsers/ParserStandardList_Mapped_bool.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapped_bool.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapped_bool.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapped_double.cpp b/DDParsers/src/parsers/ParserStandardList_Mapped_double.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapped_double.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapped_double.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapped_float.cpp b/DDParsers/src/parsers/ParserStandardList_Mapped_float.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapped_float.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapped_float.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapped_int.cpp b/DDParsers/src/parsers/ParserStandardList_Mapped_int.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapped_int.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapped_int.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapped_long.cpp b/DDParsers/src/parsers/ParserStandardList_Mapped_long.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapped_long.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapped_long.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapped_string.cpp b/DDParsers/src/parsers/ParserStandardList_Mapped_string.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapped_string.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapped_string.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapstring_bool.cpp b/DDParsers/src/parsers/ParserStandardList_Mapstring_bool.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapstring_bool.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapstring_bool.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapstring_double.cpp b/DDParsers/src/parsers/ParserStandardList_Mapstring_double.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapstring_double.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapstring_double.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapstring_float.cpp b/DDParsers/src/parsers/ParserStandardList_Mapstring_float.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapstring_float.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapstring_float.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapstring_int.cpp b/DDParsers/src/parsers/ParserStandardList_Mapstring_int.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapstring_int.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapstring_int.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapstring_long.cpp b/DDParsers/src/parsers/ParserStandardList_Mapstring_long.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapstring_long.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapstring_long.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapstring_string.cpp b/DDParsers/src/parsers/ParserStandardList_Mapstring_string.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapstring_string.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapstring_string.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_list_bool.cpp b/DDParsers/src/parsers/ParserStandardList_list_bool.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_list_bool.cpp
rename to DDParsers/src/parsers/ParserStandardList_list_bool.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_list_double.cpp b/DDParsers/src/parsers/ParserStandardList_list_double.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_list_double.cpp
rename to DDParsers/src/parsers/ParserStandardList_list_double.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_list_float.cpp b/DDParsers/src/parsers/ParserStandardList_list_float.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_list_float.cpp
rename to DDParsers/src/parsers/ParserStandardList_list_float.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_list_int.cpp b/DDParsers/src/parsers/ParserStandardList_list_int.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_list_int.cpp
rename to DDParsers/src/parsers/ParserStandardList_list_int.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_list_long.cpp b/DDParsers/src/parsers/ParserStandardList_list_long.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_list_long.cpp
rename to DDParsers/src/parsers/ParserStandardList_list_long.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_list_string.cpp b/DDParsers/src/parsers/ParserStandardList_list_string.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_list_string.cpp
rename to DDParsers/src/parsers/ParserStandardList_list_string.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_set_bool.cpp b/DDParsers/src/parsers/ParserStandardList_set_bool.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_set_bool.cpp
rename to DDParsers/src/parsers/ParserStandardList_set_bool.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_set_double.cpp b/DDParsers/src/parsers/ParserStandardList_set_double.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_set_double.cpp
rename to DDParsers/src/parsers/ParserStandardList_set_double.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_set_float.cpp b/DDParsers/src/parsers/ParserStandardList_set_float.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_set_float.cpp
rename to DDParsers/src/parsers/ParserStandardList_set_float.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_set_int.cpp b/DDParsers/src/parsers/ParserStandardList_set_int.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_set_int.cpp
rename to DDParsers/src/parsers/ParserStandardList_set_int.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_set_long.cpp b/DDParsers/src/parsers/ParserStandardList_set_long.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_set_long.cpp
rename to DDParsers/src/parsers/ParserStandardList_set_long.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_set_string.cpp b/DDParsers/src/parsers/ParserStandardList_set_string.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_set_string.cpp
rename to DDParsers/src/parsers/ParserStandardList_set_string.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_vector_bool.cpp b/DDParsers/src/parsers/ParserStandardList_vector_bool.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_vector_bool.cpp
rename to DDParsers/src/parsers/ParserStandardList_vector_bool.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_vector_double.cpp b/DDParsers/src/parsers/ParserStandardList_vector_double.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_vector_double.cpp
rename to DDParsers/src/parsers/ParserStandardList_vector_double.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_vector_float.cpp b/DDParsers/src/parsers/ParserStandardList_vector_float.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_vector_float.cpp
rename to DDParsers/src/parsers/ParserStandardList_vector_float.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_vector_int.cpp b/DDParsers/src/parsers/ParserStandardList_vector_int.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_vector_int.cpp
rename to DDParsers/src/parsers/ParserStandardList_vector_int.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_vector_long.cpp b/DDParsers/src/parsers/ParserStandardList_vector_long.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_vector_long.cpp
rename to DDParsers/src/parsers/ParserStandardList_vector_long.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_vector_string.cpp b/DDParsers/src/parsers/ParserStandardList_vector_string.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_vector_string.cpp
rename to DDParsers/src/parsers/ParserStandardList_vector_string.cpp
diff --git a/DDCore/src/parsers/ParsersFactory.h b/DDParsers/src/parsers/ParsersFactory.h
similarity index 100%
rename from DDCore/src/parsers/ParsersFactory.h
rename to DDParsers/src/parsers/ParsersFactory.h
diff --git a/DDCore/src/parsers/ParsersObjects_PxPyPzEVector.cpp b/DDParsers/src/parsers/ParsersObjects_PxPyPzEVector.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersObjects_PxPyPzEVector.cpp
rename to DDParsers/src/parsers/ParsersObjects_PxPyPzEVector.cpp
diff --git a/DDCore/src/parsers/ParsersObjects_XYZPoint.cpp b/DDParsers/src/parsers/ParsersObjects_XYZPoint.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersObjects_XYZPoint.cpp
rename to DDParsers/src/parsers/ParsersObjects_XYZPoint.cpp
diff --git a/DDCore/src/parsers/ParsersObjects_XYZVector.cpp b/DDParsers/src/parsers/ParsersObjects_XYZVector.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersObjects_XYZVector.cpp
rename to DDParsers/src/parsers/ParsersObjects_XYZVector.cpp
diff --git a/DDCore/src/parsers/ParsersStandardListCommon.h b/DDParsers/src/parsers/ParsersStandardListCommon.h
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardListCommon.h
rename to DDParsers/src/parsers/ParsersStandardListCommon.h
diff --git a/DDCore/src/parsers/ParsersStandardMisc1.cpp b/DDParsers/src/parsers/ParsersStandardMisc1.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardMisc1.cpp
rename to DDParsers/src/parsers/ParsersStandardMisc1.cpp
diff --git a/DDCore/src/parsers/ParsersStandardMisc2.cpp b/DDParsers/src/parsers/ParsersStandardMisc2.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardMisc2.cpp
rename to DDParsers/src/parsers/ParsersStandardMisc2.cpp
diff --git a/DDCore/src/parsers/ParsersStandardMisc3.cpp b/DDParsers/src/parsers/ParsersStandardMisc3.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardMisc3.cpp
rename to DDParsers/src/parsers/ParsersStandardMisc3.cpp
diff --git a/DDCore/src/parsers/ParsersStandardMisc4.cpp b/DDParsers/src/parsers/ParsersStandardMisc4.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardMisc4.cpp
rename to DDParsers/src/parsers/ParsersStandardMisc4.cpp
diff --git a/DDCore/src/parsers/ParsersStandardMisc5.cpp b/DDParsers/src/parsers/ParsersStandardMisc5.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardMisc5.cpp
rename to DDParsers/src/parsers/ParsersStandardMisc5.cpp
diff --git a/DDCore/src/parsers/ParsersStandardMiscCommon.h b/DDParsers/src/parsers/ParsersStandardMiscCommon.h
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardMiscCommon.h
rename to DDParsers/src/parsers/ParsersStandardMiscCommon.h
diff --git a/DDCore/src/parsers/ParsersStandardSingle.cpp b/DDParsers/src/parsers/ParsersStandardSingle.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardSingle.cpp
rename to DDParsers/src/parsers/ParsersStandardSingle.cpp
diff --git a/DDCore/src/parsers/UsedParser.h b/DDParsers/src/parsers/UsedParser.h
similarity index 93%
rename from DDCore/src/parsers/UsedParser.h
rename to DDParsers/src/parsers/UsedParser.h
index 92ad04567963857eaf111c5a1d5d9f89bca62860..77b639d21dcb59ba30f8153713ad6d05dc4509e1 100644
--- a/DDCore/src/parsers/UsedParser.h
+++ b/DDParsers/src/parsers/UsedParser.h
@@ -20,8 +20,8 @@
#else
// Standard dd4hep parser handling
-#include "DD4hep/Parsers.h"
-#include "DD4hep/ToStream.h"
+#include "DDParsers/Parsers.h"
+#include "DDParsers/ToStream.h"
#endif
diff --git a/examples/ClientTests/CMakeLists.txt b/examples/ClientTests/CMakeLists.txt
index 20390f871023169229d865534018cb4440c87170..1560460b077002770e9d4cf051f3e5fde30912c2 100644
--- a/examples/ClientTests/CMakeLists.txt
+++ b/examples/ClientTests/CMakeLists.txt
@@ -33,7 +33,7 @@ dd4hep_configure_scripts( ClientTests DEFAULT_SETUP WITH_TESTS)
# Test JSON based parser
dd4hep_add_test_reg( ClientTests_MiniTel_JSON_Dump
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/run_test_ClientTests.sh"
- EXEC_ARGS geoPluginRun -destroy -plugin dd4hep_JsonDumper
+ EXEC_ARGS geoPluginRun -destroy -plugin DD4hep_JsonDumper
${CMAKE_CURRENT_SOURCE_DIR}/compact/MiniTel.json
REGEX_PASS "Successfully dumped json input"
REGEX_FAIL "Exception"