2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
4 #ifndef MUONREADOUTGEOMETRYR4_STRIPLAYER_ICC
5 #define MUONREADOUTGEOMETRYR4_STRIPLAYER_ICC
7 #include "GaudiKernel/SystemOfUnits.h"
10 inline const Amg::Transform3D& StripLayer::toOrigin() const { return m_transform->getDefTransform(); }
11 inline bool StripLayer::hasPhiDesign() const {
12 assert(m_phiDesign && m_etaDesign);
13 return m_phiDesign != m_etaDesign;
15 inline const StripDesign& StripLayer::design(bool phiView) const {
16 return phiView ? *m_phiDesign :*m_etaDesign;
18 inline const IdentifierHash StripLayer::hash() const { return m_hash; }
20 inline Amg::Vector3D StripLayer::to3D(CheckVector2D&& vec, const bool phiView) const {
22 return Amg::Vector3D::Zero();
24 Amg::Vector3D pos{Amg::Vector3D::Zero()};
25 if (!phiView || !hasPhiDesign()) {
26 pos.block<2,1>(0, 0) = std::move(*vec);
28 const Eigen::Rotation2D rot{90.*Gaudi::Units::deg};
29 pos.block<2,1>(0,0) = rot * (*vec);
33 inline Amg::Vector3D StripLayer::localStripPosition(unsigned int stripNum, bool phiView) const {
34 return to3D(design(phiView).center(stripNum), phiView);
36 inline Amg::Vector3D StripLayer::localStripLeftEdge(unsigned int stripNum, bool phiView) const {
37 return to3D(design(phiView).leftEdge(stripNum), phiView);
39 inline Amg::Vector3D StripLayer::localStripRightEdge(unsigned int stripNum, bool phiView) const {
40 return to3D(design(phiView).rightEdge(stripNum), phiView);