File indexing completed on 2025-07-12 07:52:17
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include "ActsExamples/GenericDetector/GenericDetectorElement.hpp"
0010
0011 #include "Acts/Surfaces/DiscSurface.hpp"
0012 #include "Acts/Surfaces/PlaneSurface.hpp"
0013
0014 #include <utility>
0015
0016 namespace ActsExamples {
0017
0018 GenericDetectorElement::GenericDetectorElement(
0019 const Identifier identifier, const Acts::Transform3& transform,
0020 std::shared_ptr<const Acts::PlanarBounds> pBounds, double thickness,
0021 std::shared_ptr<const Acts::ISurfaceMaterial> material)
0022 : Acts::DetectorElementBase(),
0023 m_elementIdentifier(identifier),
0024 m_elementTransform(transform),
0025 m_elementSurface(
0026 Acts::Surface::makeShared<Acts::PlaneSurface>(pBounds, *this)),
0027 m_elementThickness(thickness),
0028 m_elementPlanarBounds(std::move(pBounds)),
0029 m_elementDiscBounds(nullptr) {
0030 m_elementSurface->assignSurfaceMaterial(std::move(material));
0031 }
0032
0033 GenericDetectorElement::GenericDetectorElement(
0034 const Identifier identifier, const Acts::Transform3& transform,
0035 std::shared_ptr<const Acts::DiscBounds> dBounds, double thickness,
0036 std::shared_ptr<const Acts::ISurfaceMaterial> material)
0037 : Acts::DetectorElementBase(),
0038 m_elementIdentifier(identifier),
0039 m_elementTransform(transform),
0040 m_elementSurface(
0041 Acts::Surface::makeShared<Acts::DiscSurface>(dBounds, *this)),
0042 m_elementThickness(thickness),
0043 m_elementPlanarBounds(nullptr),
0044 m_elementDiscBounds(std::move(dBounds)) {
0045 m_elementSurface->assignSurfaceMaterial(std::move(material));
0046 }
0047
0048 const Acts::Transform3& GenericDetectorElement::transform(
0049 const Acts::GeometryContext& ) const {
0050 return m_elementTransform;
0051 }
0052
0053 const Acts::Transform3& GenericDetectorElement::nominalTransform() const {
0054 return m_elementTransform;
0055 }
0056
0057 const Acts::Surface& GenericDetectorElement::surface() const {
0058 return *m_elementSurface;
0059 }
0060
0061 Acts::Surface& GenericDetectorElement::surface() {
0062 return *m_elementSurface;
0063 }
0064
0065 double GenericDetectorElement::thickness() const {
0066 return m_elementThickness;
0067 }
0068
0069 GenericDetectorElement::Identifier GenericDetectorElement::identifier() const {
0070 return m_elementIdentifier;
0071 }
0072
0073 }