From 8096e970e64ea9f3a1b7bd5aa4f4e0157176da97 Mon Sep 17 00:00:00 2001
From: Whitney Armstrong <warmstrong@anl.gov>
Date: Tue, 20 Apr 2021 18:39:38 -0500
Subject: [PATCH] Split calorimeter subsystems into their own benchmark
 directories.

---
 .gitlab-ci.yml                                |  93 +-
 README.md                                     |   2 -
 .../{calorimeters => barrel_ecal}/.gitignore  |   0
 benchmarks/barrel_ecal/config.yml             |  37 +
 .../{calorimeters => barrel_ecal}/rootlogon.C |   0
 .../run_emcal_barrel_electrons.sh             |   4 +-
 .../run_emcal_barrel_pions.sh                 |   4 +-
 .../scripts/emcal_barrel_electrons.cxx        |   0
 .../emcal_barrel_electrons_analysis.cxx       |   0
 .../scripts/emcal_barrel_electrons_reader.cxx |   0
 .../scripts/emcal_barrel_pions.cxx            |   0
 .../scripts/emcal_barrel_pions_analysis.cxx   |   0
 .../scripts/emcal_barrel_pions_reader.cxx     |   0
 benchmarks/calorimeters/.rootrc               |   2 -
 benchmarks/calorimeters/config.yml            |  96 --
 .../Crystal_example.xml                       |   0
 benchmarks/crystal_calorimeter/config.yml     |  30 +
 .../elements.xml                              |   0
 .../makeplot_pion.C                           |   0
 .../materials.xml                             |   0
 .../run_simulation_crystal.sh                 |   2 +-
 .../run_simulation_crystal_pion.sh            |   0
 .../simple_checking_crystal.cxx               |   0
 benchmarks/roman_pots/config.yml              |  32 +
 benchmarks/roman_pots/elements.xml            | 884 +++++++++++++++++
 benchmarks/roman_pots/materials.xml           | 169 ++++
 benchmarks/roman_pots/roman_pot.xml           | 106 +++
 benchmarks/roman_pots/roman_pot_hit_eta.cxx   |  62 ++
 benchmarks/roman_pots/roman_pot_simu.sh       |  19 +
 benchmarks/roman_pots/simple_tracking.cxx     | 124 +++
 .../{calorimeters => zdc}/ZDC_example.xml     |   0
 benchmarks/zdc/config.yml                     |  39 +
 benchmarks/zdc/elements.xml                   | 885 ++++++++++++++++++
 benchmarks/zdc/materials.xml                  | 189 ++++
 .../run_simulation_zdc.sh                     |   2 +-
 .../{calorimeters => zdc}/simple_checking.cxx |   0
 .../simple_info_plot_histograms.cxx           |   2 +-
 .../zdc_neutrons_reader.cxx                   |   0
 util/build_detector.sh                        |   4 +-
 39 files changed, 2591 insertions(+), 196 deletions(-)
 rename benchmarks/{calorimeters => barrel_ecal}/.gitignore (100%)
 create mode 100644 benchmarks/barrel_ecal/config.yml
 rename benchmarks/{calorimeters => barrel_ecal}/rootlogon.C (100%)
 rename benchmarks/{calorimeters => barrel_ecal}/run_emcal_barrel_electrons.sh (82%)
 rename benchmarks/{calorimeters => barrel_ecal}/run_emcal_barrel_pions.sh (83%)
 rename benchmarks/{calorimeters => barrel_ecal}/scripts/emcal_barrel_electrons.cxx (100%)
 rename benchmarks/{calorimeters => barrel_ecal}/scripts/emcal_barrel_electrons_analysis.cxx (100%)
 rename benchmarks/{calorimeters => barrel_ecal}/scripts/emcal_barrel_electrons_reader.cxx (100%)
 rename benchmarks/{calorimeters => barrel_ecal}/scripts/emcal_barrel_pions.cxx (100%)
 rename benchmarks/{calorimeters => barrel_ecal}/scripts/emcal_barrel_pions_analysis.cxx (100%)
 rename benchmarks/{calorimeters => barrel_ecal}/scripts/emcal_barrel_pions_reader.cxx (100%)
 delete mode 100644 benchmarks/calorimeters/.rootrc
 delete mode 100644 benchmarks/calorimeters/config.yml
 rename benchmarks/{calorimeters => crystal_calorimeter}/Crystal_example.xml (100%)
 create mode 100644 benchmarks/crystal_calorimeter/config.yml
 rename benchmarks/{calorimeters => crystal_calorimeter}/elements.xml (100%)
 rename benchmarks/{calorimeters => crystal_calorimeter}/makeplot_pion.C (100%)
 rename benchmarks/{calorimeters => crystal_calorimeter}/materials.xml (100%)
 rename benchmarks/{calorimeters => crystal_calorimeter}/run_simulation_crystal.sh (69%)
 rename benchmarks/{calorimeters => crystal_calorimeter}/run_simulation_crystal_pion.sh (100%)
 rename benchmarks/{calorimeters => crystal_calorimeter}/simple_checking_crystal.cxx (100%)
 create mode 100644 benchmarks/roman_pots/config.yml
 create mode 100644 benchmarks/roman_pots/elements.xml
 create mode 100644 benchmarks/roman_pots/materials.xml
 create mode 100644 benchmarks/roman_pots/roman_pot.xml
 create mode 100644 benchmarks/roman_pots/roman_pot_hit_eta.cxx
 create mode 100755 benchmarks/roman_pots/roman_pot_simu.sh
 create mode 100644 benchmarks/roman_pots/simple_tracking.cxx
 rename benchmarks/{calorimeters => zdc}/ZDC_example.xml (100%)
 create mode 100644 benchmarks/zdc/config.yml
 create mode 100644 benchmarks/zdc/elements.xml
 create mode 100644 benchmarks/zdc/materials.xml
 rename benchmarks/{calorimeters => zdc}/run_simulation_zdc.sh (72%)
 rename benchmarks/{calorimeters => zdc}/simple_checking.cxx (100%)
 rename benchmarks/{calorimeters => zdc}/simple_info_plot_histograms.cxx (98%)
 rename benchmarks/{calorimeters => zdc}/zdc_neutrons_reader.cxx (100%)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 11793315..f87d2802 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -23,6 +23,7 @@ stages:
   - data_init
   - simulate
   - benchmarks
+  - collect
   - deploy
 
 env:
@@ -76,98 +77,16 @@ get_data:
 
 
 include: 
-  - local: 'benchmarks/trackers/config.yml'
-  - local: 'benchmarks/calorimeters/config.yml'
+  - local: 'benchmarks/barrel_ecal/config.yml'
+  - local: 'benchmarks/roman_pots/config.yml'
+  - local: 'benchmarks/zdc/config.yml'
+  - local: 'benchmarks/crystal_calorimeter/config.yml'
   - local: 'benchmarks/pid/config.yml'
 
-    #roman_pot_simu:
-    #  stage: simulate
-    #  needs: 
-    #    - ["get_data","detector"]
-    #  script:
-    #    - bash benchmarks/trackers/roman_pot_simu.sh
-    #
-    #roman_pot_nhits:
-    #  stage: benchmarks
-    #  needs:
-    #    - ["roman_pot_simu","detector"]
-    #  script:
-    #    - root -b -q benchmarks/trackers/simple_tracking.cxx+
-    #  allow_failure: true
-    #
-    #roman_pot_eta:
-    #  stage: benchmarks
-    #  needs:
-    #    - ["roman_pot_simu","detector"]
-    #  script:
-    #    - root -b -q benchmarks/trackers/roman_pot_hit_eta.cxx+
-    #  allow_failure: true
-    #
-    #zdc_simulation:
-    #  stage: simulate
-    #  needs: 
-    #    - ["get_data","detector"]
-    #  script:
-    #    - bash benchmarks/calorimeters/run_simulation_zdc.sh
-    #
-    #cal_test_3_zdc_neutrons_reader:
-    #  stage: benchmarks
-    #  needs: 
-    #    - ["zdc_simulation","detector"]
-    #  script:
-    #    - root -b -q benchmarks/calorimeters/zdc_neutrons_reader.cxx
-    #  allow_failure: true
-    #
-    #
-    #zdc_benchmark:
-    #  stage: benchmarks
-    #  needs: 
-    #    - ["zdc_simulation","detector"]
-    #  script:
-    #    - ls -lrth sim_output
-    #    - root -b -q benchmarks/calorimeters/simple_checking.cxx+
-    #  allow_failure: true
-    #
-    #zdc_benchmark_info_histogram:
-    #  stage: benchmarks
-    #  needs: 
-    #    - ["zdc_simulation","detector"]
-    #  script:
-    #    - root -b -q benchmarks/calorimeters/simple_info_plot_histograms.cxx+
-    #  allow_failure: true
-    #
-    #crystal_emcal_simulation:
-    #  stage: simulate
-    #  needs: 
-    #    - ["get_data"]
-    #  script:
-    #     bash benchmarks/calorimeters/run_simulation_crystal.sh
-    #
-    #crystal_benchmark:
-    #  stage: benchmarks
-    #  needs:
-    #    - ["crystal_emcal_simulation","detector"]
-    #  script:
-    #    - ls -lrth sim_output
-    #    - root -b -q benchmarks/calorimeters/simple_checking_crystal.cxx+
-    #  allow_failure: true
-    #
-    #crystal_pion_simulation:
-    #  stage: simulate
-    #  needs:
-    #    - ["get_data","detector"]
-    #  tags:
-    #    - silicon
-    #  script:
-    #    - source options/env.sh
-    #    - npsim --runType batch --numberOfEvents 100 --compactFile ${DETECTOR_PATH}/topside.xml --inputFiles  data/emcal_electrons.hepmc  --outputFile  sim_output/output_emcal_electrons.root
-
 deploy_results:
   stage: deploy
   needs:
-    - ["cal_bench:zdc_benchmark"]
-  tags:
-    - silicon
+    - ["collect_results:zdc","collect_results:barrel_ecal","collect_results:crystal_calorimeter"]
   script:
     - echo "deploy results!"
 
