Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-09 08:20:11

0001 // This file is part of the ACTS project.
0002 //
0003 // Copyright (C) 2016 CERN for the benefit of the ACTS project
0004 //
0005 // This Source Code Form is subject to the terms of the Mozilla Public
0006 // License, v. 2.0. If a copy of the MPL was not distributed with this
0007 // file, You can obtain one at https://mozilla.org/MPL/2.0/.
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     const Identifier ID, 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     : m_elementIdentifier(ID),
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   m_elementSurface->assignSurfaceMaterial(std::move(material));
0028   m_elementSurface->assignThickness(thickness);
0029 }
0030 
0031 TelescopeDetectorElement::TelescopeDetectorElement(
0032     const Identifier ID, std::shared_ptr<const Acts::Transform3> transform,
0033     std::shared_ptr<const Acts::DiscBounds> dBounds, double thickness,
0034     std::shared_ptr<const Acts::ISurfaceMaterial> material)
0035     : m_elementIdentifier(ID),
0036       m_elementTransform(std::move(transform)),
0037       m_elementSurface(
0038           Acts::Surface::makeShared<Acts::DiscSurface>(dBounds, *this)),
0039       m_elementThickness(thickness),
0040       m_elementPlanarBounds(nullptr),
0041       m_elementDiscBounds(std::move(dBounds)) {
0042   m_elementSurface->assignSurfaceMaterial(std::move(material));
0043   m_elementSurface->assignThickness(thickness);
0044 }
0045 
0046 }  // namespace ActsExamples