ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonPhaseII
MuonDetDescr
ActsMuonDetector
src
ChamberAssembleTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef MUONGEOMODELR4_MUONCHAMBERASSMBLETOOL_H
5
#define MUONGEOMODELR4_MUONCHAMBERASSMBLETOOL_H
6
7
#include "
AthenaBaseComps/AthAlgTool.h
"
8
9
#include "
MuonReadoutGeometryR4/SpectrometerSector.h
"
10
11
#include "
MuonGeoModelR4/IMuonReaoutGeomTool.h
"
12
#include "
MuonGeoModelR4/IMuonGeoUtilityTool.h
"
13
#include "
MuonIdHelpers/IMuonIdHelperSvc.h
"
14
15
#include "Acts/Surfaces/SurfaceBounds.hpp"
16
#include "Acts/Geometry/VolumeBounds.hpp"
17
#include "Acts/Utilities/PointerTraits.hpp"
18
#include "Acts/Utilities/BoundFactory.hpp"
19
20
#include <tuple>
21
22
namespace
MuonGMR4
{
23
24
class
MuonReadoutElement
;
27
class
ChamberAssembleTool
:
public
extends<AthAlgTool, IMuonReadoutGeomTool> {
28
public
:
30
using
base_class::base_class;
31
32
virtual
StatusCode
buildReadOutElements
(
MuonDetectorManager
&mgr)
override
final
;
33
35
using
VolBounds_t
= Acts::VolumeBounds;
37
using
VolBoundPtr_t
= std::shared_ptr<VolBounds_t>;
39
using
SurfBoundPtr_t
= std::shared_ptr<const Acts::PlanarBounds>;
41
using
TrfWithBounds
= std::tuple<Acts::Transform3, VolBoundPtr_t, SurfBoundPtr_t>;
42
private
:
52
template
<
typename
ReObjType>
53
TrfWithBounds
boundingBox
(
const
ActsTrk::GeometryContext
& gctx,
54
const
std::vector<ReObjType>& constituents,
55
const
Acts::Transform3& globToLoc,
56
Acts::VolumeBoundFactory& volBoundSet,
57
Acts::SurfaceBoundFactory& surfBoundSet,
58
const
double
margin)
const
59
requires
(Acts::PointerConcept<ReObjType>);
60
61
using
ChamberPtr
=
SpectrometerSector::ChamberPtr
;
62
67
static
SurfBoundPtr_t
surfaceBounds
(
const
VolBounds_t
& volBounds,
68
Acts::SurfaceBoundFactory& surfBoundSet);
69
ServiceHandle<Muon::IMuonIdHelperSvc>
m_idHelperSvc
{
this
,
"IdHelperSvc"
,
"Muon::MuonIdHelperSvc/MuonIdHelperSvc"
};
72
Gaudi::Property<bool>
m_isRun4
{
this
,
"run4Layout"
,
false
};
73
};
74
75
}
76
#endif
AthAlgTool.h
IMuonGeoUtilityTool.h
IMuonIdHelperSvc.h
IMuonReaoutGeomTool.h
SpectrometerSector.h
ActsTrk::GeometryContext
Definition
GeometryContext.h:30
MuonGMR4::ChamberAssembleTool
Assembly tool to produce the Acts envolpe volumes around the muon stations & also to construct the sp...
Definition
ChamberAssembleTool.h:27
MuonGMR4::ChamberAssembleTool::SurfBoundPtr_t
std::shared_ptr< const Acts::PlanarBounds > SurfBoundPtr_t
Abrivation of the surface bounds.
Definition
ChamberAssembleTool.h:39
MuonGMR4::ChamberAssembleTool::TrfWithBounds
std::tuple< Acts::Transform3, VolBoundPtr_t, SurfBoundPtr_t > TrfWithBounds
Abrivation of the volume transform together with a set of volume & surface bounds.
Definition
ChamberAssembleTool.h:41
MuonGMR4::ChamberAssembleTool::VolBounds_t
Acts::VolumeBounds VolBounds_t
Abrivation of the volume bounds.
Definition
ChamberAssembleTool.h:35
MuonGMR4::ChamberAssembleTool::buildReadOutElements
virtual StatusCode buildReadOutElements(MuonDetectorManager &mgr) override final
Definition
ChamberAssembleTool.cxx:84
MuonGMR4::ChamberAssembleTool::boundingBox
TrfWithBounds boundingBox(const ActsTrk::GeometryContext &gctx, const std::vector< ReObjType > &constituents, const Acts::Transform3 &globToLoc, Acts::VolumeBoundFactory &volBoundSet, Acts::SurfaceBoundFactory &surfBoundSet, const double margin) const
builds the bounding box trapezoidal volume bounds from the set of readout elements Returns a pair of ...
Definition
ChamberAssembleTool.cxx:56
MuonGMR4::ChamberAssembleTool::m_isRun4
Gaudi::Property< bool > m_isRun4
Toggling whether the layout is a R3 or R4 layout.
Definition
ChamberAssembleTool.h:72
MuonGMR4::ChamberAssembleTool::ChamberPtr
SpectrometerSector::ChamberPtr ChamberPtr
Definition
ChamberAssembleTool.h:61
MuonGMR4::ChamberAssembleTool::VolBoundPtr_t
std::shared_ptr< VolBounds_t > VolBoundPtr_t
Abrivation of the Volume bound ptr.
Definition
ChamberAssembleTool.h:37
MuonGMR4::ChamberAssembleTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition
ChamberAssembleTool.h:69
MuonGMR4::ChamberAssembleTool::surfaceBounds
static SurfBoundPtr_t surfaceBounds(const VolBounds_t &volBounds, Acts::SurfaceBoundFactory &surfBoundSet)
Construct surface bounds which measure equal sizes in halfXlow/halfXhigh & halfY as the parsed volume...
Definition
ChamberAssembleTool.cxx:45
MuonGMR4::MuonDetectorManager
Definition
MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h:62
MuonGMR4::MuonReadoutElement
MuonReadoutElement is an abstract class representing the geometry of a muon detector.
Definition
MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h:35
MuonGMR4::SpectrometerSector::ChamberPtr
GeoModel::TransientConstSharedPtr< Chamber > ChamberPtr
Definition
SpectrometerSector.h:43
ServiceHandle
Definition
ClusterMakerTool.h:36
MuonGMR4
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
Definition
MdtCalibInput.h:19
Generated on
for ATLAS Offline Software by
1.17.0