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