File indexing completed on 2025-01-18 09:11:45
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include "ActsExamples/TelescopeDetector/TelescopeDetectorElement.hpp"
0010
0011 #include "Acts/Surfaces/DiscSurface.hpp"
0012 #include "Acts/Surfaces/PlaneSurface.hpp"
0013
0014 namespace ActsExamples {
0015
0016 TelescopeDetectorElement::TelescopeDetectorElement(
0017 std::shared_ptr<const Acts::Transform3> transform,
0018 std::shared_ptr<const Acts::PlanarBounds> pBounds, double thickness,
0019 std::shared_ptr<const Acts::ISurfaceMaterial> material)
0020 : Acts::DetectorElementBase(),
0021 m_elementTransform(std::move(transform)),
0022 m_elementSurface(
0023 Acts::Surface::makeShared<Acts::PlaneSurface>(pBounds, *this)),
0024 m_elementThickness(thickness),
0025 m_elementPlanarBounds(std::move(pBounds)),
0026 m_elementDiscBounds(nullptr) {
0027 auto mutableSurface =
0028 std::const_pointer_cast<Acts::Surface>(m_elementSurface);
0029 mutableSurface->assignSurfaceMaterial(std::move(material));
0030 }
0031
0032 TelescopeDetectorElement::TelescopeDetectorElement(
0033 std::shared_ptr<const Acts::Transform3> transform,
0034 std::shared_ptr<const Acts::DiscBounds> dBounds, double thickness,
0035 std::shared_ptr<const Acts::ISurfaceMaterial> material)
0036 : Acts::DetectorElementBase(),
0037 m_elementTransform(std::move(transform)),
0038 m_elementSurface(
0039 Acts::Surface::makeShared<Acts::DiscSurface>(dBounds, *this)),
0040 m_elementThickness(thickness),
0041 m_elementPlanarBounds(nullptr),
0042 m_elementDiscBounds(std::move(dBounds)) {
0043 m_elementSurface->assignSurfaceMaterial(std::move(material));
0044 }
0045
0046 }