File indexing completed on 2026-05-27 07:24:00
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011
0012 #include "detray/definitions/algebra.hpp"
0013 #include "detray/definitions/units.hpp"
0014 #include "detray/material/material.hpp"
0015
0016
0017 #include <limits>
0018
0019 namespace detray {
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031 DETRAY_DECLARE_MATERIAL(vacuum, std::numeric_limits<scalar_t>::max(),
0032 std::numeric_limits<scalar_t>::max(), 0.f, 0.f, 0.f,
0033 material_state::e_unknown);
0034
0035
0036 DETRAY_DECLARE_MATERIAL(hydrogen_gas, 7.526E3f * unit<scalar_t>::m,
0037 6.209E3f * unit<scalar_t>::m, 2.f * 1.008f, 2.f * 1.f,
0038 static_cast<scalar_t>(8.376E-5 * unit<double>::g /
0039 unit<double>::cm3),
0040 material_state::e_gas);
0041
0042
0043 DETRAY_DECLARE_MATERIAL(hydrogen_liquid, 8.904f * unit<scalar_t>::m,
0044 7.346f * unit<scalar_t>::m, 2.f * 1.008f, 2.f * 1.f,
0045 static_cast<scalar_t>(0.07080f * unit<double>::g /
0046 unit<double>::cm3),
0047 material_state::e_liquid);
0048
0049
0050 DETRAY_DECLARE_MATERIAL(helium_gas, 5.671E3f * unit<scalar_t>::m,
0051 4.269E3f * unit<scalar_t>::m, 4.003f, 2.f,
0052 static_cast<scalar_t>(1.663E-4 * unit<double>::g /
0053 unit<double>::cm3),
0054 material_state::e_gas);
0055
0056
0057 DETRAY_DECLARE_MATERIAL(beryllium, 352.8f * unit<scalar_t>::mm,
0058 421.0f * unit<scalar_t>::mm, 9.012f, 4.f,
0059 static_cast<scalar_t>(1.848 * unit<double>::g /
0060 unit<double>::cm3),
0061 material_state::e_solid);
0062
0063
0064 DETRAY_DECLARE_MATERIAL(carbon_gas, 213.5f * unit<scalar_t>::mm,
0065 429.0f * unit<scalar_t>::mm, 12.01f, 6.f,
0066 static_cast<scalar_t>(2.0 * unit<double>::g /
0067 unit<double>::cm3),
0068 material_state::e_gas);
0069
0070
0071 DETRAY_DECLARE_MATERIAL(nitrogen_gas, 3.260E+02f * unit<scalar_t>::m,
0072 7.696E+02f * unit<scalar_t>::m, 2.f * 14.007f,
0073 2.f * 7.f,
0074 static_cast<scalar_t>(1.165E-03 * unit<double>::g /
0075 unit<double>::cm3),
0076 material_state::e_gas);
0077
0078
0079 DETRAY_DECLARE_MATERIAL(oxygen_gas, 2.571E+02f * unit<scalar_t>::m,
0080 6.772E+02f * unit<scalar_t>::m, 2.f * 15.999f,
0081 2.f * 8.f,
0082 static_cast<scalar_t>(1.332E-3 * unit<double>::g /
0083 unit<double>::cm3),
0084 material_state::e_gas);
0085
0086
0087 DETRAY_DECLARE_MATERIAL(oxygen_liquid, 300.1f * unit<scalar_t>::mm,
0088 790.3f * unit<scalar_t>::mm, 2.f * 15.999f, 2.f * 8.f,
0089 static_cast<scalar_t>(1.141 * unit<double>::g /
0090 unit<double>::cm3),
0091 material_state::e_liquid);
0092
0093
0094 DETRAY_DECLARE_MATERIAL(aluminium, 88.97f * unit<scalar_t>::mm,
0095 397.0f * unit<scalar_t>::mm, 26.98f, 13.f,
0096 static_cast<scalar_t>(2.699 * unit<double>::g /
0097 unit<double>::cm3),
0098 material_state::e_solid);
0099
0100
0101 DETRAY_DECLARE_MATERIAL(silicon, 93.7f * unit<scalar_t>::mm,
0102 465.2f * unit<scalar_t>::mm, 28.0855f, 14.f,
0103 static_cast<scalar_t>(2.329 * unit<double>::g /
0104 unit<double>::cm3),
0105 material_state::e_solid);
0106
0107
0108 DETRAY_DECLARE_MATERIAL_WITH_DED(silicon_with_ded, 93.7f * unit<scalar_t>::mm,
0109 465.2f * unit<scalar_t>::mm, 28.0855f, 14.f,
0110 static_cast<scalar_t>(2.329 * unit<double>::g /
0111 unit<double>::cm3),
0112 material_state::e_solid, 0.1492f, 3.2546f,
0113 0.2015f, 2.8716f, 173.0f, 4.4355f, 0.14f);
0114
0115
0116 DETRAY_DECLARE_MATERIAL(argon_gas, 1.176E+02f * unit<scalar_t>::m,
0117 7.204E+02f * unit<scalar_t>::m, 39.948f, 18.f,
0118 static_cast<scalar_t>(1.662E-03 * unit<double>::g /
0119 unit<double>::cm3),
0120 material_state::e_gas);
0121
0122
0123 DETRAY_DECLARE_MATERIAL(argon_liquid, 14.f * unit<scalar_t>::cm,
0124 85.77f * unit<scalar_t>::cm, 39.948f, 18.f,
0125 static_cast<scalar_t>(1.396 * unit<double>::g /
0126 unit<double>::cm3),
0127 material_state::e_liquid);
0128
0129
0130 DETRAY_DECLARE_MATERIAL(iron, 1.757f * unit<scalar_t>::cm,
0131 16.77f * unit<scalar_t>::cm, 55.845f, 26.f,
0132 static_cast<scalar_t>(7.874 * unit<double>::g /
0133 unit<double>::cm3),
0134 material_state::e_solid);
0135
0136
0137 DETRAY_DECLARE_MATERIAL_WITH_DED(iron_with_ded, 1.757f * unit<scalar_t>::cm,
0138 16.77f * unit<scalar_t>::cm, 55.845f, 26.f,
0139 static_cast<scalar_t>(7.874 * unit<double>::g /
0140 unit<double>::cm3),
0141 material_state::e_solid, 0.14680f, 2.9632f,
0142 -0.0012f, 3.1531f, 286.0f, 4.2911f, 0.12f);
0143
0144
0145 DETRAY_DECLARE_MATERIAL(copper, 1.436f * unit<scalar_t>::cm,
0146 15.32f * unit<scalar_t>::cm, 63.546f, 29.f,
0147 static_cast<scalar_t>(8.960 * unit<double>::g /
0148 unit<double>::cm3),
0149 material_state::e_solid);
0150
0151
0152 DETRAY_DECLARE_MATERIAL_WITH_DED(copper_with_ded, 1.436f * unit<scalar_t>::cm,
0153 15.32f * unit<scalar_t>::cm, 63.546f, 29.f,
0154 static_cast<scalar_t>(8.960 * unit<double>::g /
0155 unit<double>::cm3),
0156 material_state::e_solid, 0.14339f, 2.9044f,
0157 -0.0254f, 3.2792f, 322.0f, 4.4190f, 0.08f);
0158
0159
0160 DETRAY_DECLARE_MATERIAL(tungsten, 3.504f * unit<scalar_t>::mm,
0161 99.46f * unit<scalar_t>::mm, 183.84f, 74.f,
0162 static_cast<scalar_t>(19.3 * unit<double>::g /
0163 unit<double>::cm3),
0164 material_state::e_solid);
0165
0166
0167 DETRAY_DECLARE_MATERIAL(gold, 3.344f * unit<scalar_t>::mm,
0168 101.6f * unit<scalar_t>::mm, 196.97f, 79.f,
0169 static_cast<scalar_t>(19.32 * unit<double>::g /
0170 unit<double>::cm3),
0171 material_state::e_solid);
0172
0173
0174
0175
0176
0177
0178
0179 DETRAY_DECLARE_MATERIAL(beryllium_tml, 352.8f * unit<scalar_t>::mm,
0180 407.f * unit<scalar_t>::mm, 9.012f, 4.f,
0181 static_cast<scalar_t>(1.848 * unit<double>::g /
0182 unit<double>::cm3),
0183 material_state::e_solid);
0184
0185
0186 DETRAY_DECLARE_MATERIAL(silicon_tml, 95.7f * unit<scalar_t>::mm,
0187 465.2f * unit<scalar_t>::mm, 28.03f, 14.f,
0188 static_cast<scalar_t>(2.32 * unit<double>::g /
0189 unit<double>::cm3),
0190 material_state::e_solid);
0191
0192
0193
0194
0195
0196
0197
0198
0199
0200 DETRAY_DECLARE_MATERIAL(air, 3.039E+02f * unit<scalar_t>::m,
0201 7.477E+02f * unit<scalar_t>::m, 28.97f, 14.46f,
0202 static_cast<scalar_t>(1.205E-03 * unit<double>::g /
0203 unit<double>::cm3),
0204 material_state::e_gas);
0205
0206
0207
0208
0209
0210
0211
0212 DETRAY_DECLARE_MATERIAL(isobutane, 1693E+02f * unit<scalar_t>::mm,
0213 288.3f * unit<scalar_t>::mm, 58.124f, 34.f,
0214 static_cast<scalar_t>(2.67 * unit<double>::g /
0215 unit<double>::cm3),
0216 material_state::e_gas);
0217
0218
0219
0220
0221
0222 DETRAY_DECLARE_MATERIAL(propane, 2.429E+02f * unit<scalar_t>::m,
0223 4.106E+02f * unit<scalar_t>::m, 44.097f, 26.f,
0224 static_cast<scalar_t>(1.868E-03 * unit<double>::g /
0225 unit<double>::cm3),
0226 material_state::e_gas);
0227
0228
0229
0230 DETRAY_DECLARE_MATERIAL(cesium_iodide, 1.86f * unit<scalar_t>::cm,
0231 38.04f * unit<scalar_t>::cm, 259.81f, 108.f,
0232 static_cast<scalar_t>(4.510f * unit<double>::g /
0233 unit<double>::cm3),
0234 material_state::e_solid);
0235
0236 DETRAY_DECLARE_MATERIAL_WITH_DED(
0237 cesium_iodide_with_ded, 1.86f * unit<scalar_t>::cm,
0238 38.04f * unit<scalar_t>::cm, 259.81f, 108.f,
0239 static_cast<scalar_t>(4.510f * unit<double>::g / unit<double>::cm3),
0240 material_state::e_solid, 0.25381f, 2.6657f, 0.0395f, 3.3353f, 553.1f,
0241 6.2807f, 0.00f);
0242
0243 }