File indexing completed on 2026-09-05 08:19:03
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include "Acts/Definitions/Algebra.hpp"
0010 #include "Acts/Definitions/Units.hpp"
0011 #include "Acts/Geometry/BlueprintNode.hpp"
0012 #include "Acts/Geometry/CylinderVolumeBounds.hpp"
0013 #include "Acts/Geometry/MaterialDesignatorBlueprintNode.hpp"
0014 #include "Acts/Material/HomogeneousSurfaceMaterial.hpp"
0015 #include "Acts/Material/Material.hpp"
0016 #include "Acts/Material/MaterialSlab.hpp"
0017 #include "Acts/Utilities/AxisDefinitions.hpp"
0018 #include "Acts/Utilities/AxisSpec.hpp"
0019
0020 #include <memory>
0021
0022 using namespace Acts::UnitLiterals;
0023
0024
0025
0026
0027 void exampleDesignateProtoMaterial(Acts::BlueprintNode& parent) {
0028
0029 parent.addMaterial("PixelMaterial", [&](auto& mat) {
0030 using enum Acts::AxisDirection;
0031 using enum Acts::CylinderVolumeBounds::Face;
0032 using Acts::AxisSpec;
0033
0034
0035
0036
0037 mat.configureFace(OuterCylinder,
0038 AxisSpec::DeferredEquidistant(20, AxisRPhi),
0039 AxisSpec::DeferredEquidistant(20, AxisZ));
0040 mat.configureFace(NegativeDisc, AxisSpec::DeferredEquidistant(15, AxisR),
0041 AxisSpec::DeferredEquidistant(25, AxisPhi));
0042 mat.configureFace(PositiveDisc, AxisSpec::DeferredEquidistant(15, AxisR),
0043 AxisSpec::DeferredEquidistant(25, AxisPhi));
0044
0045
0046 mat.addCylinderContainer("Pixel", Acts::AxisDirection::AxisZ,
0047 [&](auto& ) {
0048
0049 });
0050 });
0051
0052 }
0053
0054
0055
0056 void exampleDesignateHomogeneousMaterial(Acts::BlueprintNode& parent) {
0057
0058
0059 auto beampipeMaterial =
0060 std::make_shared<const Acts::HomogeneousSurfaceMaterial>(
0061 Acts::MaterialSlab(Acts::Material::fromMassDensity(
0062 352.8_mm, 407_mm, 9.012, 4, 1.848_g / 1_cm3),
0063 0.8_mm));
0064
0065 parent.addMaterial("BeampipeMaterial", [&](auto& bpMat) {
0066 using enum Acts::CylinderVolumeBounds::Face;
0067
0068 bpMat.configureFace(OuterCylinder, beampipeMaterial);
0069 bpMat.addStaticVolume(
0070 Acts::Transform3::Identity(),
0071 std::make_shared<Acts::CylinderVolumeBounds>(0_mm, 25_mm, 1000_mm),
0072 "Beampipe");
0073 });
0074
0075 }