ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonPhaseII
MuonDetDescr
MuonGeoModelR4
src
TgcReadoutGeomTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef MUONGEOMODELR4_TgcREAOUDGEOMTOOL_H
6
#define MUONGEOMODELR4_TgcREAOUDGEOMTOOL_H
7
8
#include <
AthenaBaseComps/AthAlgTool.h
>
9
#include <
MuonReadoutGeometryR4/TgcReadoutElement.h
>
10
11
#include <
GeoModelInterfaces/IGeoDbTagSvc.h
>
12
#include <
MuonGeoModelR4/IMuonReaoutGeomTool.h
>
13
#include <
MuonGeoModelR4/IMuonGeoUtilityTool.h
>
14
#include <
MuonIdHelpers/IMuonIdHelperSvc.h
>
15
#include <GeoModelHelpers/GeoDeDuplicator.h>
16
17
class
GeoTrd;
18
namespace
MuonGMR4
{
19
20
class
TgcReadoutGeomTool
:
public
extends<AthAlgTool, IMuonReadoutGeomTool> {
21
public
:
22
// Constructor
23
using
base_class::base_class;
24
25
StatusCode
buildReadOutElements
(
MuonDetectorManager
&mgr)
override
final
;
26
27
private
:
29
StatusCode
writeSectorMapping
(
const
MuonDetectorManager
& mgr)
const
;
30
ServiceHandle<Muon::IMuonIdHelperSvc>
m_idHelperSvc
{
this
,
"IdHelperSvc"
,
31
"Muon::MuonIdHelperSvc/MuonIdHelperSvc"
};
32
33
ServiceHandle<IGeoDbTagSvc>
m_geoDbTagSvc
{
this
,
"GeoDbTagSvc"
,
"GeoDbTagSvc"
};
34
35
PublicToolHandle<IMuonGeoUtilityTool>
m_geoUtilTool
{
this
,
"GeoUtilTool"
,
""
};
36
38
struct
wTgcTable
{
39
std::vector<double>
bottomStripPos
{};
40
std::vector<double>
topStripPos
{};
41
std::vector<unsigned int>
wireGangs
{};
42
double
wirePitch
{0.};
43
unsigned
int
gasGap
{0};
44
};
45
struct
FactoryCache
{
49
using
ParamBookTable
= std::unordered_map<std::string, wTgcTable>;
50
ParamBookTable
parameterBook
{};
53
using
ReadoutTable
= std::map<std::string, StripLayerPtr>;
54
ReadoutTable
readoutLayers
{};
56
RadialStripDesignSet
stripReadouts
{};
58
WireGroupDesignSet
wireLayouts
{};
60
GeoDeDuplicator
trfNodeMaker
{};
61
};
62
64
StatusCode
readParameterBook
(FactoryCache& cache);
66
StatusCode
loadDimensions
(
TgcReadoutElement::defineArgs
& args, FactoryCache& factory );
70
std::unique_ptr<WireGroupDesign>
71
constructWireDesign
(
const
wTgcTable& table,
72
const
GeoTrd* gapTrd)
const
;
77
std::unique_ptr<RadialStripDesign>
78
constructRadialDesign
(
const
wTgcTable& table,
79
const
GeoTrd* gapTrd)
const
;
80
81
};
82
83
}
// namespace MuonGMR4
84
#endif
AthAlgTool.h
IGeoDbTagSvc.h
IMuonGeoUtilityTool.h
IMuonIdHelperSvc.h
IMuonReaoutGeomTool.h
TgcReadoutElement.h
MuonGMR4::MuonDetectorManager
Definition
MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h:62
MuonGMR4::TgcReadoutGeomTool
Definition
TgcReadoutGeomTool.h:20
MuonGMR4::TgcReadoutGeomTool::writeSectorMapping
StatusCode writeSectorMapping(const MuonDetectorManager &mgr) const
Map the Tgc sectors to the classical Muon System sectors.
Definition
TgcReadoutGeomTool.cxx:223
MuonGMR4::TgcReadoutGeomTool::buildReadOutElements
StatusCode buildReadOutElements(MuonDetectorManager &mgr) override final
Definition
TgcReadoutGeomTool.cxx:171
MuonGMR4::TgcReadoutGeomTool::constructWireDesign
std::unique_ptr< WireGroupDesign > constructWireDesign(const wTgcTable &table, const GeoTrd *gapTrd) const
Constructs a new wire group design, if the table has wires defined.
Definition
TgcReadoutGeomTool.cxx:41
MuonGMR4::TgcReadoutGeomTool::loadDimensions
StatusCode loadDimensions(TgcReadoutElement::defineArgs &args, FactoryCache &factory)
Loads the chamber dimensions from GeoModel.
Definition
TgcReadoutGeomTool.cxx:82
MuonGMR4::TgcReadoutGeomTool::m_geoUtilTool
PublicToolHandle< IMuonGeoUtilityTool > m_geoUtilTool
Definition
TgcReadoutGeomTool.h:35
MuonGMR4::TgcReadoutGeomTool::constructRadialDesign
std::unique_ptr< RadialStripDesign > constructRadialDesign(const wTgcTable &table, const GeoTrd *gapTrd) const
Constructs a new radial strip design, if the table contains radial strips.
Definition
TgcReadoutGeomTool.cxx:60
MuonGMR4::TgcReadoutGeomTool::m_geoDbTagSvc
ServiceHandle< IGeoDbTagSvc > m_geoDbTagSvc
Definition
TgcReadoutGeomTool.h:33
MuonGMR4::TgcReadoutGeomTool::readParameterBook
StatusCode readParameterBook(FactoryCache &cache)
Retrieves the auxillary tables from the database.
Definition
TgcReadoutGeomTool.cxx:237
MuonGMR4::TgcReadoutGeomTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition
TgcReadoutGeomTool.h:30
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
MuonGMR4::WireGroupDesignSet
std::set< WireDesignPtr, WireDesignSorter > WireGroupDesignSet
Definition
WireGroupDesign.h:103
MuonGMR4::RadialStripDesignSet
std::set< RadialStripDesignPtr, RadialDesignSorter > RadialStripDesignSet
Definition
RadialStripDesign.h:115
MuonGMR4::TgcReadoutElement::defineArgs
Definition
MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/TgcReadoutElement.h:45
MuonGMR4::TgcReadoutGeomTool::FactoryCache
Definition
TgcReadoutGeomTool.h:45
MuonGMR4::TgcReadoutGeomTool::FactoryCache::wireLayouts
WireGroupDesignSet wireLayouts
Set to share equivalent WireGroupDesigns across multiple gas gaps.
Definition
TgcReadoutGeomTool.h:58
MuonGMR4::TgcReadoutGeomTool::FactoryCache::parameterBook
ParamBookTable parameterBook
Definition
TgcReadoutGeomTool.h:50
MuonGMR4::TgcReadoutGeomTool::FactoryCache::stripReadouts
RadialStripDesignSet stripReadouts
Set to share equivalent RadialStripDesigns across multiple gas gaps.
Definition
TgcReadoutGeomTool.h:56
MuonGMR4::TgcReadoutGeomTool::FactoryCache::readoutLayers
ReadoutTable readoutLayers
Definition
TgcReadoutGeomTool.h:54
MuonGMR4::TgcReadoutGeomTool::FactoryCache::ParamBookTable
std::unordered_map< std::string, wTgcTable > ParamBookTable
Parameter map of the Tgc technology.
Definition
TgcReadoutGeomTool.h:49
MuonGMR4::TgcReadoutGeomTool::FactoryCache::ReadoutTable
std::map< std::string, StripLayerPtr > ReadoutTable
Map to share the StripLayer readout objects across multiple readout elements.
Definition
TgcReadoutGeomTool.h:53
MuonGMR4::TgcReadoutGeomTool::FactoryCache::trfNodeMaker
GeoDeDuplicator trfNodeMaker
Helper object to turn Amg::Transforms into GeoModel tree transform nodes.
Definition
TgcReadoutGeomTool.h:60
MuonGMR4::TgcReadoutGeomTool::wTgcTable
Helper struct to cache the essential readout parameters from the WTGC tables.
Definition
TgcReadoutGeomTool.h:38
MuonGMR4::TgcReadoutGeomTool::wTgcTable::gasGap
unsigned int gasGap
Definition
TgcReadoutGeomTool.h:43
MuonGMR4::TgcReadoutGeomTool::wTgcTable::bottomStripPos
std::vector< double > bottomStripPos
Definition
TgcReadoutGeomTool.h:39
MuonGMR4::TgcReadoutGeomTool::wTgcTable::wireGangs
std::vector< unsigned int > wireGangs
Definition
TgcReadoutGeomTool.h:41
MuonGMR4::TgcReadoutGeomTool::wTgcTable::topStripPos
std::vector< double > topStripPos
Definition
TgcReadoutGeomTool.h:40
MuonGMR4::TgcReadoutGeomTool::wTgcTable::wirePitch
double wirePitch
Definition
TgcReadoutGeomTool.h:42
Generated on
for ATLAS Offline Software by
1.17.0