diff --git a/README.md b/README.md
index 322745e1..41ed579a 100644
--- a/README.md
+++ b/README.md
@@ -9,8 +9,6 @@ Detector benchmarks are meant to test for regressions in individual detector sub
 The analysis is meant to avoid a reconstruction step. 
 So this precludes using [juggler](https://eicweb.phy.anl.gov/EIC/juggler) for processing the events.
 
-
-
 ## Adding new benchmarks
 
 ### Pass/Fail tests
diff --git a/benchmarks/calorimeters/.gitignore b/benchmarks/barrel_ecal/.gitignore
similarity index 100%
rename from benchmarks/calorimeters/.gitignore
rename to benchmarks/barrel_ecal/.gitignore
diff --git a/benchmarks/barrel_ecal/config.yml b/benchmarks/barrel_ecal/config.yml
new file mode 100644
index 00000000..81e69293
--- /dev/null
+++ b/benchmarks/barrel_ecal/config.yml
@@ -0,0 +1,37 @@
+sim:emcal_barrel_pions:
+  extends: .det_benchmark
+  stage: simulate
+  script:
+    - bash benchmarks/barrel_ecal/run_emcal_barrel_pions.sh
+
+sim:emcal_barrel_electrons:
+  extends: .det_benchmark
+  stage: simulate
+  script:
+    - bash benchmarks/barrel_ecal/run_emcal_barrel_electrons.sh
+
+bench:emcal_barrel_pions:
+  extends: .det_benchmark
+  stage: benchmarks
+  needs:
+    - ["sim:emcal_barrel_pions"]
+  script:
+    - root -b -q benchmarks/barrel_ecal/scripts/emcal_barrel_pions_analysis.cxx+
+
+bench:emcal_barrel_electrons:
+  extends: .det_benchmark
+  stage: benchmarks
+  needs:
+    - ["sim:emcal_barrel_electrons"]
+  script:
+    - rootls -t sim_output/sim_emcal_barrel_uniform_electrons.root
+    - root -b -q benchmarks/barrel_ecal/scripts/emcal_barrel_electrons_analysis.cxx+
+
+collect_results:barrel_ecal:
+  extends: .det_benchmark
+  stage: collect
+  needs: 
+    - ["bench:emcal_barrel_pions","sim:emcal_barrel_electrons"]
+  script:
+    - ls -lrht
+
diff --git a/benchmarks/calorimeters/rootlogon.C b/benchmarks/barrel_ecal/rootlogon.C
similarity index 100%
rename from benchmarks/calorimeters/rootlogon.C
rename to benchmarks/barrel_ecal/rootlogon.C
diff --git a/benchmarks/calorimeters/run_emcal_barrel_electrons.sh b/benchmarks/barrel_ecal/run_emcal_barrel_electrons.sh
similarity index 82%
rename from benchmarks/calorimeters/run_emcal_barrel_electrons.sh
rename to benchmarks/barrel_ecal/run_emcal_barrel_electrons.sh
index f6ef5391..fc9270e1 100755
--- a/benchmarks/calorimeters/run_emcal_barrel_electrons.sh
+++ b/benchmarks/barrel_ecal/run_emcal_barrel_electrons.sh
@@ -27,13 +27,13 @@ echo "JUGGLER_N_EVENTS = ${JUGGLER_N_EVENTS}"
 echo "JUGGLER_DETECTOR = ${JUGGLER_DETECTOR}"
 
 # Generate the input events
-root -b -q "benchmarks/calorimeters/scripts/emcal_barrel_electrons.cxx(${JUGGLER_N_EVENTS}, ${E_start}, ${E_end}, \"${JUGGLER_FILE_NAME_TAG}.hepmc\")"
+root -b -q "benchmarks/barrel_ecal/scripts/emcal_barrel_electrons.cxx(${JUGGLER_N_EVENTS}, ${E_start}, ${E_end}, \"${JUGGLER_FILE_NAME_TAG}.hepmc\")"
 if [[ "$?" -ne "0" ]] ; then
   echo "ERROR running script: generating input events"
   exit 1
 fi
 # Plot the input events
-root -b -q "benchmarks/calorimeters/scripts/emcal_barrel_electrons_reader.cxx(${E_start}, ${E_end}, \"${JUGGLER_FILE_NAME_TAG}.hepmc\")"
+root -b -q "benchmarks/barrel_ecal/scripts/emcal_barrel_electrons_reader.cxx(${E_start}, ${E_end}, \"${JUGGLER_FILE_NAME_TAG}.hepmc\")"
 if [[ "$?" -ne "0" ]] ; then
   echo "ERROR running script: plotting input events"
   exit 1
diff --git a/benchmarks/calorimeters/run_emcal_barrel_pions.sh b/benchmarks/barrel_ecal/run_emcal_barrel_pions.sh
similarity index 83%
rename from benchmarks/calorimeters/run_emcal_barrel_pions.sh
rename to benchmarks/barrel_ecal/run_emcal_barrel_pions.sh
index 35cc1425..755a589d 100755
--- a/benchmarks/calorimeters/run_emcal_barrel_pions.sh
+++ b/benchmarks/barrel_ecal/run_emcal_barrel_pions.sh
@@ -30,13 +30,13 @@ echo "JUGGLER_N_EVENTS = ${JUGGLER_N_EVENTS}"
 echo "JUGGLER_DETECTOR = ${JUGGLER_DETECTOR}"
 
 # Generate the input events
-root -b -q "benchmarks/calorimeters/scripts/emcal_barrel_pions.cxx(${JUGGLER_N_EVENTS}, ${E_start}, ${E_end}, \"${JUGGLER_FILE_NAME_TAG}.hepmc\")"
+root -b -q "benchmarks/barrel_ecal/scripts/emcal_barrel_pions.cxx(${JUGGLER_N_EVENTS}, ${E_start}, ${E_end}, \"${JUGGLER_FILE_NAME_TAG}.hepmc\")"
 if [[ "$?" -ne "0" ]] ; then
   echo "ERROR running script: generating input events"
   exit 1
 fi
 # Plot the input events
-root -b -q "benchmarks/calorimeters/scripts/emcal_barrel_pions_reader.cxx(${E_start}, ${E_end}, \"${JUGGLER_FILE_NAME_TAG}.hepmc\")"
+root -b -q "benchmarks/barrel_ecal/scripts/emcal_barrel_pions_reader.cxx(${E_start}, ${E_end}, \"${JUGGLER_FILE_NAME_TAG}.hepmc\")"
 if [[ "$?" -ne "0" ]] ; then
   echo "ERROR running script: plotting input events"
   exit 1
diff --git a/benchmarks/calorimeters/scripts/emcal_barrel_electrons.cxx b/benchmarks/barrel_ecal/scripts/emcal_barrel_electrons.cxx
similarity index 100%
rename from benchmarks/calorimeters/scripts/emcal_barrel_electrons.cxx
rename to benchmarks/barrel_ecal/scripts/emcal_barrel_electrons.cxx
diff --git a/benchmarks/calorimeters/scripts/emcal_barrel_electrons_analysis.cxx b/benchmarks/barrel_ecal/scripts/emcal_barrel_electrons_analysis.cxx
similarity index 100%
rename from benchmarks/calorimeters/scripts/emcal_barrel_electrons_analysis.cxx
rename to benchmarks/barrel_ecal/scripts/emcal_barrel_electrons_analysis.cxx
diff --git a/benchmarks/calorimeters/scripts/emcal_barrel_electrons_reader.cxx b/benchmarks/barrel_ecal/scripts/emcal_barrel_electrons_reader.cxx
similarity index 100%
rename from benchmarks/calorimeters/scripts/emcal_barrel_electrons_reader.cxx
rename to benchmarks/barrel_ecal/scripts/emcal_barrel_electrons_reader.cxx
diff --git a/benchmarks/calorimeters/scripts/emcal_barrel_pions.cxx b/benchmarks/barrel_ecal/scripts/emcal_barrel_pions.cxx
similarity index 100%
rename from benchmarks/calorimeters/scripts/emcal_barrel_pions.cxx
rename to benchmarks/barrel_ecal/scripts/emcal_barrel_pions.cxx
diff --git a/benchmarks/calorimeters/scripts/emcal_barrel_pions_analysis.cxx b/benchmarks/barrel_ecal/scripts/emcal_barrel_pions_analysis.cxx
similarity index 100%
rename from benchmarks/calorimeters/scripts/emcal_barrel_pions_analysis.cxx
rename to benchmarks/barrel_ecal/scripts/emcal_barrel_pions_analysis.cxx
diff --git a/benchmarks/calorimeters/scripts/emcal_barrel_pions_reader.cxx b/benchmarks/barrel_ecal/scripts/emcal_barrel_pions_reader.cxx
similarity index 100%
rename from benchmarks/calorimeters/scripts/emcal_barrel_pions_reader.cxx
rename to benchmarks/barrel_ecal/scripts/emcal_barrel_pions_reader.cxx
diff --git a/benchmarks/calorimeters/.rootrc b/benchmarks/calorimeters/.rootrc
deleted file mode 100644
index ec5dcc3c..00000000
--- a/benchmarks/calorimeters/.rootrc
+++ /dev/null
@@ -1,2 +0,0 @@
-#.rootrc file
-Rint.Logon: ./rootlogon.C
diff --git a/benchmarks/calorimeters/config.yml b/benchmarks/calorimeters/config.yml
deleted file mode 100644
index 153241ac..00000000
--- a/benchmarks/calorimeters/config.yml
+++ /dev/null
@@ -1,96 +0,0 @@
-#####################
-# Simulations
-# - Generate datasets
-# - Run Geant4
-# - Run Juggler
-#####################
-
-cal_sim:emcal_barrel_pions:
-  extends: .det_benchmark
-  stage: simulate
-  script:
-    - bash benchmarks/calorimeters/run_emcal_barrel_pions.sh
-
-cal_sim:emcal_barrel_electrons:
-  extends: .det_benchmark
-  stage: simulate
-  script:
-    - bash benchmarks/calorimeters/run_emcal_barrel_electrons.sh
-
-cal_sim:crystal_emcal:
-  extends: .det_benchmark
-  stage: simulate
-  script:
-    - bash benchmarks/calorimeters/run_simulation_crystal.sh
-
-cal_sim:crystal_pion:
-  extends: .det_benchmark
-  stage: simulate
-  script:
-    - npsim --runType batch --numberOfEvents 100 --compactFile ${DETECTOR_PATH}/topside.xml --inputFiles  data/emcal_electrons.hepmc  --outputFile  sim_output/output_emcal_electrons.root
-
-cal_sim:zdc:
-  extends: .det_benchmark
-  stage: simulate
-  script:
-    - bash benchmarks/calorimeters/run_simulation_zdc.sh
-
-###################
-# Benchmarks
-###################
-
-cal_bench:emcal_barrel_pions:
-  extends: .det_benchmark
-  stage: benchmarks
-  needs:
-    - ["cal_sim:emcal_barrel_pions"]
-  script:
-    - root -b -q benchmarks/calorimeters/scripts/emcal_barrel_pions_analysis.cxx+
-
-cal_bench:emcal_barrel_electrons:
-  extends: .det_benchmark
-  stage: benchmarks
-  needs:
-    - ["cal_sim:emcal_barrel_electrons"]
-  script:
-    - rootls -t sim_output/sim_emcal_barrel_uniform_electrons.root
-    - root -b -q benchmarks/calorimeters/scripts/emcal_barrel_electrons_analysis.cxx+
-
-cal_bench:crystal_benchmark:
-  extends: .det_benchmark
-  stage: benchmarks
-  needs:
-    - ["cal_sim:crystal_emcal"]
-  script:
-    - rootls -t sim_output/output_emcal_electrons.root
-    - echo " Not yet complete"
-      #- root -b -q benchmarks/calorimeters/simple_checking_crystal.cxx+
-
-    #cal_test_3_zdc_neutrons_reader:
-    #stage: benchmarks
-    #tags:
-    #- sodium
-    #script:
-    #- root -b -q benchmarks/calorimeters/zdc_neutrons_reader.cxx
-      #artifact:
-      #  paths: 
-      #    - results/
-      #allow_failure: true
-
-cal_bench:zdc_benchmark:
-  extends: .det_benchmark
-  stage: benchmarks
-  needs: 
-    - ["cal_sim:zdc"]
-  script:
-    - echo " Not yet complete"
-    #- root -b -q benchmarks/calorimeters/simple_checking.cxx+
-
-cal_bench:zdc_benchmark_info_histogram:
-  extends: .det_benchmark
-  stage: benchmarks
-  needs: 
-    - ["cal_sim:zdc"]
-  script:
-    - root -b -q benchmarks/calorimeters/simple_info_plot_histograms.cxx+
-
diff --git a/benchmarks/calorimeters/Crystal_example.xml b/benchmarks/crystal_calorimeter/Crystal_example.xml
similarity index 100%
rename from benchmarks/calorimeters/Crystal_example.xml
rename to benchmarks/crystal_calorimeter/Crystal_example.xml
diff --git a/benchmarks/crystal_calorimeter/config.yml b/benchmarks/crystal_calorimeter/config.yml
new file mode 100644
index 00000000..3b9b2988
--- /dev/null
+++ b/benchmarks/crystal_calorimeter/config.yml
@@ -0,0 +1,30 @@
+cal_sim:crystal_emcal:
+  extends: .det_benchmark
+  stage: simulate
+  script:
+    - bash benchmarks/crystal_calorimeter/run_simulation_crystal.sh
+
+cal_sim:crystal_pion:
+  extends: .det_benchmark
+  stage: simulate
+  script:
+    - npsim --runType batch --numberOfEvents 100 --compactFile ${DETECTOR_PATH}/topside.xml --inputFiles  data/emcal_electrons.hepmc  --outputFile  sim_output/output_emcal_electrons.root
+
+cal_bench:crystal_benchmark:
+  extends: .det_benchmark
+  stage: benchmarks
+  needs:
+    - ["cal_sim:crystal_emcal"]
+  script:
+    - rootls -t sim_output/output_emcal_electrons.root
+    - echo " Not yet complete"
+      #- root -b -q benchmarks/cryxtal_calorimeter/simple_checking_crystal.cxx+
+      #
+collect_results:crystal_calorimeter:
+  extends: .det_benchmark
+  stage: collect
+  needs: 
+    - ["cal_bench:crystal_benchmark"]
+  script:
+    - ls -lrht
+
diff --git a/benchmarks/calorimeters/elements.xml b/benchmarks/crystal_calorimeter/elements.xml
similarity index 100%
rename from benchmarks/calorimeters/elements.xml
rename to benchmarks/crystal_calorimeter/elements.xml
diff --git a/benchmarks/calorimeters/makeplot_pion.C b/benchmarks/crystal_calorimeter/makeplot_pion.C
similarity index 100%
rename from benchmarks/calorimeters/makeplot_pion.C
rename to benchmarks/crystal_calorimeter/makeplot_pion.C
diff --git a/benchmarks/calorimeters/materials.xml b/benchmarks/crystal_calorimeter/materials.xml
similarity index 100%
rename from benchmarks/calorimeters/materials.xml
rename to benchmarks/crystal_calorimeter/materials.xml
diff --git a/benchmarks/calorimeters/run_simulation_crystal.sh b/benchmarks/crystal_calorimeter/run_simulation_crystal.sh
similarity index 69%
rename from benchmarks/calorimeters/run_simulation_crystal.sh
rename to benchmarks/crystal_calorimeter/run_simulation_crystal.sh
index f00e8033..8a44a4b3 100755
--- a/benchmarks/calorimeters/run_simulation_crystal.sh
+++ b/benchmarks/crystal_calorimeter/run_simulation_crystal.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 
 ddsim --runType batch --numberOfEvents 100 \
-      --compactFile benchmarks/calorimeters/Crystal_example.xml \
+      --compactFile benchmarks/crystal_calorimeter/Crystal_example.xml \
       --inputFiles  ./data/emcal_electrons.hepmc \
       --outputFile  ./sim_output/output_emcal_electrons.root
diff --git a/benchmarks/calorimeters/run_simulation_crystal_pion.sh b/benchmarks/crystal_calorimeter/run_simulation_crystal_pion.sh
similarity index 100%
rename from benchmarks/calorimeters/run_simulation_crystal_pion.sh
rename to benchmarks/crystal_calorimeter/run_simulation_crystal_pion.sh
diff --git a/benchmarks/calorimeters/simple_checking_crystal.cxx b/benchmarks/crystal_calorimeter/simple_checking_crystal.cxx
similarity index 100%
rename from benchmarks/calorimeters/simple_checking_crystal.cxx
rename to benchmarks/crystal_calorimeter/simple_checking_crystal.cxx
diff --git a/benchmarks/roman_pots/config.yml b/benchmarks/roman_pots/config.yml
new file mode 100644
index 00000000..50feecc4
--- /dev/null
+++ b/benchmarks/roman_pots/config.yml
@@ -0,0 +1,32 @@
+sim:roman_pot:
+  stage: simulate
+  extends: .det_benchmark
+  script:
+    - bash benchmarks/trackers/roman_pot_simu.sh
+
+bench:roman_pot_nhits:
+  stage: benchmarks
+  extends: .det_benchmark
+  needs:
+    - ["sim:roman_pot"]
+  script:
+    - root -b -q benchmarks/trackers/simple_tracking.cxx+
+
+bench:roman_pot_eta:
+  stage: benchmarks
+  extends: .det_benchmark
+  needs:
+    - ["sim:roman_pot"]
+  script:
+    - root -b -q benchmarks/trackers/roman_pot_hit_eta.cxx+
+
+collect_results:roman_pot:
+  extends: .det_benchmark
+  stage: collect
+  needs: 
+    - ["bench:roman_pot_nhits","bench:roman_pot_eta"]
+  script:
+    - echo "Collecting results"
+
+
+
diff --git a/benchmarks/roman_pots/elements.xml b/benchmarks/roman_pots/elements.xml
new file mode 100644
index 00000000..e714c3a5
--- /dev/null
+++ b/benchmarks/roman_pots/elements.xml
@@ -0,0 +1,884 @@
+<materials>
+ <element Z="89" formula="Ac" name="Ac" >
+  <atom type="A" unit="g/mol" value="227.028" />
+ </element>
+ <material formula="Ac" name="Actinium" state="solid" >
+  <RL type="X0" unit="cm" value="0.601558" />
+  <NIL type="lambda" unit="cm" value="21.2048" />
+  <D type="density" unit="g/cm3" value="10.07" />
+  <composite n="1" ref="Ac" />
+ </material>
+ <element Z="47" formula="Ag" name="Ag" >
+  <atom type="A" unit="g/mol" value="107.868" />
+ </element>
+ <material formula="Ag" name="Silver" state="solid" >
+  <RL type="X0" unit="cm" value="0.854292" />
+  <NIL type="lambda" unit="cm" value="15.8546" />
+  <D type="density" unit="g/cm3" value="10.5" />
+  <composite n="1" ref="Ag" />
+ </material>
+ <element Z="13" formula="Al" name="Al" >
+  <atom type="A" unit="g/mol" value="26.9815" />
+ </element>
+ <material formula="Al" name="Aluminum" state="solid" >
+  <RL type="X0" unit="cm" value="8.89632" />
+  <NIL type="lambda" unit="cm" value="38.8766" />
+  <D type="density" unit="g/cm3" value="2.699" />
+  <composite n="1" ref="Al" />
+ </material>
+ <element Z="95" formula="Am" name="Am" >
+  <atom type="A" unit="g/mol" value="243.061" />
+ </element>
+ <material formula="Am" name="Americium" state="solid" >
+  <RL type="X0" unit="cm" value="0.42431" />
+  <NIL type="lambda" unit="cm" value="15.9812" />
+  <D type="density" unit="g/cm3" value="13.67" />
+  <composite n="1" ref="Am" />
+ </material>
+ <element Z="18" formula="Ar" name="Ar" >
+  <atom type="A" unit="g/mol" value="39.9477" />
+ </element>
+ <material formula="Ar" name="Argon" state="gas" >
+  <RL type="X0" unit="cm" value="11762.1" />
+  <NIL type="lambda" unit="cm" value="71926" />
+  <D type="density" unit="g/cm3" value="0.00166201" />
+  <composite n="1" ref="Ar" />
+ </material>
+ <element Z="33" formula="As" name="As" >
+  <atom type="A" unit="g/mol" value="74.9216" />
+ </element>
+ <material formula="As" name="Arsenic" state="solid" >
+  <RL type="X0" unit="cm" value="2.0838" />
+  <NIL type="lambda" unit="cm" value="25.7324" />
+  <D type="density" unit="g/cm3" value="5.73" />
+  <composite n="1" ref="As" />
+ </material>
+ <element Z="85" formula="At" name="At" >
+  <atom type="A" unit="g/mol" value="209.987" />
+ </element>
+ <material formula="At" name="Astatine" state="solid" >
+  <RL type="X0" unit="cm" value="0.650799" />
+  <NIL type="lambda" unit="cm" value="22.3202" />
+  <D type="density" unit="g/cm3" value="9.32" />
+  <composite n="1" ref="At" />
+ </material>
+ <element Z="79" formula="Au" name="Au" >
+  <atom type="A" unit="g/mol" value="196.967" />
+ </element>
+ <material formula="Au" name="Gold" state="solid" >
+  <RL type="X0" unit="cm" value="0.334436" />
+  <NIL type="lambda" unit="cm" value="10.5393" />
+  <D type="density" unit="g/cm3" value="19.32" />
+  <composite n="1" ref="Au" />
+ </material>
+ <element Z="5" formula="B" name="B" >
+  <atom type="A" unit="g/mol" value="10.811" />
+ </element>
+ <material formula="B" name="Boron" state="solid" >
+  <RL type="X0" unit="cm" value="22.2307" />
+  <NIL type="lambda" unit="cm" value="32.2793" />
+  <D type="density" unit="g/cm3" value="2.37" />
+  <composite n="1" ref="B" />
+ </material>
+ <element Z="56" formula="Ba" name="Ba" >
+  <atom type="A" unit="g/mol" value="137.327" />
+ </element>
+ <material formula="Ba" name="Barium" state="solid" >
+  <RL type="X0" unit="cm" value="2.37332" />
+  <NIL type="lambda" unit="cm" value="51.6743" />
+  <D type="density" unit="g/cm3" value="3.5" />
+  <composite n="1" ref="Ba" />
+ </material>
+ <element Z="4" formula="Be" name="Be" >
+  <atom type="A" unit="g/mol" value="9.01218" />
+ </element>
+ <material formula="Be" name="Beryllium" state="solid" >
+  <RL type="X0" unit="cm" value="35.276" />
+  <NIL type="lambda" unit="cm" value="39.4488" />
+  <D type="density" unit="g/cm3" value="1.848" />
+  <composite n="1" ref="Be" />
+ </material>
+ <element Z="83" formula="Bi" name="Bi" >
+  <atom type="A" unit="g/mol" value="208.98" />
+ </element>
+ <material formula="Bi" name="Bismuth" state="solid" >
+  <RL type="X0" unit="cm" value="0.645388" />
+  <NIL type="lambda" unit="cm" value="21.3078" />
+  <D type="density" unit="g/cm3" value="9.747" />
+  <composite n="1" ref="Bi" />
+ </material>
+ <element Z="97" formula="Bk" name="Bk" >
+  <atom type="A" unit="g/mol" value="247.07" />
+ </element>
+ <material formula="Bk" name="Berkelium" state="solid" >
+  <RL type="X0" unit="cm" value="0.406479" />
+  <NIL type="lambda" unit="cm" value="15.6902" />
+  <D type="density" unit="g/cm3" value="14" />
+  <composite n="1" ref="Bk" />
+ </material>
+ <element Z="35" formula="Br" name="Br" >
+  <atom type="A" unit="g/mol" value="79.9035" />
+ </element>
+ <material formula="Br" name="Bromine" state="gas" >
+  <RL type="X0" unit="cm" value="1615.12" />
+  <NIL type="lambda" unit="cm" value="21299" />
+  <D type="density" unit="g/cm3" value="0.0070721" />
+  <composite n="1" ref="Br" />
+ </material>
+ <element Z="6" formula="C" name="C" >
+  <atom type="A" unit="g/mol" value="12.0107" />
+ </element>
+ <material formula="C" name="Carbon" state="solid" >
+  <RL type="X0" unit="cm" value="21.3485" />
+  <NIL type="lambda" unit="cm" value="40.1008" />
+  <D type="density" unit="g/cm3" value="2" />
+  <composite n="1" ref="C" />
+ </material>
+ <element Z="20" formula="Ca" name="Ca" >
+  <atom type="A" unit="g/mol" value="40.078" />
+ </element>
+ <material formula="Ca" name="Calcium" state="solid" >
+  <RL type="X0" unit="cm" value="10.4151" />
+  <NIL type="lambda" unit="cm" value="77.3754" />
+  <D type="density" unit="g/cm3" value="1.55" />
+  <composite n="1" ref="Ca" />
+ </material>
+ <element Z="48" formula="Cd" name="Cd" >
+  <atom type="A" unit="g/mol" value="112.411" />
+ </element>
+ <material formula="Cd" name="Cadmium" state="solid" >
+  <RL type="X0" unit="cm" value="1.03994" />
+  <NIL type="lambda" unit="cm" value="19.46" />
+  <D type="density" unit="g/cm3" value="8.65" />
+  <composite n="1" ref="Cd" />
+ </material>
+ <element Z="58" formula="Ce" name="Ce" >
+  <atom type="A" unit="g/mol" value="140.115" />
+ </element>
+ <material formula="Ce" name="Cerium" state="solid" >
+  <RL type="X0" unit="cm" value="1.19506" />
+  <NIL type="lambda" unit="cm" value="27.3227" />
+  <D type="density" unit="g/cm3" value="6.657" />
+  <composite n="1" ref="Ce" />
+ </material>
+ <element Z="98" formula="Cf" name="Cf" >
+  <atom type="A" unit="g/mol" value="251.08" />
+ </element>
+ <material formula="Cf" name="Californium" state="solid" >
+  <RL type="X0" unit="cm" value="0.568328" />
+  <NIL type="lambda" unit="cm" value="22.085" />
+  <D type="density" unit="g/cm3" value="10" />
+  <composite n="1" ref="Cf" />
+ </material>
+ <element Z="17" formula="Cl" name="Cl" >
+  <atom type="A" unit="g/mol" value="35.4526" />
+ </element>
+ <material formula="Cl" name="Chlorine" state="gas" >
+  <RL type="X0" unit="cm" value="6437.34" />
+  <NIL type="lambda" unit="cm" value="38723.9" />
+  <D type="density" unit="g/cm3" value="0.00299473" />
+  <composite n="1" ref="Cl" />
+ </material>
+ <element Z="96" formula="Cm" name="Cm" >
+  <atom type="A" unit="g/mol" value="247.07" />
+ </element>
+ <material formula="Cm" name="Curium" state="solid" >
+  <RL type="X0" unit="cm" value="0.428706" />
+  <NIL type="lambda" unit="cm" value="16.2593" />
+  <D type="density" unit="g/cm3" value="13.51" />
+  <composite n="1" ref="Cm" />
+ </material>
+ <element Z="27" formula="Co" name="Co" >
+  <atom type="A" unit="g/mol" value="58.9332" />
+ </element>
+ <material formula="Co" name="Cobalt" state="solid" >
+  <RL type="X0" unit="cm" value="1.53005" />
+  <NIL type="lambda" unit="cm" value="15.2922" />
+  <D type="density" unit="g/cm3" value="8.9" />
+  <composite n="1" ref="Co" />
+ </material>
+ <element Z="24" formula="Cr" name="Cr" >
+  <atom type="A" unit="g/mol" value="51.9961" />
+ </element>
+ <material formula="Cr" name="Chromium" state="solid" >
+  <RL type="X0" unit="cm" value="2.0814" />
+  <NIL type="lambda" unit="cm" value="18.1933" />
+  <D type="density" unit="g/cm3" value="7.18" />
+  <composite n="1" ref="Cr" />
+ </material>
+ <element Z="55" formula="Cs" name="Cs" >
+  <atom type="A" unit="g/mol" value="132.905" />
+ </element>
+ <material formula="Cs" name="Cesium" state="solid" >
+  <RL type="X0" unit="cm" value="4.4342" />
+  <NIL type="lambda" unit="cm" value="95.317" />
+  <D type="density" unit="g/cm3" value="1.873" />
+  <composite n="1" ref="Cs" />
+ </material>
+ <element Z="29" formula="Cu" name="Cu" >
+  <atom type="A" unit="g/mol" value="63.5456" />
+ </element>
+ <material formula="Cu" name="Copper" state="solid" >
+  <RL type="X0" unit="cm" value="1.43558" />
+  <NIL type="lambda" unit="cm" value="15.5141" />
+  <D type="density" unit="g/cm3" value="8.96" />
+  <composite n="1" ref="Cu" />
+ </material>
+ <element Z="66" formula="Dy" name="Dy" >
+  <atom type="A" unit="g/mol" value="162.497" />
+ </element>
+ <material formula="Dy" name="Dysprosium" state="solid" >
+  <RL type="X0" unit="cm" value="0.85614" />
+  <NIL type="lambda" unit="cm" value="22.2923" />
+  <D type="density" unit="g/cm3" value="8.55" />
+  <composite n="1" ref="Dy" />
+ </material>
+ <element Z="68" formula="Er" name="Er" >
+  <atom type="A" unit="g/mol" value="167.256" />
+ </element>
+ <material formula="Er" name="Erbium" state="solid" >
+  <RL type="X0" unit="cm" value="0.788094" />
+  <NIL type="lambda" unit="cm" value="21.2923" />
+  <D type="density" unit="g/cm3" value="9.066" />
+  <composite n="1" ref="Er" />
+ </material>
+ <element Z="63" formula="Eu" name="Eu" >
+  <atom type="A" unit="g/mol" value="151.964" />
+ </element>
+ <material formula="Eu" name="Europium" state="solid" >
+  <RL type="X0" unit="cm" value="1.41868" />
+  <NIL type="lambda" unit="cm" value="35.6178" />
+  <D type="density" unit="g/cm3" value="5.243" />
+  <composite n="1" ref="Eu" />
+ </material>
+ <element Z="9" formula="F" name="F" >
+  <atom type="A" unit="g/mol" value="18.9984" />
+ </element>
+ <material formula="F" name="Fluorine" state="gas" >
+  <RL type="X0" unit="cm" value="20838.2" />
+  <NIL type="lambda" unit="cm" value="59094.3" />
+  <D type="density" unit="g/cm3" value="0.00158029" />
+  <composite n="1" ref="F" />
+ </material>
+ <element Z="26" formula="Fe" name="Fe" >
+  <atom type="A" unit="g/mol" value="55.8451" />
+ </element>
+ <material formula="Fe" name="Iron" state="solid" >
+  <RL type="X0" unit="cm" value="1.75749" />
+  <NIL type="lambda" unit="cm" value="16.959" />
+  <D type="density" unit="g/cm3" value="7.874" />
+  <composite n="1" ref="Fe" />
+ </material>
+ <element Z="87" formula="Fr" name="Fr" >
+  <atom type="A" unit="g/mol" value="223.02" />
+ </element>
+ <material formula="Fr" name="Francium" state="solid" >
+  <RL type="X0" unit="cm" value="6.18826" />
+  <NIL type="lambda" unit="cm" value="212.263" />
+  <D type="density" unit="g/cm3" value="1" />
+  <composite n="1" ref="Fr" />
+ </material>
+ <element Z="31" formula="Ga" name="Ga" >
+  <atom type="A" unit="g/mol" value="69.7231" />
+ </element>
+ <material formula="Ga" name="Gallium" state="solid" >
+  <RL type="X0" unit="cm" value="2.1128" />
+  <NIL type="lambda" unit="cm" value="24.3351" />
+  <D type="density" unit="g/cm3" value="5.904" />
+  <composite n="1" ref="Ga" />
+ </material>
+ <element Z="64" formula="Gd" name="Gd" >
+  <atom type="A" unit="g/mol" value="157.252" />
+ </element>
+ <material formula="Gd" name="Gadolinium" state="solid" >
+  <RL type="X0" unit="cm" value="0.947208" />
+  <NIL type="lambda" unit="cm" value="23.9377" />
+  <D type="density" unit="g/cm3" value="7.9004" />
+  <composite n="1" ref="Gd" />
+ </material>
+ <element Z="32" formula="Ge" name="Ge" >
+  <atom type="A" unit="g/mol" value="72.6128" />
+ </element>
+ <material formula="Ge" name="Germanium" state="solid" >
+  <RL type="X0" unit="cm" value="2.3013" />
+  <NIL type="lambda" unit="cm" value="27.3344" />
+  <D type="density" unit="g/cm3" value="5.323" />
+  <composite n="1" ref="Ge" />
+ </material>
+ <element Z="1" formula="H" name="H" >
+  <atom type="A" unit="g/mol" value="1.00794" />
+ </element>
+ <material formula="H" name="Hydrogen" state="gas" >
+  <RL type="X0" unit="cm" value="752776" />
+  <NIL type="lambda" unit="cm" value="421239" />
+  <D type="density" unit="g/cm3" value="8.3748e-05" />
+  <composite n="1" ref="H" />
+ </material>
+ <element Z="2" formula="He" name="He" >
+  <atom type="A" unit="g/mol" value="4.00264" />
+ </element>
+ <material formula="He" name="Helium" state="gas" >
+  <RL type="X0" unit="cm" value="567113" />
+  <NIL type="lambda" unit="cm" value="334266" />
+  <D type="density" unit="g/cm3" value="0.000166322" />
+  <composite n="1" ref="He" />
+ </material>
+ <element Z="72" formula="Hf" name="Hf" >
+  <atom type="A" unit="g/mol" value="178.485" />
+ </element>
+ <material formula="Hf" name="Hafnium" state="solid" >
+  <RL type="X0" unit="cm" value="0.517717" />
+  <NIL type="lambda" unit="cm" value="14.7771" />
+  <D type="density" unit="g/cm3" value="13.31" />
+  <composite n="1" ref="Hf" />
+ </material>
+ <element Z="80" formula="Hg" name="Hg" >
+  <atom type="A" unit="g/mol" value="200.599" />
+ </element>
+ <material formula="Hg" name="Mercury" state="solid" >
+  <RL type="X0" unit="cm" value="0.475241" />
+  <NIL type="lambda" unit="cm" value="15.105" />
+  <D type="density" unit="g/cm3" value="13.546" />
+  <composite n="1" ref="Hg" />
+ </material>
+ <element Z="67" formula="Ho" name="Ho" >
+  <atom type="A" unit="g/mol" value="164.93" />
+ </element>
+ <material formula="Ho" name="Holmium" state="solid" >
+  <RL type="X0" unit="cm" value="0.822447" />
+  <NIL type="lambda" unit="cm" value="21.8177" />
+  <D type="density" unit="g/cm3" value="8.795" />
+  <composite n="1" ref="Ho" />
+ </material>
+ <element Z="53" formula="I" name="I" >
+  <atom type="A" unit="g/mol" value="126.904" />
+ </element>
+ <material formula="I" name="Iodine" state="solid" >
+  <RL type="X0" unit="cm" value="1.72016" />
+  <NIL type="lambda" unit="cm" value="35.6583" />
+  <D type="density" unit="g/cm3" value="4.93" />
+  <composite n="1" ref="I" />
+ </material>
+ <element Z="49" formula="In" name="In" >
+  <atom type="A" unit="g/mol" value="114.818" />
+ </element>
+ <material formula="In" name="Indium" state="solid" >
+  <RL type="X0" unit="cm" value="1.21055" />
+  <NIL type="lambda" unit="cm" value="23.2468" />
+  <D type="density" unit="g/cm3" value="7.31" />
+  <composite n="1" ref="In" />
+ </material>
+ <element Z="77" formula="Ir" name="Ir" >
+  <atom type="A" unit="g/mol" value="192.216" />
+ </element>
+ <material formula="Ir" name="Iridium" state="solid" >
+  <RL type="X0" unit="cm" value="0.294142" />
+  <NIL type="lambda" unit="cm" value="9.01616" />
+  <D type="density" unit="g/cm3" value="22.42" />
+  <composite n="1" ref="Ir" />
+ </material>
+ <element Z="19" formula="K" name="K" >
+  <atom type="A" unit="g/mol" value="39.0983" />
+ </element>
+ <material formula="K" name="Potassium" state="solid" >
+  <RL type="X0" unit="cm" value="20.0871" />
+  <NIL type="lambda" unit="cm" value="138.041" />
+  <D type="density" unit="g/cm3" value="0.862" />
+  <composite n="1" ref="K" />
+ </material>
+ <element Z="36" formula="Kr" name="Kr" >
+  <atom type="A" unit="g/mol" value="83.7993" />
+ </element>
+ <material formula="Kr" name="Krypton" state="gas" >
+  <RL type="X0" unit="cm" value="3269.44" />
+  <NIL type="lambda" unit="cm" value="43962.9" />
+  <D type="density" unit="g/cm3" value="0.00347832" />
+  <composite n="1" ref="Kr" />
+ </material>
+ <element Z="57" formula="La" name="La" >
+  <atom type="A" unit="g/mol" value="138.905" />
+ </element>
+ <material formula="La" name="Lanthanum" state="solid" >
+  <RL type="X0" unit="cm" value="1.32238" />
+  <NIL type="lambda" unit="cm" value="29.441" />
+  <D type="density" unit="g/cm3" value="6.154" />
+  <composite n="1" ref="La" />
+ </material>
+ <element Z="3" formula="Li" name="Li" >
+  <atom type="A" unit="g/mol" value="6.94003" />
+ </element>
+ <material formula="Li" name="Lithium" state="solid" >
+  <RL type="X0" unit="cm" value="154.997" />
+  <NIL type="lambda" unit="cm" value="124.305" />
+  <D type="density" unit="g/cm3" value="0.534" />
+  <composite n="1" ref="Li" />
+ </material>
+ <element Z="71" formula="Lu" name="Lu" >
+  <atom type="A" unit="g/mol" value="174.967" />
+ </element>
+ <material formula="Lu" name="Lutetium" state="solid" >
+  <RL type="X0" unit="cm" value="0.703651" />
+  <NIL type="lambda" unit="cm" value="19.8916" />
+  <D type="density" unit="g/cm3" value="9.84" />
+  <composite n="1" ref="Lu" />
+ </material>
+ <element Z="12" formula="Mg" name="Mg" >
+  <atom type="A" unit="g/mol" value="24.305" />
+ </element>
+ <material formula="Mg" name="Magnesium" state="solid" >
+  <RL type="X0" unit="cm" value="14.3859" />
+  <NIL type="lambda" unit="cm" value="58.7589" />
+  <D type="density" unit="g/cm3" value="1.74" />
+  <composite n="1" ref="Mg" />
+ </material>
+ <element Z="25" formula="Mn" name="Mn" >
+  <atom type="A" unit="g/mol" value="54.938" />
+ </element>
+ <material formula="Mn" name="Manganese" state="solid" >
+  <RL type="X0" unit="cm" value="1.96772" />
+  <NIL type="lambda" unit="cm" value="17.8701" />
+  <D type="density" unit="g/cm3" value="7.44" />
+  <composite n="1" ref="Mn" />
+ </material>
+ <element Z="42" formula="Mo" name="Mo" >
+  <atom type="A" unit="g/mol" value="95.9313" />
+ </element>
+ <material formula="Mo" name="Molybdenum" state="solid" >
+  <RL type="X0" unit="cm" value="0.959107" />
+  <NIL type="lambda" unit="cm" value="15.6698" />
+  <D type="density" unit="g/cm3" value="10.22" />
+  <composite n="1" ref="Mo" />
+ </material>
+ <element Z="7" formula="N" name="N" >
+  <atom type="A" unit="g/mol" value="14.0068" />
+ </element>
+ <material formula="N" name="Nitrogen" state="gas" >
+  <RL type="X0" unit="cm" value="32602.2" />
+  <NIL type="lambda" unit="cm" value="72430.3" />
+  <D type="density" unit="g/cm3" value="0.0011652" />
+  <composite n="1" ref="N" />
+ </material>
+ <element Z="11" formula="Na" name="Na" >
+  <atom type="A" unit="g/mol" value="22.9898" />
+ </element>
+ <material formula="Na" name="Sodium" state="solid" >
+  <RL type="X0" unit="cm" value="28.5646" />
+  <NIL type="lambda" unit="cm" value="102.463" />
+  <D type="density" unit="g/cm3" value="0.971" />
+  <composite n="1" ref="Na" />
+ </material>
+ <element Z="41" formula="Nb" name="Nb" >
+  <atom type="A" unit="g/mol" value="92.9064" />
+ </element>
+ <material formula="Nb" name="Niobium" state="solid" >
+  <RL type="X0" unit="cm" value="1.15783" />
+  <NIL type="lambda" unit="cm" value="18.4846" />
+  <D type="density" unit="g/cm3" value="8.57" />
+  <composite n="1" ref="Nb" />
+ </material>
+ <element Z="60" formula="Nd" name="Nd" >
+  <atom type="A" unit="g/mol" value="144.236" />
+ </element>
+ <material formula="Nd" name="Neodymium" state="solid" >
+  <RL type="X0" unit="cm" value="1.11667" />
+  <NIL type="lambda" unit="cm" value="26.6308" />
+  <D type="density" unit="g/cm3" value="6.9" />
+  <composite n="1" ref="Nd" />
+ </material>
+ <element Z="10" formula="Ne" name="Ne" >
+  <atom type="A" unit="g/mol" value="20.18" />
+ </element>
+ <material formula="Ne" name="Neon" state="gas" >
+  <RL type="X0" unit="cm" value="34504.8" />
+  <NIL type="lambda" unit="cm" value="114322" />
+  <D type="density" unit="g/cm3" value="0.000838505" />
+  <composite n="1" ref="Ne" />
+ </material>
+ <element Z="28" formula="Ni" name="Ni" >
+  <atom type="A" unit="g/mol" value="58.6933" />
+ </element>
+ <material formula="Ni" name="Nickel" state="solid" >
+  <RL type="X0" unit="cm" value="1.42422" />
+  <NIL type="lambda" unit="cm" value="15.2265" />
+  <D type="density" unit="g/cm3" value="8.902" />
+  <composite n="1" ref="Ni" />
+ </material>
+ <element Z="93" formula="Np" name="Np" >
+  <atom type="A" unit="g/mol" value="237.048" />
+ </element>
+ <material formula="Np" name="Neptunium" state="solid" >
+  <RL type="X0" unit="cm" value="0.289676" />
+  <NIL type="lambda" unit="cm" value="10.6983" />
+  <D type="density" unit="g/cm3" value="20.25" />
+  <composite n="1" ref="Np" />
+ </material>
+ <element Z="8" formula="O" name="O" >
+  <atom type="A" unit="g/mol" value="15.9994" />
+ </element>
+ <material formula="O" name="Oxygen" state="gas" >
+  <RL type="X0" unit="cm" value="25713.8" />
+  <NIL type="lambda" unit="cm" value="66233.9" />
+  <D type="density" unit="g/cm3" value="0.00133151" />
+  <composite n="1" ref="O" />
+ </material>
+ <element Z="76" formula="Os" name="Os" >
+  <atom type="A" unit="g/mol" value="190.225" />
+ </element>
+ <material formula="Os" name="Osmium" state="solid" >
+  <RL type="X0" unit="cm" value="0.295861" />
+  <NIL type="lambda" unit="cm" value="8.92553" />
+  <D type="density" unit="g/cm3" value="22.57" />
+  <composite n="1" ref="Os" />
+ </material>
+ <element Z="15" formula="P" name="P" >
+  <atom type="A" unit="g/mol" value="30.9738" />
+ </element>
+ <material formula="P" name="Phosphorus" state="solid" >
+  <RL type="X0" unit="cm" value="9.63879" />
+  <NIL type="lambda" unit="cm" value="49.9343" />
+  <D type="density" unit="g/cm3" value="2.2" />
+  <composite n="1" ref="P" />
+ </material>
+ <element Z="91" formula="Pa" name="Pa" >
+  <atom type="A" unit="g/mol" value="231.036" />
+ </element>
+ <material formula="Pa" name="Protactinium" state="solid" >
+  <RL type="X0" unit="cm" value="0.38607" />
+  <NIL type="lambda" unit="cm" value="13.9744" />
+  <D type="density" unit="g/cm3" value="15.37" />
+  <composite n="1" ref="Pa" />
+ </material>
+ <element Z="82" formula="Pb" name="Pb" >
+  <atom type="A" unit="g/mol" value="207.217" />
+ </element>
+ <material formula="Pb" name="Lead" state="solid" >
+  <RL type="X0" unit="cm" value="0.561253" />
+  <NIL type="lambda" unit="cm" value="18.2607" />
+  <D type="density" unit="g/cm3" value="11.35" />
+  <composite n="1" ref="Pb" />
+ </material>
+ <element Z="46" formula="Pd" name="Pd" >
+  <atom type="A" unit="g/mol" value="106.415" />
+ </element>
+ <material formula="Pd" name="Palladium" state="solid" >
+  <RL type="X0" unit="cm" value="0.765717" />
+  <NIL type="lambda" unit="cm" value="13.7482" />
+  <D type="density" unit="g/cm3" value="12.02" />
+  <composite n="1" ref="Pd" />
+ </material>
+ <element Z="61" formula="Pm" name="Pm" >
+  <atom type="A" unit="g/mol" value="144.913" />
+ </element>
+ <material formula="Pm" name="Promethium" state="solid" >
+  <RL type="X0" unit="cm" value="1.04085" />
+  <NIL type="lambda" unit="cm" value="25.4523" />
+  <D type="density" unit="g/cm3" value="7.22" />
+  <composite n="1" ref="Pm" />
+ </material>
+ <element Z="84" formula="Po" name="Po" >
+  <atom type="A" unit="g/mol" value="208.982" />
+ </element>
+ <material formula="Po" name="Polonium" state="solid" >
+  <RL type="X0" unit="cm" value="0.661092" />
+  <NIL type="lambda" unit="cm" value="22.2842" />
+  <D type="density" unit="g/cm3" value="9.32" />
+  <composite n="1" ref="Po" />
+ </material>
+ <element Z="59" formula="Pr" name="Pr" >
+  <atom type="A" unit="g/mol" value="140.908" />
+ </element>
+ <material formula="Pr" name="Praseodymium" state="solid" >
+  <RL type="X0" unit="cm" value="1.1562" />
+  <NIL type="lambda" unit="cm" value="27.1312" />
+  <D type="density" unit="g/cm3" value="6.71" />
+  <composite n="1" ref="Pr" />
+ </material>
+ <element Z="78" formula="Pt" name="Pt" >
+  <atom type="A" unit="g/mol" value="195.078" />
+ </element>
+ <material formula="Pt" name="Platinum" state="solid" >
+  <RL type="X0" unit="cm" value="0.305053" />
+  <NIL type="lambda" unit="cm" value="9.46584" />
+  <D type="density" unit="g/cm3" value="21.45" />
+  <composite n="1" ref="Pt" />
+ </material>
+ <element Z="94" formula="Pu" name="Pu" >
+  <atom type="A" unit="g/mol" value="244.064" />
+ </element>
+ <material formula="Pu" name="Plutonium" state="solid" >
+  <RL type="X0" unit="cm" value="0.298905" />
+  <NIL type="lambda" unit="cm" value="11.0265" />
+  <D type="density" unit="g/cm3" value="19.84" />
+  <composite n="1" ref="Pu" />
+ </material>
+ <element Z="88" formula="Ra" name="Ra" >
+  <atom type="A" unit="g/mol" value="226.025" />
+ </element>
+ <material formula="Ra" name="Radium" state="solid" >
+  <RL type="X0" unit="cm" value="1.22987" />
+  <NIL type="lambda" unit="cm" value="42.6431" />
+  <D type="density" unit="g/cm3" value="5" />
+  <composite n="1" ref="Ra" />
+ </material>
+ <element Z="37" formula="Rb" name="Rb" >
+  <atom type="A" unit="g/mol" value="85.4677" />
+ </element>
+ <material formula="Rb" name="Rubidium" state="solid" >
+  <RL type="X0" unit="cm" value="7.19774" />
+  <NIL type="lambda" unit="cm" value="100.218" />
+  <D type="density" unit="g/cm3" value="1.532" />
+  <composite n="1" ref="Rb" />
+ </material>
+ <element Z="75" formula="Re" name="Re" >
+  <atom type="A" unit="g/mol" value="186.207" />
+ </element>
+ <material formula="Re" name="Rhenium" state="solid" >
+  <RL type="X0" unit="cm" value="0.318283" />
+  <NIL type="lambda" unit="cm" value="9.5153" />
+  <D type="density" unit="g/cm3" value="21.02" />
+  <composite n="1" ref="Re" />
+ </material>
+ <element Z="45" formula="Rh" name="Rh" >
+  <atom type="A" unit="g/mol" value="102.906" />
+ </element>
+ <material formula="Rh" name="Rhodium" state="solid" >
+  <RL type="X0" unit="cm" value="0.746619" />
+  <NIL type="lambda" unit="cm" value="13.2083" />
+  <D type="density" unit="g/cm3" value="12.41" />
+  <composite n="1" ref="Rh" />
+ </material>
+ <element Z="86" formula="Rn" name="Rn" >
+  <atom type="A" unit="g/mol" value="222.018" />
+ </element>
+ <material formula="Rn" name="Radon" state="gas" >
+  <RL type="X0" unit="cm" value="697.777" />
+  <NIL type="lambda" unit="cm" value="23532" />
+  <D type="density" unit="g/cm3" value="0.00900662" />
+  <composite n="1" ref="Rn" />
+ </material>
+ <element Z="44" formula="Ru" name="Ru" >
+  <atom type="A" unit="g/mol" value="101.065" />
+ </element>
+ <material formula="Ru" name="Ruthenium" state="solid" >
+  <RL type="X0" unit="cm" value="0.764067" />
+  <NIL type="lambda" unit="cm" value="13.1426" />
+  <D type="density" unit="g/cm3" value="12.41" />
+  <composite n="1" ref="Ru" />
+ </material>
+ <element Z="16" formula="S" name="S" >
+  <atom type="A" unit="g/mol" value="32.0661" />
+ </element>
+ <material formula="S" name="Sulfur" state="solid" >
+  <RL type="X0" unit="cm" value="9.74829" />
+  <NIL type="lambda" unit="cm" value="55.6738" />
+  <D type="density" unit="g/cm3" value="2" />
+  <composite n="1" ref="S" />
+ </material>
+ <element Z="51" formula="Sb" name="Sb" >
+  <atom type="A" unit="g/mol" value="121.76" />
+ </element>
+ <material formula="Sb" name="Antimony" state="solid" >
+  <RL type="X0" unit="cm" value="1.30401" />
+  <NIL type="lambda" unit="cm" value="25.8925" />
+  <D type="density" unit="g/cm3" value="6.691" />
+  <composite n="1" ref="Sb" />
+ </material>
+ <element Z="21" formula="Sc" name="Sc" >
+  <atom type="A" unit="g/mol" value="44.9559" />
+ </element>
+ <material formula="Sc" name="Scandium" state="solid" >
+  <RL type="X0" unit="cm" value="5.53545" />
+  <NIL type="lambda" unit="cm" value="41.609" />
+  <D type="density" unit="g/cm3" value="2.989" />
+  <composite n="1" ref="Sc" />
+ </material>
+ <element Z="34" formula="Se" name="Se" >
+  <atom type="A" unit="g/mol" value="78.9594" />
+ </element>
+ <material formula="Se" name="Selenium" state="solid" >
+  <RL type="X0" unit="cm" value="2.64625" />
+  <NIL type="lambda" unit="cm" value="33.356" />
+  <D type="density" unit="g/cm3" value="4.5" />
+  <composite n="1" ref="Se" />
+ </material>
+ <element Z="14" formula="Si" name="Si" >
+  <atom type="A" unit="g/mol" value="28.0854" />
+ </element>
+ <material formula="Si" name="Silicon" state="solid" >
+  <RL type="X0" unit="cm" value="9.36607" />
+  <NIL type="lambda" unit="cm" value="45.7531" />
+  <D type="density" unit="g/cm3" value="2.33" />
+  <composite n="1" ref="Si" />
+ </material>
+ <element Z="62" formula="Sm" name="Sm" >
+  <atom type="A" unit="g/mol" value="150.366" />
+ </element>
+ <material formula="Sm" name="Samarium" state="solid" >
+  <RL type="X0" unit="cm" value="1.01524" />
+  <NIL type="lambda" unit="cm" value="24.9892" />
+  <D type="density" unit="g/cm3" value="7.46" />
+  <composite n="1" ref="Sm" />
+ </material>
+ <element Z="50" formula="Sn" name="Sn" >
+  <atom type="A" unit="g/mol" value="118.71" />
+ </element>
+ <material formula="Sn" name="Tin" state="solid" >
+  <RL type="X0" unit="cm" value="1.20637" />
+  <NIL type="lambda" unit="cm" value="23.4931" />
+  <D type="density" unit="g/cm3" value="7.31" />
+  <composite n="1" ref="Sn" />
+ </material>
+ <element Z="38" formula="Sr" name="Sr" >
+  <atom type="A" unit="g/mol" value="87.6166" />
+ </element>
+ <material formula="Sr" name="Strontium" state="solid" >
+  <RL type="X0" unit="cm" value="4.237" />
+  <NIL type="lambda" unit="cm" value="61.0238" />
+  <D type="density" unit="g/cm3" value="2.54" />
+  <composite n="1" ref="Sr" />
+ </material>
+ <element Z="73" formula="Ta" name="Ta" >
+  <atom type="A" unit="g/mol" value="180.948" />
+ </element>
+ <material formula="Ta" name="Tantalum" state="solid" >
+  <RL type="X0" unit="cm" value="0.409392" />
+  <NIL type="lambda" unit="cm" value="11.8846" />
+  <D type="density" unit="g/cm3" value="16.654" />
+  <composite n="1" ref="Ta" />
+ </material>
+ <element Z="65" formula="Tb" name="Tb" >
+  <atom type="A" unit="g/mol" value="158.925" />
+ </element>
+ <material formula="Tb" name="Terbium" state="solid" >
+  <RL type="X0" unit="cm" value="0.893977" />
+  <NIL type="lambda" unit="cm" value="23.0311" />
+  <D type="density" unit="g/cm3" value="8.229" />
+  <composite n="1" ref="Tb" />
+ </material>
+ <element Z="43" formula="Tc" name="Tc" >
+  <atom type="A" unit="g/mol" value="97.9072" />
+ </element>
+ <material formula="Tc" name="Technetium" state="solid" >
+  <RL type="X0" unit="cm" value="0.833149" />
+  <NIL type="lambda" unit="cm" value="14.0185" />
+  <D type="density" unit="g/cm3" value="11.5" />
+  <composite n="1" ref="Tc" />
+ </material>
+ <element Z="52" formula="Te" name="Te" >
+  <atom type="A" unit="g/mol" value="127.603" />
+ </element>
+ <material formula="Te" name="Tellurium" state="solid" >
+  <RL type="X0" unit="cm" value="1.41457" />
+  <NIL type="lambda" unit="cm" value="28.1797" />
+  <D type="density" unit="g/cm3" value="6.24" />
+  <composite n="1" ref="Te" />
+ </material>
+ <element Z="90" formula="Th" name="Th" >
+  <atom type="A" unit="g/mol" value="232.038" />
+ </element>
+ <material formula="Th" name="Thorium" state="solid" >
+  <RL type="X0" unit="cm" value="0.51823" />
+  <NIL type="lambda" unit="cm" value="18.353" />
+  <D type="density" unit="g/cm3" value="11.72" />
+  <composite n="1" ref="Th" />
+ </material>
+ <element Z="22" formula="Ti" name="Ti" >
+  <atom type="A" unit="g/mol" value="47.8667" />
+ </element>
+ <material formula="Ti" name="Titanium" state="solid" >
+  <RL type="X0" unit="cm" value="3.5602" />
+  <NIL type="lambda" unit="cm" value="27.9395" />
+  <D type="density" unit="g/cm3" value="4.54" />
+  <composite n="1" ref="Ti" />
+ </material>
+ <element Z="81" formula="Tl" name="Tl" >
+  <atom type="A" unit="g/mol" value="204.383" />
+ </element>
+ <material formula="Tl" name="Thallium" state="solid" >
+  <RL type="X0" unit="cm" value="0.547665" />
+  <NIL type="lambda" unit="cm" value="17.6129" />
+  <D type="density" unit="g/cm3" value="11.72" />
+  <composite n="1" ref="Tl" />
+ </material>
+ <element Z="69" formula="Tm" name="Tm" >
+  <atom type="A" unit="g/mol" value="168.934" />
+ </element>
+ <material formula="Tm" name="Thulium" state="solid" >
+  <RL type="X0" unit="cm" value="0.754428" />
+  <NIL type="lambda" unit="cm" value="20.7522" />
+  <D type="density" unit="g/cm3" value="9.321" />
+  <composite n="1" ref="Tm" />
+ </material>
+ <element Z="92" formula="U" name="U" >
+  <atom type="A" unit="g/mol" value="238.029" />
+ </element>
+ <material formula="U" name="Uranium" state="solid" >
+  <RL type="X0" unit="cm" value="0.31663" />
+  <NIL type="lambda" unit="cm" value="11.4473" />
+  <D type="density" unit="g/cm3" value="18.95" />
+  <composite n="1" ref="U" />
+ </material>
+ <element Z="23" formula="V" name="V" >
+  <atom type="A" unit="g/mol" value="50.9415" />
+ </element>
+ <material formula="V" name="Vanadium" state="solid" >
+  <RL type="X0" unit="cm" value="2.59285" />
+  <NIL type="lambda" unit="cm" value="21.2187" />
+  <D type="density" unit="g/cm3" value="6.11" />
+  <composite n="1" ref="V" />
+ </material>
+ <element Z="74" formula="W" name="W" >
+  <atom type="A" unit="g/mol" value="183.842" />
+ </element>
+ <material formula="W" name="Tungsten" state="solid" >
+  <RL type="X0" unit="cm" value="0.350418" />
+  <NIL type="lambda" unit="cm" value="10.3057" />
+  <D type="density" unit="g/cm3" value="19.3" />
+  <composite n="1" ref="W" />
+ </material>
+ <element Z="54" formula="Xe" name="Xe" >
+  <atom type="A" unit="g/mol" value="131.292" />
+ </element>
+ <material formula="Xe" name="Xenon" state="gas" >
+  <RL type="X0" unit="cm" value="1546.2" />
+  <NIL type="lambda" unit="cm" value="32477.9" />
+  <D type="density" unit="g/cm3" value="0.00548536" />
+  <composite n="1" ref="Xe" />
+ </material>
+ <element Z="39" formula="Y" name="Y" >
+  <atom type="A" unit="g/mol" value="88.9058" />
+ </element>
+ <material formula="Y" name="Yttrium" state="solid" >
+  <RL type="X0" unit="cm" value="2.32943" />
+  <NIL type="lambda" unit="cm" value="34.9297" />
+  <D type="density" unit="g/cm3" value="4.469" />
+  <composite n="1" ref="Y" />
+ </material>
+ <element Z="70" formula="Yb" name="Yb" >
+  <atom type="A" unit="g/mol" value="173.038" />
+ </element>
+ <material formula="Yb" name="Ytterbium" state="solid" >
+  <RL type="X0" unit="cm" value="1.04332" />
+  <NIL type="lambda" unit="cm" value="28.9843" />
+  <D type="density" unit="g/cm3" value="6.73" />
+  <composite n="1" ref="Yb" />
+ </material>
+ <element Z="30" formula="Zn" name="Zn" >
+  <atom type="A" unit="g/mol" value="65.3955" />
+ </element>
+ <material formula="Zn" name="Zinc" state="solid" >
+  <RL type="X0" unit="cm" value="1.74286" />
+  <NIL type="lambda" unit="cm" value="19.8488" />
+  <D type="density" unit="g/cm3" value="7.133" />
+  <composite n="1" ref="Zn" />
+ </material>
+ <element Z="40" formula="Zr" name="Zr" >
+  <atom type="A" unit="g/mol" value="91.2236" />
+ </element>
+ <material formula="Zr" name="Zirconium" state="solid" >
+  <RL type="X0" unit="cm" value="1.56707" />
+  <NIL type="lambda" unit="cm" value="24.2568" />
+  <D type="density" unit="g/cm3" value="6.506" />
+  <composite n="1" ref="Zr" />
+ </material>
+</materials>
\ No newline at end of file
diff --git a/benchmarks/roman_pots/materials.xml b/benchmarks/roman_pots/materials.xml
new file mode 100644
index 00000000..34d6c1f4
--- /dev/null
+++ b/benchmarks/roman_pots/materials.xml
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<materials>
+
+  <!--
+       Air by weight from
+
+       http://www.engineeringtoolbox.com/air-composition-24_212.html
+  -->
+  <material name="Air">
+    <D type="density" unit="g/cm3" value="0.0012"/>
+    <fraction n="0.754" ref="N"/>
+    <fraction n="0.234" ref="O"/>
+    <fraction n="0.012" ref="Ar"/>
+  </material>
+  <material name="air">
+    <D type="density" unit="g/cm3" value="0.0012"/>
+    <fraction n="0.754" ref="N"/>
+    <fraction n="0.234" ref="O"/>
+    <fraction n="0.012" ref="Ar"/>
+  </material>
+  
+  <!-- We model vakuum just as very thin air -->
+  <material name="Vacuum">  
+    <D type="density" unit="g/cm3" value="0.0000000001" />
+    <fraction n="0.754" ref="N"/>
+    <fraction n="0.234" ref="O"/>
+    <fraction n="0.012" ref="Ar"/>
+  </material>
+
+  <material name="Epoxy">
+    <D type="density" value="1.3" unit="g/cm3"/>
+    <composite n="44" ref="H"/>
+    <composite n="15" ref="C"/>
+    <composite n="7" ref="O"/>
+  </material>
+
+  <material name="Quartz">
+    <D type="density" value="2.2" unit="g/cm3"/>
+    <composite n="1" ref="Si"/>
+    <composite n="2" ref="O"/>
+  </material>
+
+  <material name="G10">
+    <D type="density" value="1.7" unit="g/cm3"/>
+    <fraction n="0.08" ref="Cl"/>
+    <fraction n="0.773" ref="Quartz"/>
+    <fraction n="0.147" ref="Epoxy"/>
+  </material>
+
+  <material name="Polystyrene">
+    <D value="1.032" unit="g/cm3"/>
+    <composite n="19" ref="C"/>
+    <composite n="21" ref="H"/>
+  </material>
+
+  <material name="Steel235">
+    <D value="7.85" unit="g/cm3"/>
+    <fraction n="0.998" ref="Fe"/>
+    <fraction n=".002" ref="C"/>
+  </material>
+
+  <material name="SiliconOxide">
+    <D type="density" value="2.65" unit="g/cm3"/>
+    <composite n="1" ref="Si"/>
+    <composite n="2" ref="O"/>
+  </material>
+
+  <material name="SiliconNitride">
+    <D type="density" value="3.17" unit="g/cm3"/>
+    <composite n="3" ref="Si"/>
+    <composite n="4" ref="N"/>
+  </material>
+
+  <material name="BoronOxide">
+    <D type="density" value="2.46" unit="g/cm3"/>
+    <composite n="2" ref="B"/>
+    <composite n="3" ref="O"/>
+  </material>
+
+  <material name="SodiumOxide">
+    <D type="density" value="2.65" unit="g/cm3"/>
+    <composite n="2" ref="Na"/>
+    <composite n="1" ref="O"/>
+  </material>
+
+  <material name="AluminumOxide">
+    <D type="density" value="3.89" unit="g/cm3"/>
+    <composite n="2" ref="Al"/>
+    <composite n="3" ref="O"/>
+  </material>
+
+  <material name="PyrexGlass">
+    <D type="density" value="2.23" unit="g/cm3"/>
+    <fraction n="0.806" ref="SiliconOxide"/>
+    <fraction n="0.130" ref="BoronOxide"/>
+    <fraction n="0.040" ref="SodiumOxide"/>
+    <fraction n="0.023" ref="AluminumOxide"/>
+  </material>
+
+  <material name="CarbonFiber">
+    <D type="density" value="1.5" unit="g/cm3"/>
+    <fraction n="0.65" ref="C"/>
+    <fraction n="0.35" ref="Epoxy"/>
+  </material>
+  
+  <material name="CarbonFiber_50D">
+    <D type="density" value="0.75" unit="g/cm3"/>
+    <fraction n="0.65" ref="C"/>
+    <fraction n="0.35" ref="Epoxy"/>
+  </material>  
+
+  <material name="Rohacell31">
+    <D type="density" value="0.032" unit="g/cm3"/>
+    <composite n="9" ref="C"/>
+    <composite n="13" ref="H"/>
+    <composite n="2" ref="O"/>
+    <composite n="1" ref="N"/>
+  </material>
+  
+  <material name="Rohacell31_50D">
+    <D type="density" value="0.016" unit="g/cm3"/>
+    <composite n="9" ref="C"/>
+    <composite n="13" ref="H"/>
+    <composite n="2" ref="O"/>
+    <composite n="1" ref="N"/>
+  </material>  
+
+  <material name="RPCGasDefault" state="gas">
+    <D type="density" value="0.0037" unit="g/cm3"/>
+    <composite n="209" ref="C"/>
+    <composite n="239" ref="H"/>
+    <composite n="381" ref="F"/>
+  </material>
+
+  <material name="PolystyreneFoam">
+    <D type="density" value="0.0056" unit="g/cm3"/>
+    <fraction n="1.0" ref="Polystyrene"/>
+  </material>
+
+  <material name="Kapton">
+    <D value="1.43" unit="g/cm3" />
+    <composite n="22" ref="C"/>
+    <composite n="10" ref="H" />
+    <composite n="2" ref="N" />
+    <composite n="5" ref="O" />
+  </material>
+
+  <material name="PEEK">
+    <D value="1.37" unit="g/cm3" />
+    <composite n="19" ref="C"/>
+    <composite n="12" ref="H" />
+    <composite n="3" ref="O" />
+  </material>
+
+  <material name="FR4">
+    <D type="density" value="1.025*g/cm3" />
+    <fraction n="0.18077359" ref="Si" />
+    <fraction n="0.4056325" ref="O" />
+    <fraction n="0.27804208" ref="C" />
+    <fraction n="0.068442752" ref="H" />
+    <fraction n="0.067109079" ref="Br" />
+  </material>
+
+  <material name="GEMGas" state="gas">
+    <D type="density" value="0.0037" unit="g/cm3"/>
+    <composite n="209" ref="C"/>
+    <composite n="239" ref="H"/>
+    <composite n="381" ref="F"/>
+  </material>
diff --git a/benchmarks/roman_pots/roman_pot.xml b/benchmarks/roman_pots/roman_pot.xml
new file mode 100644
index 00000000..bbddf628
--- /dev/null
+++ b/benchmarks/roman_pots/roman_pot.xml
@@ -0,0 +1,106 @@
+<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0" 
+       xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+       xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
+  <info name="RomanPot_example" title="Roman Pot detector example"
+        author="Tomas Polakovic"
+        url="https://eicweb.phy.anl.gov/EIC/NPDet"
+        status="development"
+        version="$Id: compact.xml v1.0 2016-12-21$">
+    <comment>A simplified Roman pot detector</comment>        
+  </info>
+
+  <includes>
+    <gdmlFile  ref="elements.xml"/>
+    <gdmlFile  ref="materials.xml"/>
+  </includes>
+  
+  <define>
+    <constant name="world_side" value="30*m"/>
+    <constant name="world_x" value="world_side"/>
+    <constant name="world_y" value="world_side"/>
+    <constant name="world_z" value="world_side"/>
+    
+    <constant name="tracker_region_zmax" value="5*m"/>
+    <constant name="tracker_region_rmax" value="5*m"/>
+    <constant name="CrossingAngle" value="0.020*rad"/>
+  </define>
+
+  <limits>
+    <limitset name="cal_limits">
+      <limit name="step_length_max" particles="*" value="5.0" unit="mm" />
+    </limitset>
+    <limitset name="SimpleRomanPotRegionLimitSet">
+      <limit name="step_length_max" particles="*" value="1.0" unit="mm" />
+      <limit name="track_length_max" particles="*" value="1.0" unit="mm" />
+      <limit name="time_max" particles="*" value="0.1" unit="ns" />
+      <limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
+      <limit name="range_min" particles="*" value="0.1" unit="mm" />
+    </limitset>
+  </limits>
+  <regions>
+    <region name="SimpleRomanPotRegion" eunit="MeV" lunit="mm" cut="0.0001" threshold="0.0001">
+      <limitsetref name="SimpleRomanPotRegionLimitSet"/>
+    </region>
+  </regions>
+
+  <comment>Common Generic visualization attributes</comment>
+  <display>
+    <vis name="InvisibleNoDaughters"      showDaughters="false" visible="false"/>
+    <vis name="InvisibleWithDaughters"    showDaughters="true" visible="false"/>
+    <vis name="GreenVis"       alpha="0.5"  r= "0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
+    <vis name="RedVis"         alpha="0.3"  r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/>
+    <vis name="BlueVis"        alpha="0.3"  r= "0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
+    <vis name="OrangeVis"      alpha="0.5"  r= "1.0" g="0.45" b="0.0" showDaughters="true" visible="true"/>
+    <vis name="RedGreenVis"    alpha="0.5"  r= "1.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
+    <vis name="BlueGreenVis"   alpha="0.5"  r= "0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
+    <vis name="PurpleVis"      alpha="0.5"  r= "1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
+    <vis name="DoubleRedG"     alpha="0.5"  r= "2.0" g=".10" b="0.0" showDaughters="true" visible="true"/>
+    <vis name="RBG015"         alpha="0.5"  r= "0.0" g=".2"  b="1.0" showDaughters="true" visible="true"/>
+    <vis name="RBG510"         alpha="0.5"  r= "1.0" g=".2"  b="0.0" showDaughters="true" visible="true"/>
+    <vis name="RBG"            alpha="0.5"  r= "1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
+    <vis name="GrayVis"        alpha="0.5"  r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
+  </display>
+
+  <detectors>
+    <detector id="1" name="MyRomanPot" type="RomanPot" readout="ForwardRomanPotHits" vis="InvisibleWithDaughters">
+      <dimensions x = "5.0*cm" y = "5.0*cm" delta = "0.05*mm" />
+      <frame x = "20.0*cm" y = "10.0*cm" z = "2*cm" />
+      <position z_offset = "20.0*m" rotation = "false" vmax = "10*cm" v = "0.5*cm" />
+      <layer repeat = "5">
+        <slice material="SiliconNitride"  thickness="0.001*mm"  vis="BlueVis" />
+        <slice material="Silicon" thickness="0.03*cm" vis="GreenVis" sensitive="true"  />
+        <slice material="Vacuum"  thickness="1.0*mm"  vis="InvisibleWithDaughters" />
+      </layer>
+    </detector>
+  </detectors>
+
+  <!--  Definition of the readout segmentation/definition  -->
+  <readouts>
+    <readout name="ForwardRomanPotHits">
+      <segmentation type="CartesianGridXY" grid_size_x="0.05*mm" grid_size_y="0.05*mm" />
+      <id>system:5,element:5,frame:4,layer:4,slice:5,x:32:-16,y:-16</id>
+    </readout>
+  </readouts>
+
+  <plugins>
+    <!--
+    <plugin name="DD4hep_GenericSurfaceInstallerPlugin">
+      <argument value="MyRomanPot"/>
+      <argument value="dimension=2"/>
+      <argument value="u_x=-1."/>
+      <argument value="v_y=-1."/>
+      <argument value="n_z=1."/>
+    </plugin>	
+    -->
+    <plugin name="InstallSurfaceManager"/>
+  </plugins>
+
+  <fields>
+    <field name="GlobalSolenoid" type="solenoid" 
+      inner_field="4.0*tesla"
+      outer_field="-0.6*tesla" 
+      zmax="3*m"
+      outer_radius="2*m">
+    </field>
+  </fields>
+</lccdd>
diff --git a/benchmarks/roman_pots/roman_pot_hit_eta.cxx b/benchmarks/roman_pots/roman_pot_hit_eta.cxx
new file mode 100644
index 00000000..ebe3b06c
--- /dev/null
+++ b/benchmarks/roman_pots/roman_pot_hit_eta.cxx
@@ -0,0 +1,62 @@
+//R__LOAD_LIBRARY(libfmt.so)
+//#include "fmt/core.h"
+R__LOAD_LIBRARY(libDDG4IO.so)
+//
+//#include "DD4hep/Detector.h"
+#include "DDG4/Geant4Data.h"
+//#include "DDRec/CellIDPositionConverter.h"
+//#include "DDRec/SurfaceManager.h"
+//#include "DDRec/Surface.h"
+#include "ROOT/RDataFrame.hxx"
+//
+//#include "lcio2/MCParticleData.h"
+//#include "lcio2/ReconstructedParticleData.h"
+
+//#include "Math/Vector3D.h"
+//#include "Math/Vector4D.h"
+//#include "Math/VectorUtil.h"
+#include "TCanvas.h"
+//#include "TLegend.h"
+//#include "TMath.h"
+//#include "TRandom3.h"
+//#include "TFile.h"
+//#include "TH1F.h"
+//#include "TH1D.h"
+//#include "TTree.h"
+#include "TChain.h"
+//#include "TF1.h"
+#include <random>
+//#include "lcio2/TrackerRawDataData.h"
+//#include "lcio2/TrackerRawData.h"
+
+void roman_pot_hit_eta(const char* fname = "./sim_output/roman_pot_out.root"){
+
+  ROOT::EnableImplicitMT(); // Tell ROOT you want to go parallel
+  double degree = TMath::Pi()/180.0;
+
+  TChain* t = new TChain("EVENT");
+  t->Add(fname);
+
+  ROOT::RDataFrame d0(*t);
+  auto hits_eta = [&](const std::vector<dd4hep::sim::Geant4Tracker::Hit*>& hits){
+	  std::vector<double> result;
+	  for (const auto& h: hits){
+		  result.push_back(h->momentum.eta());
+	  }
+	  return result;
+  };
+
+  auto d1 = d0.Define("hits_eta", hits_eta, {"ForwardRomanPotHits"});
+
+  auto h1 = d1.Histo1D(TH1D("h1", "hits_eta", 300, 0,20), "hits_eta");
+  auto n1 = h1->GetMean();
+  std::cout << "Pseudorapidity of hits: " << n1 << std::endl;
+  TCanvas* c = new TCanvas();
+  h1->DrawClone();
+
+  if (n1 < 5) {
+	  std::quick_exit(1);
+  }
+
+}
+
diff --git a/benchmarks/roman_pots/roman_pot_simu.sh b/benchmarks/roman_pots/roman_pot_simu.sh
new file mode 100755
index 00000000..ca29f180
--- /dev/null
+++ b/benchmarks/roman_pots/roman_pot_simu.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+if [[ ! -n  "${JUGGLER_DETECTOR}" ]] ; then 
+  export JUGGLER_DETECTOR="topside"
+fi
+
+if [[ ! -n  "${JUGGLER_N_EVENTS}" ]] ; then 
+  export JUGGLER_N_EVENTS=1000
+fi
+
+ddsim --runType batch -N 300 \
+
+npsim --runType batch \
+      -v WARNING \
+      --part.minimalKineticEnergy 0.5*GeV  \
+      --numberOfEvents ${JUGGLER_N_EVENTS} \
+      --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml \
+	--inputFiles ./data/forward_ions.hepmc \
+      --outputFile sim_output/${JUGGLER_SIM_FILE}
diff --git a/benchmarks/roman_pots/simple_tracking.cxx b/benchmarks/roman_pots/simple_tracking.cxx
new file mode 100644
index 00000000..0afe2a11
--- /dev/null
+++ b/benchmarks/roman_pots/simple_tracking.cxx
@@ -0,0 +1,124 @@
+//R__LOAD_LIBRARY(libfmt.so)
+//#include "fmt/core.h"
+R__LOAD_LIBRARY(libDDG4IO.so)
+//
+//#include "DD4hep/Detector.h"
+#include "DDG4/Geant4Data.h"
+//#include "DDRec/CellIDPositionConverter.h"
+//#include "DDRec/SurfaceManager.h"
+//#include "DDRec/Surface.h"
+#include "ROOT/RDataFrame.hxx"
+//
+//#include "lcio2/MCParticleData.h"
+//#include "lcio2/ReconstructedParticleData.h"
+
+//#include "Math/Vector3D.h"
+//#include "Math/Vector4D.h"
+//#include "Math/VectorUtil.h"
+#include "TCanvas.h"
+//#include "TLegend.h"
+//#include "TMath.h"
+//#include "TRandom3.h"
+//#include "TFile.h"
+//#include "TH1F.h"
+//#include "TH1D.h"
+//#include "TTree.h"
+#include "TChain.h"
+//#include "TF1.h"
+#include <random>
+//#include "lcio2/TrackerRawDataData.h"
+//#include "lcio2/TrackerRawData.h"
+
+void simple_tracking(const char* fname = "./sim_output/roman_pot_out.root"){
+
+  ROOT::EnableImplicitMT(); // Tell ROOT you want to go parallel
+  //using namespace lcio2;
+  double degree = TMath::Pi()/180.0;
+
+  TChain* t = new TChain("EVENT");
+  t->Add(fname);
+
+  ROOT::RDataFrame d0(*t);//, {"GEMTrackerHintits","MCParticles"});
+
+  //std::cout << t->GetBranch("GEMTrackerHits")->GetClassName() << std::endl;
+  //std::vector<dd4hep::sim::Geant4Tracker::Hit*>
+  
+  // -------------------------
+  // Get the DD4hep instance
+  // Load the compact XML file
+  // Initialize the position converter tool
+  //dd4hep::Detector& detector = dd4hep::Detector::getInstance();
+  //detector.fromCompact("gem_tracker_disc.xml");
+  //dd4hep::rec::CellIDPositionConverter cellid_converter(detector);
+
+  //// -------------------------
+  //// Get the surfaces map
+  //dd4hep::rec::SurfaceManager& surfMan = *detector.extension<dd4hep::rec::SurfaceManager>() ;
+  //auto surfMap = surfMan.map( "world" ) ;
+  
+  auto nhits = [] (std::vector<dd4hep::sim::Geant4Tracker::Hit*>& hits){ return (int) hits.size(); };
+  //auto hit_position = [&](const std::vector<dd4hep::sim::Geant4Tracker::Hit*>& hits){
+  //for(const auto& h: hits){
+  //  //std::cout << (h->position/10.0) << std::endl;
+  //  //std::cout << cellid_converter.position(h->cellID) << std::endl;
+  //  //dd4hep::rec::SurfaceMap::const_iterator
+  //  const auto si = _surfMap.find( cellid_converter.findContext(h->cellID)->identifier ); //identifier=volumeID
+  //  dd4hep::rec::ISurface* surf = (si != _surfMap.end() ?  si->second  : 0);
+  //  dd4hep::rec::Vector3D pos =  surf->origin();//fit_global(pivot[0],pivot[1],pivot[2]);
+  //  //std::cout << pos.x() << ", " << pos.y() << ", " << pos.z()<< std::endl;
+  //  // transform lcio units to dd4hep units, see documentation for other functions              
+  //  //DDSurfaces::Vector2D fit_local = surf->globalToLocal( dd4hep::mm * fit_global );
+  //}
+  //  return hits.size(); };
+
+  //auto digitize_gem_hits = 
+  //  [&](const std::vector<dd4hep::sim::Geant4Tracker::Hit*>& hits) {
+  //    std::vector<lcio2::TrackerRawDataData> digi_hits;
+  //    std::normal_distribution<> time_dist(0,2.0);
+  //    std::normal_distribution<> adc_dist(5.0,3.0);
+
+  //    std::map<int64_t,lcio2::TrackerRawDataData> hits_by_id;
+  //    for(const auto& h: hits) {
+  //      //lcio2::TrackerRawDataData ahit;
+  //      auto& ahit = hits_by_id[(int64_t)h->cellID];
+  //      auto pos = h->position/10.0; //cm
+
+  //      ahit.cellID0   = h->cellID;
+  //      ahit.cellID1   = h->cellID;
+  //      ahit.channelID = h->cellID;
+  //      //fmt::print("{} vs {} vs {}\n", id1, id2,id3);
+  //      fmt::print("{} vs {}\n", h->cellID, ahit.cellID0);
+  //      // time is not kept from dd4hep hit, instead using z position as crude substitute
+  //      ahit.time = pos.z() + time_dist(gen);
+  //      ahit.adc  = adc_dist(gen);
+  //      //digi_hits.push_back(ahit);
+  //    }
+  //    for (auto& [cell, hit] : hits_by_id) {
+  //      //fmt::print("{} vs {}\n", cell, hit.cellID0);
+  //      digi_hits.push_back(hit);
+  //    }
+  //    return digi_hits;
+  //  };
+
+  auto d1 = d0.Define("nhits", nhits, {"ForwardRomanPotHits"})
+              //.Filter([](int n){ return (n>4); },{"nhits"})
+              //.Define("delta",hit_position, {"GEMTrackerHits"})
+              //.Define("RawTrackerHits", digitize_gem_hits, {"GEMTrackerHits"})
+              ;
+
+  auto h0 = d1.Histo1D(TH1D("h0", "nhits; ", 20, 0,20), "nhits");
+
+  auto n0 = d1.Filter([](int n){ return (n>0); },{"nhits"}).Count();
+
+  TCanvas* c = new TCanvas();
+
+  //d1.Snapshot("digitized_EVENT","test_gem_tracker_digi.root");
+  h0->DrawClone();
+  std::cout << *n0 << " events with nonzero hits\n";
+
+  if(*n0<1) {
+    std::quick_exit(1);
+  }
+
+}
+
diff --git a/benchmarks/calorimeters/ZDC_example.xml b/benchmarks/zdc/ZDC_example.xml
similarity index 100%
rename from benchmarks/calorimeters/ZDC_example.xml
rename to benchmarks/zdc/ZDC_example.xml
diff --git a/benchmarks/zdc/config.yml b/benchmarks/zdc/config.yml
new file mode 100644
index 00000000..46bd6e79
--- /dev/null
+++ b/benchmarks/zdc/config.yml
@@ -0,0 +1,39 @@
+sim:zdc:
+  extends: .det_benchmark
+  stage: simulate
+  script:
+    - bash benchmarks/zdc/run_simulation_zdc.sh
+
+zdc_neutrons:
+  extends: .det_benchmark
+  stage: benchmarks
+  needs: 
+    - ["sim:zdc"]
+  script:
+    - echo " Not yet complete"
+      #- root -b -q benchmarks/zdc/zdc_neutrons_reader.cxx
+
+bench:zdc_benchmark:
+  extends: .det_benchmark
+  stage: benchmarks
+  needs: 
+    - ["sim:zdc"]
+  script:
+    - echo " Not yet complete"
+    #- root -b -q benchmarks/zdc/simple_checking.cxx+
+
+bench:zdc_benchmark_info_histogram:
+  extends: .det_benchmark
+  stage: benchmarks
+  needs: 
+    - ["sim:zdc"]
+  script:
+    - root -b -q benchmarks/zdc/simple_info_plot_histograms.cxx+
+
+collect_results:zdc:
+  extends: .det_benchmark
+  stage: collect
+  needs: 
+    - ["bench:zdc_benchmark","bench:zdc_benchmark_info_histogram"]
+  script:
+    - ls -lrht
diff --git a/benchmarks/zdc/elements.xml b/benchmarks/zdc/elements.xml
new file mode 100644
index 00000000..3fb9b9dd
--- /dev/null
+++ b/benchmarks/zdc/elements.xml
@@ -0,0 +1,885 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<materials>
+  <element Z="89" formula="Ac" name="Ac">
+    <atom type="A" unit="g/mol" value="227.028"/>
+  </element>
+  <material formula="Ac" name="Actinium" state="solid">
+    <RL type="X0" unit="cm" value="0.601558"/>
+    <NIL type="lambda" unit="cm" value="21.2048"/>
+    <D type="density" unit="g/cm3" value="10.07"/>
+    <composite n="1" ref="Ac"/>
+  </material>
+  <element Z="47" formula="Ag" name="Ag">
+    <atom type="A" unit="g/mol" value="107.868"/>
+  </element>
+  <material formula="Ag" name="Silver" state="solid">
+    <RL type="X0" unit="cm" value="0.854292"/>
+    <NIL type="lambda" unit="cm" value="15.8546"/>
+    <D type="density" unit="g/cm3" value="10.5"/>
+    <composite n="1" ref="Ag"/>
+  </material>
+  <element Z="13" formula="Al" name="Al">
+    <atom type="A" unit="g/mol" value="26.9815"/>
+  </element>
+  <material formula="Al" name="Aluminum" state="solid">
+    <RL type="X0" unit="cm" value="8.89632"/>
+    <NIL type="lambda" unit="cm" value="38.8766"/>
+    <D type="density" unit="g/cm3" value="2.699"/>
+    <composite n="1" ref="Al"/>
+  </material>
+  <element Z="95" formula="Am" name="Am">
+    <atom type="A" unit="g/mol" value="243.061"/>
+  </element>
+  <material formula="Am" name="Americium" state="solid">
+    <RL type="X0" unit="cm" value="0.42431"/>
+    <NIL type="lambda" unit="cm" value="15.9812"/>
+    <D type="density" unit="g/cm3" value="13.67"/>
+    <composite n="1" ref="Am"/>
+  </material>
+  <element Z="18" formula="Ar" name="Ar">
+    <atom type="A" unit="g/mol" value="39.9477"/>
+  </element>
+  <material formula="Ar" name="Argon" state="gas">
+    <RL type="X0" unit="cm" value="11762.1"/>
+    <NIL type="lambda" unit="cm" value="71926"/>
+    <D type="density" unit="g/cm3" value="0.00166201"/>
+    <composite n="1" ref="Ar"/>
+  </material>
+  <element Z="33" formula="As" name="As">
+    <atom type="A" unit="g/mol" value="74.9216"/>
+  </element>
+  <material formula="As" name="Arsenic" state="solid">
+    <RL type="X0" unit="cm" value="2.0838"/>
+    <NIL type="lambda" unit="cm" value="25.7324"/>
+    <D type="density" unit="g/cm3" value="5.73"/>
+    <composite n="1" ref="As"/>
+  </material>
+  <element Z="85" formula="At" name="At">
+    <atom type="A" unit="g/mol" value="209.987"/>
+  </element>
+  <material formula="At" name="Astatine" state="solid">
+    <RL type="X0" unit="cm" value="0.650799"/>
+    <NIL type="lambda" unit="cm" value="22.3202"/>
+    <D type="density" unit="g/cm3" value="9.32"/>
+    <composite n="1" ref="At"/>
+  </material>
+  <element Z="79" formula="Au" name="Au">
+    <atom type="A" unit="g/mol" value="196.967"/>
+  </element>
+  <material formula="Au" name="Gold" state="solid">
+    <RL type="X0" unit="cm" value="0.334436"/>
+    <NIL type="lambda" unit="cm" value="10.5393"/>
+    <D type="density" unit="g/cm3" value="19.32"/>
+    <composite n="1" ref="Au"/>
+  </material>
+  <element Z="5" formula="B" name="B">
+    <atom type="A" unit="g/mol" value="10.811"/>
+  </element>
+  <material formula="B" name="Boron" state="solid">
+    <RL type="X0" unit="cm" value="22.2307"/>
+    <NIL type="lambda" unit="cm" value="32.2793"/>
+    <D type="density" unit="g/cm3" value="2.37"/>
+    <composite n="1" ref="B"/>
+  </material>
+  <element Z="56" formula="Ba" name="Ba">
+    <atom type="A" unit="g/mol" value="137.327"/>
+  </element>
+  <material formula="Ba" name="Barium" state="solid">
+    <RL type="X0" unit="cm" value="2.37332"/>
+    <NIL type="lambda" unit="cm" value="51.6743"/>
+    <D type="density" unit="g/cm3" value="3.5"/>
+    <composite n="1" ref="Ba"/>
+  </material>
+  <element Z="4" formula="Be" name="Be">
+    <atom type="A" unit="g/mol" value="9.01218"/>
+  </element>
+  <material formula="Be" name="Beryllium" state="solid">
+    <RL type="X0" unit="cm" value="35.276"/>
+    <NIL type="lambda" unit="cm" value="39.4488"/>
+    <D type="density" unit="g/cm3" value="1.848"/>
+    <composite n="1" ref="Be"/>
+  </material>
+  <element Z="83" formula="Bi" name="Bi">
+    <atom type="A" unit="g/mol" value="208.98"/>
+  </element>
+  <material formula="Bi" name="Bismuth" state="solid">
+    <RL type="X0" unit="cm" value="0.645388"/>
+    <NIL type="lambda" unit="cm" value="21.3078"/>
+    <D type="density" unit="g/cm3" value="9.747"/>
+    <composite n="1" ref="Bi"/>
+  </material>
+  <element Z="97" formula="Bk" name="Bk">
+    <atom type="A" unit="g/mol" value="247.07"/>
+  </element>
+  <material formula="Bk" name="Berkelium" state="solid">
+    <RL type="X0" unit="cm" value="0.406479"/>
+    <NIL type="lambda" unit="cm" value="15.6902"/>
+    <D type="density" unit="g/cm3" value="14"/>
+    <composite n="1" ref="Bk"/>
+  </material>
+  <element Z="35" formula="Br" name="Br">
+    <atom type="A" unit="g/mol" value="79.9035"/>
+  </element>
+  <material formula="Br" name="Bromine" state="gas">
+    <RL type="X0" unit="cm" value="1615.12"/>
+    <NIL type="lambda" unit="cm" value="21299"/>
+    <D type="density" unit="g/cm3" value="0.0070721"/>
+    <composite n="1" ref="Br"/>
+  </material>
+  <element Z="6" formula="C" name="C">
+    <atom type="A" unit="g/mol" value="12.0107"/>
+  </element>
+  <material formula="C" name="Carbon" state="solid">
+    <RL type="X0" unit="cm" value="21.3485"/>
+    <NIL type="lambda" unit="cm" value="40.1008"/>
+    <D type="density" unit="g/cm3" value="2"/>
+    <composite n="1" ref="C"/>
+  </material>
+  <element Z="20" formula="Ca" name="Ca">
+    <atom type="A" unit="g/mol" value="40.078"/>
+  </element>
+  <material formula="Ca" name="Calcium" state="solid">
+    <RL type="X0" unit="cm" value="10.4151"/>
+    <NIL type="lambda" unit="cm" value="77.3754"/>
+    <D type="density" unit="g/cm3" value="1.55"/>
+    <composite n="1" ref="Ca"/>
+  </material>
+  <element Z="48" formula="Cd" name="Cd">
+    <atom type="A" unit="g/mol" value="112.411"/>
+  </element>
+  <material formula="Cd" name="Cadmium" state="solid">
+    <RL type="X0" unit="cm" value="1.03994"/>
+    <NIL type="lambda" unit="cm" value="19.46"/>
+    <D type="density" unit="g/cm3" value="8.65"/>
+    <composite n="1" ref="Cd"/>
+  </material>
+  <element Z="58" formula="Ce" name="Ce">
+    <atom type="A" unit="g/mol" value="140.115"/>
+  </element>
+  <material formula="Ce" name="Cerium" state="solid">
+    <RL type="X0" unit="cm" value="1.19506"/>
+    <NIL type="lambda" unit="cm" value="27.3227"/>
+    <D type="density" unit="g/cm3" value="6.657"/>
+    <composite n="1" ref="Ce"/>
+  </material>
+  <element Z="98" formula="Cf" name="Cf">
+    <atom type="A" unit="g/mol" value="251.08"/>
+  </element>
+  <material formula="Cf" name="Californium" state="solid">
+    <RL type="X0" unit="cm" value="0.568328"/>
+    <NIL type="lambda" unit="cm" value="22.085"/>
+    <D type="density" unit="g/cm3" value="10"/>
+    <composite n="1" ref="Cf"/>
+  </material>
+  <element Z="17" formula="Cl" name="Cl">
+    <atom type="A" unit="g/mol" value="35.4526"/>
+  </element>
+  <material formula="Cl" name="Chlorine" state="gas">
+    <RL type="X0" unit="cm" value="6437.34"/>
+    <NIL type="lambda" unit="cm" value="38723.9"/>
+    <D type="density" unit="g/cm3" value="0.00299473"/>
+    <composite n="1" ref="Cl"/>
+  </material>
+  <element Z="96" formula="Cm" name="Cm">
+    <atom type="A" unit="g/mol" value="247.07"/>
+  </element>
+  <material formula="Cm" name="Curium" state="solid">
+    <RL type="X0" unit="cm" value="0.428706"/>
+    <NIL type="lambda" unit="cm" value="16.2593"/>
+    <D type="density" unit="g/cm3" value="13.51"/>
+    <composite n="1" ref="Cm"/>
+  </material>
+  <element Z="27" formula="Co" name="Co">
+    <atom type="A" unit="g/mol" value="58.9332"/>
+  </element>
+  <material formula="Co" name="Cobalt" state="solid">
+    <RL type="X0" unit="cm" value="1.53005"/>
+    <NIL type="lambda" unit="cm" value="15.2922"/>
+    <D type="density" unit="g/cm3" value="8.9"/>
+    <composite n="1" ref="Co"/>
+  </material>
+  <element Z="24" formula="Cr" name="Cr">
+    <atom type="A" unit="g/mol" value="51.9961"/>
+  </element>
+  <material formula="Cr" name="Chromium" state="solid">
+    <RL type="X0" unit="cm" value="2.0814"/>
+    <NIL type="lambda" unit="cm" value="18.1933"/>
+    <D type="density" unit="g/cm3" value="7.18"/>
+    <composite n="1" ref="Cr"/>
+  </material>
+  <element Z="55" formula="Cs" name="Cs">
+    <atom type="A" unit="g/mol" value="132.905"/>
+  </element>
+  <material formula="Cs" name="Cesium" state="solid">
+    <RL type="X0" unit="cm" value="4.4342"/>
+    <NIL type="lambda" unit="cm" value="95.317"/>
+    <D type="density" unit="g/cm3" value="1.873"/>
+    <composite n="1" ref="Cs"/>
+  </material>
+  <element Z="29" formula="Cu" name="Cu">
+    <atom type="A" unit="g/mol" value="63.5456"/>
+  </element>
+  <material formula="Cu" name="Copper" state="solid">
+    <RL type="X0" unit="cm" value="1.43558"/>
+    <NIL type="lambda" unit="cm" value="15.5141"/>
+    <D type="density" unit="g/cm3" value="8.96"/>
+    <composite n="1" ref="Cu"/>
+  </material>
+  <element Z="66" formula="Dy" name="Dy">
+    <atom type="A" unit="g/mol" value="162.497"/>
+  </element>
+  <material formula="Dy" name="Dysprosium" state="solid">
+    <RL type="X0" unit="cm" value="0.85614"/>
+    <NIL type="lambda" unit="cm" value="22.2923"/>
+    <D type="density" unit="g/cm3" value="8.55"/>
+    <composite n="1" ref="Dy"/>
+  </material>
+  <element Z="68" formula="Er" name="Er">
+    <atom type="A" unit="g/mol" value="167.256"/>
+  </element>
+  <material formula="Er" name="Erbium" state="solid">
+    <RL type="X0" unit="cm" value="0.788094"/>
+    <NIL type="lambda" unit="cm" value="21.2923"/>
+    <D type="density" unit="g/cm3" value="9.066"/>
+    <composite n="1" ref="Er"/>
+  </material>
+  <element Z="63" formula="Eu" name="Eu">
+    <atom type="A" unit="g/mol" value="151.964"/>
+  </element>
+  <material formula="Eu" name="Europium" state="solid">
+    <RL type="X0" unit="cm" value="1.41868"/>
+    <NIL type="lambda" unit="cm" value="35.6178"/>
+    <D type="density" unit="g/cm3" value="5.243"/>
+    <composite n="1" ref="Eu"/>
+  </material>
+  <element Z="9" formula="F" name="F">
+    <atom type="A" unit="g/mol" value="18.9984"/>
+  </element>
+  <material formula="F" name="Fluorine" state="gas">
+    <RL type="X0" unit="cm" value="20838.2"/>
+    <NIL type="lambda" unit="cm" value="59094.3"/>
+    <D type="density" unit="g/cm3" value="0.00158029"/>
+    <composite n="1" ref="F"/>
+  </material>
+  <element Z="26" formula="Fe" name="Fe">
+    <atom type="A" unit="g/mol" value="55.8451"/>
+  </element>
+  <material formula="Fe" name="Iron" state="solid">
+    <RL type="X0" unit="cm" value="1.75749"/>
+    <NIL type="lambda" unit="cm" value="16.959"/>
+    <D type="density" unit="g/cm3" value="7.874"/>
+    <composite n="1" ref="Fe"/>
+  </material>
+  <element Z="87" formula="Fr" name="Fr">
+    <atom type="A" unit="g/mol" value="223.02"/>
+  </element>
+  <material formula="Fr" name="Francium" state="solid">
+    <RL type="X0" unit="cm" value="6.18826"/>
+    <NIL type="lambda" unit="cm" value="212.263"/>
+    <D type="density" unit="g/cm3" value="1"/>
+    <composite n="1" ref="Fr"/>
+  </material>
+  <element Z="31" formula="Ga" name="Ga">
+    <atom type="A" unit="g/mol" value="69.7231"/>
+  </element>
+  <material formula="Ga" name="Gallium" state="solid">
+    <RL type="X0" unit="cm" value="2.1128"/>
+    <NIL type="lambda" unit="cm" value="24.3351"/>
+    <D type="density" unit="g/cm3" value="5.904"/>
+    <composite n="1" ref="Ga"/>
+  </material>
+  <element Z="64" formula="Gd" name="Gd">
+    <atom type="A" unit="g/mol" value="157.252"/>
+  </element>
+  <material formula="Gd" name="Gadolinium" state="solid">
+    <RL type="X0" unit="cm" value="0.947208"/>
+    <NIL type="lambda" unit="cm" value="23.9377"/>
+    <D type="density" unit="g/cm3" value="7.9004"/>
+    <composite n="1" ref="Gd"/>
+  </material>
+  <element Z="32" formula="Ge" name="Ge">
+    <atom type="A" unit="g/mol" value="72.6128"/>
+  </element>
+  <material formula="Ge" name="Germanium" state="solid">
+    <RL type="X0" unit="cm" value="2.3013"/>
+    <NIL type="lambda" unit="cm" value="27.3344"/>
+    <D type="density" unit="g/cm3" value="5.323"/>
+    <composite n="1" ref="Ge"/>
+  </material>
+  <element Z="1" formula="H" name="H">
+    <atom type="A" unit="g/mol" value="1.00794"/>
+  </element>
+  <material formula="H" name="Hydrogen" state="gas">
+    <RL type="X0" unit="cm" value="752776"/>
+    <NIL type="lambda" unit="cm" value="421239"/>
+    <D type="density" unit="g/cm3" value="8.3748e-05"/>
+    <composite n="1" ref="H"/>
+  </material>
+  <element Z="2" formula="He" name="He">
+    <atom type="A" unit="g/mol" value="4.00264"/>
+  </element>
+  <material formula="He" name="Helium" state="gas">
+    <RL type="X0" unit="cm" value="567113"/>
+    <NIL type="lambda" unit="cm" value="334266"/>
+    <D type="density" unit="g/cm3" value="0.000166322"/>
+    <composite n="1" ref="He"/>
+  </material>
+  <element Z="72" formula="Hf" name="Hf">
+    <atom type="A" unit="g/mol" value="178.485"/>
+  </element>
+  <material formula="Hf" name="Hafnium" state="solid">
+    <RL type="X0" unit="cm" value="0.517717"/>
+    <NIL type="lambda" unit="cm" value="14.7771"/>
+    <D type="density" unit="g/cm3" value="13.31"/>
+    <composite n="1" ref="Hf"/>
+  </material>
+  <element Z="80" formula="Hg" name="Hg">
+    <atom type="A" unit="g/mol" value="200.599"/>
+  </element>
+  <material formula="Hg" name="Mercury" state="solid">
+    <RL type="X0" unit="cm" value="0.475241"/>
+    <NIL type="lambda" unit="cm" value="15.105"/>
+    <D type="density" unit="g/cm3" value="13.546"/>
+    <composite n="1" ref="Hg"/>
+  </material>
+  <element Z="67" formula="Ho" name="Ho">
+    <atom type="A" unit="g/mol" value="164.93"/>
+  </element>
+  <material formula="Ho" name="Holmium" state="solid">
+    <RL type="X0" unit="cm" value="0.822447"/>
+    <NIL type="lambda" unit="cm" value="21.8177"/>
+    <D type="density" unit="g/cm3" value="8.795"/>
+    <composite n="1" ref="Ho"/>
+  </material>
+  <element Z="53" formula="I" name="I">
+    <atom type="A" unit="g/mol" value="126.904"/>
+  </element>
+  <material formula="I" name="Iodine" state="solid">
+    <RL type="X0" unit="cm" value="1.72016"/>
+    <NIL type="lambda" unit="cm" value="35.6583"/>
+    <D type="density" unit="g/cm3" value="4.93"/>
+    <composite n="1" ref="I"/>
+  </material>
+  <element Z="49" formula="In" name="In">
+    <atom type="A" unit="g/mol" value="114.818"/>
+  </element>
+  <material formula="In" name="Indium" state="solid">
+    <RL type="X0" unit="cm" value="1.21055"/>
+    <NIL type="lambda" unit="cm" value="23.2468"/>
+    <D type="density" unit="g/cm3" value="7.31"/>
+    <composite n="1" ref="In"/>
+  </material>
+  <element Z="77" formula="Ir" name="Ir">
+    <atom type="A" unit="g/mol" value="192.216"/>
+  </element>
+  <material formula="Ir" name="Iridium" state="solid">
+    <RL type="X0" unit="cm" value="0.294142"/>
+    <NIL type="lambda" unit="cm" value="9.01616"/>
+    <D type="density" unit="g/cm3" value="22.42"/>
+    <composite n="1" ref="Ir"/>
+  </material>
+  <element Z="19" formula="K" name="K">
+    <atom type="A" unit="g/mol" value="39.0983"/>
+  </element>
+  <material formula="K" name="Potassium" state="solid">
+    <RL type="X0" unit="cm" value="20.0871"/>
+    <NIL type="lambda" unit="cm" value="138.041"/>
+    <D type="density" unit="g/cm3" value="0.862"/>
+    <composite n="1" ref="K"/>
+  </material>
+  <element Z="36" formula="Kr" name="Kr">
+    <atom type="A" unit="g/mol" value="83.7993"/>
+  </element>
+  <material formula="Kr" name="Krypton" state="gas">
+    <RL type="X0" unit="cm" value="3269.44"/>
+    <NIL type="lambda" unit="cm" value="43962.9"/>
+    <D type="density" unit="g/cm3" value="0.00347832"/>
+    <composite n="1" ref="Kr"/>
+  </material>
+  <element Z="57" formula="La" name="La">
+    <atom type="A" unit="g/mol" value="138.905"/>
+  </element>
+  <material formula="La" name="Lanthanum" state="solid">
+    <RL type="X0" unit="cm" value="1.32238"/>
+    <NIL type="lambda" unit="cm" value="29.441"/>
+    <D type="density" unit="g/cm3" value="6.154"/>
+    <composite n="1" ref="La"/>
+  </material>
+  <element Z="3" formula="Li" name="Li">
+    <atom type="A" unit="g/mol" value="6.94003"/>
+  </element>
+  <material formula="Li" name="Lithium" state="solid">
+    <RL type="X0" unit="cm" value="154.997"/>
+    <NIL type="lambda" unit="cm" value="124.305"/>
+    <D type="density" unit="g/cm3" value="0.534"/>
+    <composite n="1" ref="Li"/>
+  </material>
+  <element Z="71" formula="Lu" name="Lu">
+    <atom type="A" unit="g/mol" value="174.967"/>
+  </element>
+  <material formula="Lu" name="Lutetium" state="solid">
+    <RL type="X0" unit="cm" value="0.703651"/>
+    <NIL type="lambda" unit="cm" value="19.8916"/>
+    <D type="density" unit="g/cm3" value="9.84"/>
+    <composite n="1" ref="Lu"/>
+  </material>
+  <element Z="12" formula="Mg" name="Mg">
+    <atom type="A" unit="g/mol" value="24.305"/>
+  </element>
+  <material formula="Mg" name="Magnesium" state="solid">
+    <RL type="X0" unit="cm" value="14.3859"/>
+    <NIL type="lambda" unit="cm" value="58.7589"/>
+    <D type="density" unit="g/cm3" value="1.74"/>
+    <composite n="1" ref="Mg"/>
+  </material>
+  <element Z="25" formula="Mn" name="Mn">
+    <atom type="A" unit="g/mol" value="54.938"/>
+  </element>
+  <material formula="Mn" name="Manganese" state="solid">
+    <RL type="X0" unit="cm" value="1.96772"/>
+    <NIL type="lambda" unit="cm" value="17.8701"/>
+    <D type="density" unit="g/cm3" value="7.44"/>
+    <composite n="1" ref="Mn"/>
+  </material>
+  <element Z="42" formula="Mo" name="Mo">
+    <atom type="A" unit="g/mol" value="95.9313"/>
+  </element>
+  <material formula="Mo" name="Molybdenum" state="solid">
+    <RL type="X0" unit="cm" value="0.959107"/>
+    <NIL type="lambda" unit="cm" value="15.6698"/>
+    <D type="density" unit="g/cm3" value="10.22"/>
+    <composite n="1" ref="Mo"/>
+  </material>
+  <element Z="7" formula="N" name="N">
+    <atom type="A" unit="g/mol" value="14.0068"/>
+  </element>
+  <material formula="N" name="Nitrogen" state="gas">
+    <RL type="X0" unit="cm" value="32602.2"/>
+    <NIL type="lambda" unit="cm" value="72430.3"/>
+    <D type="density" unit="g/cm3" value="0.0011652"/>
+    <composite n="1" ref="N"/>
+  </material>
+  <element Z="11" formula="Na" name="Na">
+    <atom type="A" unit="g/mol" value="22.9898"/>
+  </element>
+  <material formula="Na" name="Sodium" state="solid">
+    <RL type="X0" unit="cm" value="28.5646"/>
+    <NIL type="lambda" unit="cm" value="102.463"/>
+    <D type="density" unit="g/cm3" value="0.971"/>
+    <composite n="1" ref="Na"/>
+  </material>
+  <element Z="41" formula="Nb" name="Nb">
+    <atom type="A" unit="g/mol" value="92.9064"/>
+  </element>
+  <material formula="Nb" name="Niobium" state="solid">
+    <RL type="X0" unit="cm" value="1.15783"/>
+    <NIL type="lambda" unit="cm" value="18.4846"/>
+    <D type="density" unit="g/cm3" value="8.57"/>
+    <composite n="1" ref="Nb"/>
+  </material>
+  <element Z="60" formula="Nd" name="Nd">
+    <atom type="A" unit="g/mol" value="144.236"/>
+  </element>
+  <material formula="Nd" name="Neodymium" state="solid">
+    <RL type="X0" unit="cm" value="1.11667"/>
+    <NIL type="lambda" unit="cm" value="26.6308"/>
+    <D type="density" unit="g/cm3" value="6.9"/>
+    <composite n="1" ref="Nd"/>
+  </material>
+  <element Z="10" formula="Ne" name="Ne">
+    <atom type="A" unit="g/mol" value="20.18"/>
+  </element>
+  <material formula="Ne" name="Neon" state="gas">
+    <RL type="X0" unit="cm" value="34504.8"/>
+    <NIL type="lambda" unit="cm" value="114322"/>
+    <D type="density" unit="g/cm3" value="0.000838505"/>
+    <composite n="1" ref="Ne"/>
+  </material>
+  <element Z="28" formula="Ni" name="Ni">
+    <atom type="A" unit="g/mol" value="58.6933"/>
+  </element>
+  <material formula="Ni" name="Nickel" state="solid">
+    <RL type="X0" unit="cm" value="1.42422"/>
+    <NIL type="lambda" unit="cm" value="15.2265"/>
+    <D type="density" unit="g/cm3" value="8.902"/>
+    <composite n="1" ref="Ni"/>
+  </material>
+  <element Z="93" formula="Np" name="Np">
+    <atom type="A" unit="g/mol" value="237.048"/>
+  </element>
+  <material formula="Np" name="Neptunium" state="solid">
+    <RL type="X0" unit="cm" value="0.289676"/>
+    <NIL type="lambda" unit="cm" value="10.6983"/>
+    <D type="density" unit="g/cm3" value="20.25"/>
+    <composite n="1" ref="Np"/>
+  </material>
+  <element Z="8" formula="O" name="O">
+    <atom type="A" unit="g/mol" value="15.9994"/>
+  </element>
+  <material formula="O" name="Oxygen" state="gas">
+    <RL type="X0" unit="cm" value="25713.8"/>
+    <NIL type="lambda" unit="cm" value="66233.9"/>
+    <D type="density" unit="g/cm3" value="0.00133151"/>
+    <composite n="1" ref="O"/>
+  </material>
+  <element Z="76" formula="Os" name="Os">
+    <atom type="A" unit="g/mol" value="190.225"/>
+  </element>
+  <material formula="Os" name="Osmium" state="solid">
+    <RL type="X0" unit="cm" value="0.295861"/>
+    <NIL type="lambda" unit="cm" value="8.92553"/>
+    <D type="density" unit="g/cm3" value="22.57"/>
+    <composite n="1" ref="Os"/>
+  </material>
+  <element Z="15" formula="P" name="P">
+    <atom type="A" unit="g/mol" value="30.9738"/>
+  </element>
+  <material formula="P" name="Phosphorus" state="solid">
+    <RL type="X0" unit="cm" value="9.63879"/>
+    <NIL type="lambda" unit="cm" value="49.9343"/>
+    <D type="density" unit="g/cm3" value="2.2"/>
+    <composite n="1" ref="P"/>
+  </material>
+  <element Z="91" formula="Pa" name="Pa">
+    <atom type="A" unit="g/mol" value="231.036"/>
+  </element>
+  <material formula="Pa" name="Protactinium" state="solid">
+    <RL type="X0" unit="cm" value="0.38607"/>
+    <NIL type="lambda" unit="cm" value="13.9744"/>
+    <D type="density" unit="g/cm3" value="15.37"/>
+    <composite n="1" ref="Pa"/>
+  </material>
+  <element Z="82" formula="Pb" name="Pb">
+    <atom type="A" unit="g/mol" value="207.217"/>
+  </element>
+  <material formula="Pb" name="Lead" state="solid">
+    <RL type="X0" unit="cm" value="0.561253"/>
+    <NIL type="lambda" unit="cm" value="18.2607"/>
+    <D type="density" unit="g/cm3" value="11.35"/>
+    <composite n="1" ref="Pb"/>
+  </material>
+  <element Z="46" formula="Pd" name="Pd">
+    <atom type="A" unit="g/mol" value="106.415"/>
+  </element>
+  <material formula="Pd" name="Palladium" state="solid">
+    <RL type="X0" unit="cm" value="0.765717"/>
+    <NIL type="lambda" unit="cm" value="13.7482"/>
+    <D type="density" unit="g/cm3" value="12.02"/>
+    <composite n="1" ref="Pd"/>
+  </material>
+  <element Z="61" formula="Pm" name="Pm">
+    <atom type="A" unit="g/mol" value="144.913"/>
+  </element>
+  <material formula="Pm" name="Promethium" state="solid">
+    <RL type="X0" unit="cm" value="1.04085"/>
+    <NIL type="lambda" unit="cm" value="25.4523"/>
+    <D type="density" unit="g/cm3" value="7.22"/>
+    <composite n="1" ref="Pm"/>
+  </material>
+  <element Z="84" formula="Po" name="Po">
+    <atom type="A" unit="g/mol" value="208.982"/>
+  </element>
+  <material formula="Po" name="Polonium" state="solid">
+    <RL type="X0" unit="cm" value="0.661092"/>
+    <NIL type="lambda" unit="cm" value="22.2842"/>
+    <D type="density" unit="g/cm3" value="9.32"/>
+    <composite n="1" ref="Po"/>
+  </material>
+  <element Z="59" formula="Pr" name="Pr">
+    <atom type="A" unit="g/mol" value="140.908"/>
+  </element>
+  <material formula="Pr" name="Praseodymium" state="solid">
+    <RL type="X0" unit="cm" value="1.1562"/>
+    <NIL type="lambda" unit="cm" value="27.1312"/>
+    <D type="density" unit="g/cm3" value="6.71"/>
+    <composite n="1" ref="Pr"/>
+  </material>
+  <element Z="78" formula="Pt" name="Pt">
+    <atom type="A" unit="g/mol" value="195.078"/>
+  </element>
+  <material formula="Pt" name="Platinum" state="solid">
+    <RL type="X0" unit="cm" value="0.305053"/>
+    <NIL type="lambda" unit="cm" value="9.46584"/>
+    <D type="density" unit="g/cm3" value="21.45"/>
+    <composite n="1" ref="Pt"/>
+  </material>
+  <element Z="94" formula="Pu" name="Pu">
+    <atom type="A" unit="g/mol" value="244.064"/>
+  </element>
+  <material formula="Pu" name="Plutonium" state="solid">
+    <RL type="X0" unit="cm" value="0.298905"/>
+    <NIL type="lambda" unit="cm" value="11.0265"/>
+    <D type="density" unit="g/cm3" value="19.84"/>
+    <composite n="1" ref="Pu"/>
+  </material>
+  <element Z="88" formula="Ra" name="Ra">
+    <atom type="A" unit="g/mol" value="226.025"/>
+  </element>
+  <material formula="Ra" name="Radium" state="solid">
+    <RL type="X0" unit="cm" value="1.22987"/>
+    <NIL type="lambda" unit="cm" value="42.6431"/>
+    <D type="density" unit="g/cm3" value="5"/>
+    <composite n="1" ref="Ra"/>
+  </material>
+  <element Z="37" formula="Rb" name="Rb">
+    <atom type="A" unit="g/mol" value="85.4677"/>
+  </element>
+  <material formula="Rb" name="Rubidium" state="solid">
+    <RL type="X0" unit="cm" value="7.19774"/>
+    <NIL type="lambda" unit="cm" value="100.218"/>
+    <D type="density" unit="g/cm3" value="1.532"/>
+    <composite n="1" ref="Rb"/>
+  </material>
+  <element Z="75" formula="Re" name="Re">
+    <atom type="A" unit="g/mol" value="186.207"/>
+  </element>
+  <material formula="Re" name="Rhenium" state="solid">
+    <RL type="X0" unit="cm" value="0.318283"/>
+    <NIL type="lambda" unit="cm" value="9.5153"/>
+    <D type="density" unit="g/cm3" value="21.02"/>
+    <composite n="1" ref="Re"/>
+  </material>
+  <element Z="45" formula="Rh" name="Rh">
+    <atom type="A" unit="g/mol" value="102.906"/>
+  </element>
+  <material formula="Rh" name="Rhodium" state="solid">
+    <RL type="X0" unit="cm" value="0.746619"/>
+    <NIL type="lambda" unit="cm" value="13.2083"/>
+    <D type="density" unit="g/cm3" value="12.41"/>
+    <composite n="1" ref="Rh"/>
+  </material>
+  <element Z="86" formula="Rn" name="Rn">
+    <atom type="A" unit="g/mol" value="222.018"/>
+  </element>
+  <material formula="Rn" name="Radon" state="gas">
+    <RL type="X0" unit="cm" value="697.777"/>
+    <NIL type="lambda" unit="cm" value="23532"/>
+    <D type="density" unit="g/cm3" value="0.00900662"/>
+    <composite n="1" ref="Rn"/>
+  </material>
+  <element Z="44" formula="Ru" name="Ru">
+    <atom type="A" unit="g/mol" value="101.065"/>
+  </element>
+  <material formula="Ru" name="Ruthenium" state="solid">
+    <RL type="X0" unit="cm" value="0.764067"/>
+    <NIL type="lambda" unit="cm" value="13.1426"/>
+    <D type="density" unit="g/cm3" value="12.41"/>
+    <composite n="1" ref="Ru"/>
+  </material>
+  <element Z="16" formula="S" name="S">
+    <atom type="A" unit="g/mol" value="32.0661"/>
+  </element>
+  <material formula="S" name="Sulfur" state="solid">
+    <RL type="X0" unit="cm" value="9.74829"/>
+    <NIL type="lambda" unit="cm" value="55.6738"/>
+    <D type="density" unit="g/cm3" value="2"/>
+    <composite n="1" ref="S"/>
+  </material>
+  <element Z="51" formula="Sb" name="Sb">
+    <atom type="A" unit="g/mol" value="121.76"/>
+  </element>
+  <material formula="Sb" name="Antimony" state="solid">
+    <RL type="X0" unit="cm" value="1.30401"/>
+    <NIL type="lambda" unit="cm" value="25.8925"/>
+    <D type="density" unit="g/cm3" value="6.691"/>
+    <composite n="1" ref="Sb"/>
+  </material>
+  <element Z="21" formula="Sc" name="Sc">
+    <atom type="A" unit="g/mol" value="44.9559"/>
+  </element>
+  <material formula="Sc" name="Scandium" state="solid">
+    <RL type="X0" unit="cm" value="5.53545"/>
+    <NIL type="lambda" unit="cm" value="41.609"/>
+    <D type="density" unit="g/cm3" value="2.989"/>
+    <composite n="1" ref="Sc"/>
+  </material>
+  <element Z="34" formula="Se" name="Se">
+    <atom type="A" unit="g/mol" value="78.9594"/>
+  </element>
+  <material formula="Se" name="Selenium" state="solid">
+    <RL type="X0" unit="cm" value="2.64625"/>
+    <NIL type="lambda" unit="cm" value="33.356"/>
+    <D type="density" unit="g/cm3" value="4.5"/>
+    <composite n="1" ref="Se"/>
+  </material>
+  <element Z="14" formula="Si" name="Si">
+    <atom type="A" unit="g/mol" value="28.0854"/>
+  </element>
+  <material formula="Si" name="Silicon" state="solid">
+    <RL type="X0" unit="cm" value="9.36607"/>
+    <NIL type="lambda" unit="cm" value="45.7531"/>
+    <D type="density" unit="g/cm3" value="2.33"/>
+    <composite n="1" ref="Si"/>
+  </material>
+  <element Z="62" formula="Sm" name="Sm">
+    <atom type="A" unit="g/mol" value="150.366"/>
+  </element>
+  <material formula="Sm" name="Samarium" state="solid">
+    <RL type="X0" unit="cm" value="1.01524"/>
+    <NIL type="lambda" unit="cm" value="24.9892"/>
+    <D type="density" unit="g/cm3" value="7.46"/>
+    <composite n="1" ref="Sm"/>
+  </material>
+  <element Z="50" formula="Sn" name="Sn">
+    <atom type="A" unit="g/mol" value="118.71"/>
+  </element>
+  <material formula="Sn" name="Tin" state="solid">
+    <RL type="X0" unit="cm" value="1.20637"/>
+    <NIL type="lambda" unit="cm" value="23.4931"/>
+    <D type="density" unit="g/cm3" value="7.31"/>
+    <composite n="1" ref="Sn"/>
+  </material>
+  <element Z="38" formula="Sr" name="Sr">
+    <atom type="A" unit="g/mol" value="87.6166"/>
+  </element>
+  <material formula="Sr" name="Strontium" state="solid">
+    <RL type="X0" unit="cm" value="4.237"/>
+    <NIL type="lambda" unit="cm" value="61.0238"/>
+    <D type="density" unit="g/cm3" value="2.54"/>
+    <composite n="1" ref="Sr"/>
+  </material>
+  <element Z="73" formula="Ta" name="Ta">
+    <atom type="A" unit="g/mol" value="180.948"/>
+  </element>
+  <material formula="Ta" name="Tantalum" state="solid">
+    <RL type="X0" unit="cm" value="0.409392"/>
+    <NIL type="lambda" unit="cm" value="11.8846"/>
+    <D type="density" unit="g/cm3" value="16.654"/>
+    <composite n="1" ref="Ta"/>
+  </material>
+  <element Z="65" formula="Tb" name="Tb">
+    <atom type="A" unit="g/mol" value="158.925"/>
+  </element>
+  <material formula="Tb" name="Terbium" state="solid">
+    <RL type="X0" unit="cm" value="0.893977"/>
+    <NIL type="lambda" unit="cm" value="23.0311"/>
+    <D type="density" unit="g/cm3" value="8.229"/>
+    <composite n="1" ref="Tb"/>
+  </material>
+  <element Z="43" formula="Tc" name="Tc">
+    <atom type="A" unit="g/mol" value="97.9072"/>
+  </element>
+  <material formula="Tc" name="Technetium" state="solid">
+    <RL type="X0" unit="cm" value="0.833149"/>
+    <NIL type="lambda" unit="cm" value="14.0185"/>
+    <D type="density" unit="g/cm3" value="11.5"/>
+    <composite n="1" ref="Tc"/>
+  </material>
+  <element Z="52" formula="Te" name="Te">
+    <atom type="A" unit="g/mol" value="127.603"/>
+  </element>
+  <material formula="Te" name="Tellurium" state="solid">
+    <RL type="X0" unit="cm" value="1.41457"/>
+    <NIL type="lambda" unit="cm" value="28.1797"/>
+    <D type="density" unit="g/cm3" value="6.24"/>
+    <composite n="1" ref="Te"/>
+  </material>
+  <element Z="90" formula="Th" name="Th">
+    <atom type="A" unit="g/mol" value="232.038"/>
+  </element>
+  <material formula="Th" name="Thorium" state="solid">
+    <RL type="X0" unit="cm" value="0.51823"/>
+    <NIL type="lambda" unit="cm" value="18.353"/>
+    <D type="density" unit="g/cm3" value="11.72"/>
+    <composite n="1" ref="Th"/>
+  </material>
+  <element Z="22" formula="Ti" name="Ti">
+    <atom type="A" unit="g/mol" value="47.8667"/>
+  </element>
+  <material formula="Ti" name="Titanium" state="solid">
+    <RL type="X0" unit="cm" value="3.5602"/>
+    <NIL type="lambda" unit="cm" value="27.9395"/>
+    <D type="density" unit="g/cm3" value="4.54"/>
+    <composite n="1" ref="Ti"/>
+  </material>
+  <element Z="81" formula="Tl" name="Tl">
+    <atom type="A" unit="g/mol" value="204.383"/>
+  </element>
+  <material formula="Tl" name="Thallium" state="solid">
+    <RL type="X0" unit="cm" value="0.547665"/>
+    <NIL type="lambda" unit="cm" value="17.6129"/>
+    <D type="density" unit="g/cm3" value="11.72"/>
+    <composite n="1" ref="Tl"/>
+  </material>
+  <element Z="69" formula="Tm" name="Tm">
+    <atom type="A" unit="g/mol" value="168.934"/>
+  </element>
+  <material formula="Tm" name="Thulium" state="solid">
+    <RL type="X0" unit="cm" value="0.754428"/>
+    <NIL type="lambda" unit="cm" value="20.7522"/>
+    <D type="density" unit="g/cm3" value="9.321"/>
+    <composite n="1" ref="Tm"/>
+  </material>
+  <element Z="92" formula="U" name="U">
+    <atom type="A" unit="g/mol" value="238.029"/>
+  </element>
+  <material formula="U" name="Uranium" state="solid">
+    <RL type="X0" unit="cm" value="0.31663"/>
+    <NIL type="lambda" unit="cm" value="11.4473"/>
+    <D type="density" unit="g/cm3" value="18.95"/>
+    <composite n="1" ref="U"/>
+  </material>
+  <element Z="23" formula="V" name="V">
+    <atom type="A" unit="g/mol" value="50.9415"/>
+  </element>
+  <material formula="V" name="Vanadium" state="solid">
+    <RL type="X0" unit="cm" value="2.59285"/>
+    <NIL type="lambda" unit="cm" value="21.2187"/>
+    <D type="density" unit="g/cm3" value="6.11"/>
+    <composite n="1" ref="V"/>
+  </material>
+  <element Z="74" formula="W" name="W">
+    <atom type="A" unit="g/mol" value="183.842"/>
+  </element>
+  <material formula="W" name="Tungsten" state="solid">
+    <RL type="X0" unit="cm" value="0.350418"/>
+    <NIL type="lambda" unit="cm" value="10.3057"/>
+    <D type="density" unit="g/cm3" value="19.3"/>
+    <composite n="1" ref="W"/>
+  </material>
+  <element Z="54" formula="Xe" name="Xe">
+    <atom type="A" unit="g/mol" value="131.292"/>
+  </element>
+  <material formula="Xe" name="Xenon" state="gas">
+    <RL type="X0" unit="cm" value="1546.2"/>
+    <NIL type="lambda" unit="cm" value="32477.9"/>
+    <D type="density" unit="g/cm3" value="0.00548536"/>
+    <composite n="1" ref="Xe"/>
+  </material>
+  <element Z="39" formula="Y" name="Y">
+    <atom type="A" unit="g/mol" value="88.9058"/>
+  </element>
+  <material formula="Y" name="Yttrium" state="solid">
+    <RL type="X0" unit="cm" value="2.32943"/>
+    <NIL type="lambda" unit="cm" value="34.9297"/>
+    <D type="density" unit="g/cm3" value="4.469"/>
+    <composite n="1" ref="Y"/>
+  </material>
+  <element Z="70" formula="Yb" name="Yb">
+    <atom type="A" unit="g/mol" value="173.038"/>
+  </element>
+  <material formula="Yb" name="Ytterbium" state="solid">
+    <RL type="X0" unit="cm" value="1.04332"/>
+    <NIL type="lambda" unit="cm" value="28.9843"/>
+    <D type="density" unit="g/cm3" value="6.73"/>
+    <composite n="1" ref="Yb"/>
+  </material>
+  <element Z="30" formula="Zn" name="Zn">
+    <atom type="A" unit="g/mol" value="65.3955"/>
+  </element>
+  <material formula="Zn" name="Zinc" state="solid">
+    <RL type="X0" unit="cm" value="1.74286"/>
+    <NIL type="lambda" unit="cm" value="19.8488"/>
+    <D type="density" unit="g/cm3" value="7.133"/>
+    <composite n="1" ref="Zn"/>
+  </material>
+  <element Z="40" formula="Zr" name="Zr">
+    <atom type="A" unit="g/mol" value="91.2236"/>
+  </element>
+  <material formula="Zr" name="Zirconium" state="solid">
+    <RL type="X0" unit="cm" value="1.56707"/>
+    <NIL type="lambda" unit="cm" value="24.2568"/>
+    <D type="density" unit="g/cm3" value="6.506"/>
+    <composite n="1" ref="Zr"/>
+  </material>
+</materials>
diff --git a/benchmarks/zdc/materials.xml b/benchmarks/zdc/materials.xml
new file mode 100644
index 00000000..f6f705f6
--- /dev/null
+++ b/benchmarks/zdc/materials.xml
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<materials>
+  <!--
+       Air by weight from
+
+       http://www.engineeringtoolbox.com/air-composition-24_212.html
+  -->
+  <material name="Air">
+    <D type="density" unit="g/cm3" value="0.0012"/>
+    <fraction n="0.754" ref="N"/>
+    <fraction n="0.234" ref="O"/>
+    <fraction n="0.012" ref="Ar"/>
+  </material>
+  <!-- We model vakuum just as very thin air -->
+  <material name="Vacuum">
+    <D type="density" unit="g/cm3" value="0.0000000001"/>
+    <fraction n="0.754" ref="N"/>
+    <fraction n="0.234" ref="O"/>
+    <fraction n="0.012" ref="Ar"/>
+  </material>
+  <material name="Epoxy">
+    <D type="density" value="1.3" unit="g/cm3"/>
+    <composite n="44" ref="H"/>
+    <composite n="15" ref="C"/>
+    <composite n="7" ref="O"/>
+  </material>
+  <material name="Quartz">
+    <D type="density" value="2.2" unit="g/cm3"/>
+    <composite n="1" ref="Si"/>
+    <composite n="2" ref="O"/>
+  </material>
+  <material name="G10">
+    <D type="density" value="1.7" unit="g/cm3"/>
+    <fraction n="0.08" ref="Cl"/>
+    <fraction n="0.773" ref="Quartz"/>
+    <fraction n="0.147" ref="Epoxy"/>
+  </material>
+  <material name="Polystyrene">
+    <D value="1.032" unit="g/cm3"/>
+    <composite n="19" ref="C"/>
+    <composite n="21" ref="H"/>
+  </material>
+  <material name="Steel235">
+    <D value="7.85" unit="g/cm3"/>
+    <fraction n="0.998" ref="Fe"/>
+    <fraction n=".002" ref="C"/>
+  </material>
+  <material name="SiliconOxide">
+    <D type="density" value="2.65" unit="g/cm3"/>
+    <composite n="1" ref="Si"/>
+    <composite n="2" ref="O"/>
+  </material>
+  <material name="BoronOxide">
+    <D type="density" value="2.46" unit="g/cm3"/>
+    <composite n="2" ref="B"/>
+    <composite n="3" ref="O"/>
+  </material>
+  <material name="SodiumOxide">
+    <D type="density" value="2.65" unit="g/cm3"/>
+    <composite n="2" ref="Na"/>
+    <composite n="1" ref="O"/>
+  </material>
+  <material name="AluminumOxide">
+    <D type="density" value="3.89" unit="g/cm3"/>
+    <composite n="2" ref="Al"/>
+    <composite n="3" ref="O"/>
+  </material>
+  <material name="SiliconNitride">
+    <D type="density" value="3.17" unit="g/cm3"/>
+    <composite n="3" ref="Si"/>
+    <composite n="4" ref="N"/>
+  </material>
+  <material name="PyrexGlass">
+    <D type="density" value="2.23" unit="g/cm3"/>
+    <fraction n="0.806" ref="SiliconOxide"/>
+    <fraction n="0.130" ref="BoronOxide"/>
+    <fraction n="0.040" ref="SodiumOxide"/>
+    <fraction n="0.023" ref="AluminumOxide"/>
+  </material>
+  <material name="CarbonFiber">
+    <D type="density" value="1.5" unit="g/cm3"/>
+    <fraction n="0.65" ref="C"/>
+    <fraction n="0.35" ref="Epoxy"/>
+  </material>
+  <material name="CarbonFiber_50D">
+    <D type="density" value="0.75" unit="g/cm3"/>
+    <fraction n="0.65" ref="C"/>
+    <fraction n="0.35" ref="Epoxy"/>
+  </material>
+  <material name="Rohacell31">
+    <D type="density" value="0.032" unit="g/cm3"/>
+    <composite n="9" ref="C"/>
+    <composite n="13" ref="H"/>
+    <composite n="2" ref="O"/>
+    <composite n="1" ref="N"/>
+  </material>
+  <material name="Rohacell31_50D">
+    <D type="density" value="0.016" unit="g/cm3"/>
+    <composite n="9" ref="C"/>
+    <composite n="13" ref="H"/>
+    <composite n="2" ref="O"/>
+    <composite n="1" ref="N"/>
+  </material>
+  <material name="RPCGasDefault" state="gas">
+    <D type="density" value="0.0037" unit="g/cm3"/>
+    <composite n="209" ref="C"/>
+    <composite n="239" ref="H"/>
+    <composite n="381" ref="F"/>
+  </material>
+  <material name="PolystyreneFoam">
+    <D type="density" value="0.0056" unit="g/cm3"/>
+    <fraction n="1.0" ref="Polystyrene"/>
+  </material>
+  <material name="Kapton">
+    <D value="1.43" unit="g/cm3"/>
+    <composite n="22" ref="C"/>
+    <composite n="10" ref="H"/>
+    <composite n="2" ref="N"/>
+    <composite n="5" ref="O"/>
+  </material>
+  <material name="PEEK">
+    <D value="1.37" unit="g/cm3"/>
+    <composite n="19" ref="C"/>
+    <composite n="12" ref="H"/>
+    <composite n="3" ref="O"/>
+  </material>
+  <material name="TungstenDens23">
+    <D value="17.7" unit="g / cm3"/>
+    <fraction n="0.925" ref="W"/>
+    <fraction n="0.066" ref="Ni"/>
+    <fraction n="0.009" ref="Fe"/>
+  </material>
+  <material name="TungstenDens24">
+    <D value="17.8" unit="g / cm3"/>
+    <fraction n="0.93" ref="W"/>
+    <fraction n="0.061" ref="Ni"/>
+    <fraction n="0.009" ref="Fe"/>
+  </material>
+  <material name="TungstenDens25">
+    <D value="18.2" unit="g / cm3"/>
+    <fraction n="0.950" ref="W"/>
+    <fraction n="0.044" ref="Ni"/>
+    <fraction n="0.006" ref="Fe"/>
+  </material>
+  <material name="CarbonFiber_25percent">
+    <D type="density" value="0.375" unit="g / cm3"/>
+    <fraction n="1.0" ref="CarbonFiber"/>
+  </material>
+  <material name="CarbonFiber_15percent">
+    <D type="density" value="0.225" unit="g / cm3"/>
+    <fraction n="1.0" ref="CarbonFiber"/>
+  </material>
+  <material name="Rohacell31_50percent">
+    <D type="density" value="0.016" unit="g / cm3"/>
+    <fraction n="1.0" ref="Rohacell31"/>
+  </material>
+  <material name="Rohacell31_15percent">
+    <D type="density" value="0.0048" unit="g / cm3"/>
+    <fraction n="1.0" ref="Rohacell31"/>
+  </material>
+  <material name="BoratedPolyethylene5">
+    <D value="0.93" unit="g / cm3"/>
+    <fraction n="0.612" ref="C"/>
+    <fraction n="0.222" ref="O"/>
+    <fraction n="0.116" ref="H"/>
+    <fraction n="0.050" ref="B"/>
+  </material>
+  <material name="SiliconCarbide">
+    <D value="3.1" unit="g / cm3"/>
+    <composite n="1" ref="Si"/>
+    <composite n="1" ref="C"/>
+  </material>
+  <material name="SiliconCarbide_6percent">
+    <D value="0.186" unit="g / cm3"/>
+    <fraction n="1.0" ref="SiliconCarbide"/>
+  </material>
+  <material name="PlasticScint">
+    <D type="density" unit="g/cm3" value="1.032"/>
+    <composite n="9" ref="C"/>
+    <composite n="10" ref="H"/>
+  </material>
+  <material name="PbWO4">
+    <D type="density" value="8.3" unit="g / cm3"/>
+    <composite n="1" ref="Pb"/>
+    <composite n="1" ref="W"/>
+    <composite n="4" ref="O"/>
+  </material>
+
+</materials>
diff --git a/benchmarks/calorimeters/run_simulation_zdc.sh b/benchmarks/zdc/run_simulation_zdc.sh
similarity index 72%
rename from benchmarks/calorimeters/run_simulation_zdc.sh
rename to benchmarks/zdc/run_simulation_zdc.sh
index c8486d56..ddacc755 100755
--- a/benchmarks/calorimeters/run_simulation_zdc.sh
+++ b/benchmarks/zdc/run_simulation_zdc.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 
 ddsim --runType batch --numberOfEvents 10 \
-      --compactFile benchmarks/calorimeters/ZDC_example.xml \
+      --compactFile benchmarks/zdc/ZDC_example.xml \
       --inputFiles  ./data/zdc_photons.hepmc \
       --outputFile  ./sim_output/output_zdc_photons.root
diff --git a/benchmarks/calorimeters/simple_checking.cxx b/benchmarks/zdc/simple_checking.cxx
similarity index 100%
rename from benchmarks/calorimeters/simple_checking.cxx
rename to benchmarks/zdc/simple_checking.cxx
diff --git a/benchmarks/calorimeters/simple_info_plot_histograms.cxx b/benchmarks/zdc/simple_info_plot_histograms.cxx
similarity index 98%
rename from benchmarks/calorimeters/simple_info_plot_histograms.cxx
rename to benchmarks/zdc/simple_info_plot_histograms.cxx
index 9dd2cf42..07ec554a 100644
--- a/benchmarks/calorimeters/simple_info_plot_histograms.cxx
+++ b/benchmarks/zdc/simple_info_plot_histograms.cxx
@@ -54,7 +54,7 @@ void simple_info_plot_histograms(const char* fname = "sim_output/output_zdc_phot
 
   // Detector
   dd4hep::Detector& detector = dd4hep::Detector::getInstance();
-  detector.fromCompact("benchmarks/calorimeters/ZDC_example.xml");  
+  detector.fromCompact("benchmarks/zdc/ZDC_example.xml");  
   // Volume
   dd4hep::VolumeManager volman = dd4hep::VolumeManager::getVolumeManager(detector);
   // CellID Coverter
diff --git a/benchmarks/calorimeters/zdc_neutrons_reader.cxx b/benchmarks/zdc/zdc_neutrons_reader.cxx
similarity index 100%
rename from benchmarks/calorimeters/zdc_neutrons_reader.cxx
rename to benchmarks/zdc/zdc_neutrons_reader.cxx
diff --git a/util/build_detector.sh b/util/build_detector.sh
index aab1ed00..a12d3db9 100755
--- a/util/build_detector.sh
+++ b/util/build_detector.sh
@@ -64,8 +64,8 @@ echo "Building and installing the ${JUGGLER_DETECTOR} package"
 
 mkdir -p ${DETECTOR_PREFIX}/build
 pushd ${DETECTOR_PREFIX}/build
-cmake ${DETECTOR_PATH} -DCMAKE_INSTALL_PREFIX=${LOCAL_PREFIX} -DCMAKE_CXX_STANDARD=17 &&
-  make -j30 install || exit 1
+cmake ${DETECTOR_PATH} -DCMAKE_INSTALL_PREFIX=${LOCAL_PREFIX} -DCMAKE_CXX_STANDARD=17 && make -j30 install || exit 1
+cmake ${DETECTOR_PATH} -DCMAKE_INSTALL_PREFIX=${LOCAL_PREFIX}  -DCMAKE_CXX_STANDARD=17  && make -j30 install
 
 ## =============================================================================
 ## Step 3: That's all!
-- 
GitLab