ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonPhaseII
MuonDetDescr
MuonGeoModelR4
src
sTgcReadoutGeomTool.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_STGCREAOUDGEOMTOOL_H
6
#define MUONGEOMODELR4_STGCREAOUDGEOMTOOL_H
7
8
#include <
AthenaBaseComps/AthAlgTool.h
>
9
#include <
MuonReadoutGeometryR4/sTgcReadoutElement.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
namespace
MuonGMR4
{
18
19
class
sTgcReadoutGeomTool
:
public
extends<AthAlgTool, IMuonReadoutGeomTool> {
20
public
:
21
// Constructor
22
using
base_class::base_class;
23
24
25
26
StatusCode
buildReadOutElements
(
MuonDetectorManager
&mgr)
override
final
;
27
28
private
:
29
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
wSTGCTable
{
39
41
int
numStrips
{0};
//nStrips
42
double
stripPitch
{0.};
//stripPitch
43
double
stripWidth
{0.};
//stripWidth
44
std::vector<double>
firstStripPitch
;
//firstStripWidth
45
47
std::vector<int>
numWires
;
//numWires
48
std::vector<int>
firstWireGroupWidth
;
//firstWireGroupWidth
49
std::vector<int>
numWireGroups
;
//numWireGroups
50
std::vector<double>
wireCutout
;
//wireCutout
51
double
wirePitch
{0.};
//wirePitch
52
double
wireWidth
{0.};
//wireWidth
53
int
wireGroupWidth
{0};
//wireGroupWidth
54
std::vector<double>
firstWirePos
;
//firstWire
55
57
std::vector<int>
numPadEta
;
//nPadH
58
std::vector<int>
numPadPhi
;
//nPadPhi
59
std::vector<double>
firstPadHeight
;
//firstPadH
60
std::vector<double>
padHeight
;
//padH
61
std::vector<int>
PadPhiShift
;
62
double
anglePadPhi
{0.};
63
std::vector<double>
firstPadPhiDivision
;
64
double
lPadLength
{0.};
65
double
sPadLength
{0.};
66
67
double
yCutout
{0.};
68
double
yCutoutCathode
{0.};
69
double
gasTck
{0.};
//gasTck
70
double
lFrameWidth
{0.};
//ylFrame
71
double
sFrameWidth
{0.};
//ysFrame
72
};
73
74
struct
FactoryCache
{
75
76
using
ParamBookTable
= std::map<std::string, wSTGCTable>;
77
78
std::set<StripDesignPtr, StripDesignSorter>
stripDesigns
{};
79
std::set<WireDesignPtr, WireDesignSorter>
wireGroupDesigns
{};
80
std::set<PadDesignPtr, PadDesignSorter>
padDesigns
{};
81
82
ParamBookTable
parameterBook
{};
84
GeoDeDuplicator
trfNodeMaker
{};
85
86
87
};
88
91
struct
sTgcShape
{
93
double
halfHeight
{0.};
95
double
longWidth
{0.};
97
double
shortWidth
{0.};
99
double
thickness
{0.};
101
double
yCutOut
{0.};
102
};
103
104
sTgcShape
extractParameters
(
const
GeoShape* shape)
const
;
105
107
StatusCode
readParameterBook
(FactoryCache& cache);
109
StatusCode
loadDimensions
(
sTgcReadoutElement::defineArgs
& args, FactoryCache& factory);
110
};
111
112
}
// namespace MuonGMR4
113
#endif
AthAlgTool.h
IGeoDbTagSvc.h
IMuonGeoUtilityTool.h
IMuonIdHelperSvc.h
IMuonReaoutGeomTool.h
sTgcReadoutElement.h
MuonGMR4::MuonDetectorManager
Definition
MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h:62
MuonGMR4::sTgcReadoutGeomTool
Definition
sTgcReadoutGeomTool.h:19
MuonGMR4::sTgcReadoutGeomTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition
sTgcReadoutGeomTool.h:30
MuonGMR4::sTgcReadoutGeomTool::loadDimensions
StatusCode loadDimensions(sTgcReadoutElement::defineArgs &args, FactoryCache &factory)
Loads the chamber dimensions from GeoModel.
Definition
sTgcReadoutGeomTool.cxx:65
MuonGMR4::sTgcReadoutGeomTool::extractParameters
sTgcShape extractParameters(const GeoShape *shape) const
Definition
sTgcReadoutGeomTool.cxx:36
MuonGMR4::sTgcReadoutGeomTool::m_geoUtilTool
PublicToolHandle< IMuonGeoUtilityTool > m_geoUtilTool
Definition
sTgcReadoutGeomTool.h:35
MuonGMR4::sTgcReadoutGeomTool::m_geoDbTagSvc
ServiceHandle< IGeoDbTagSvc > m_geoDbTagSvc
Definition
sTgcReadoutGeomTool.h:33
MuonGMR4::sTgcReadoutGeomTool::readParameterBook
StatusCode readParameterBook(FactoryCache &cache)
Retrieves the auxillary tables from the database.
Definition
sTgcReadoutGeomTool.cxx:281
MuonGMR4::sTgcReadoutGeomTool::buildReadOutElements
StatusCode buildReadOutElements(MuonDetectorManager &mgr) override final
Definition
sTgcReadoutGeomTool.cxx:223
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::sTgcReadoutElement::defineArgs
Definition
MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/sTgcReadoutElement.h:76
MuonGMR4::sTgcReadoutGeomTool::FactoryCache
Definition
sTgcReadoutGeomTool.h:74
MuonGMR4::sTgcReadoutGeomTool::FactoryCache::padDesigns
std::set< PadDesignPtr, PadDesignSorter > padDesigns
Definition
sTgcReadoutGeomTool.h:80
MuonGMR4::sTgcReadoutGeomTool::FactoryCache::parameterBook
ParamBookTable parameterBook
Definition
sTgcReadoutGeomTool.h:82
MuonGMR4::sTgcReadoutGeomTool::FactoryCache::ParamBookTable
std::map< std::string, wSTGCTable > ParamBookTable
Definition
sTgcReadoutGeomTool.h:76
MuonGMR4::sTgcReadoutGeomTool::FactoryCache::stripDesigns
std::set< StripDesignPtr, StripDesignSorter > stripDesigns
Definition
sTgcReadoutGeomTool.h:78
MuonGMR4::sTgcReadoutGeomTool::FactoryCache::trfNodeMaker
GeoDeDuplicator trfNodeMaker
Helper object to turn Amg::Transforms into GeoModel tree transform nodes.
Definition
sTgcReadoutGeomTool.h:84
MuonGMR4::sTgcReadoutGeomTool::FactoryCache::wireGroupDesigns
std::set< WireDesignPtr, WireDesignSorter > wireGroupDesigns
Definition
sTgcReadoutGeomTool.h:79
MuonGMR4::sTgcReadoutGeomTool::sTgcShape
Helper struct to translate the GeoModelShape into the parameters used to construct the readout elemen...
Definition
sTgcReadoutGeomTool.h:91
MuonGMR4::sTgcReadoutGeomTool::sTgcShape::longWidth
double longWidth
Width of the module at the upper edge.
Definition
sTgcReadoutGeomTool.h:95
MuonGMR4::sTgcReadoutGeomTool::sTgcShape::thickness
double thickness
Thickness of the shape along global z.
Definition
sTgcReadoutGeomTool.h:99
MuonGMR4::sTgcReadoutGeomTool::sTgcShape::yCutOut
double yCutOut
Cut out of the module.
Definition
sTgcReadoutGeomTool.h:101
MuonGMR4::sTgcReadoutGeomTool::sTgcShape::halfHeight
double halfHeight
Height of the module in radial direction.
Definition
sTgcReadoutGeomTool.h:93
MuonGMR4::sTgcReadoutGeomTool::sTgcShape::shortWidth
double shortWidth
Width of the module ath the bottom edge.
Definition
sTgcReadoutGeomTool.h:97
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable
Struct to cache the relevant parameters of from the WSTGC tables.
Definition
sTgcReadoutGeomTool.h:38
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::PadPhiShift
std::vector< int > PadPhiShift
Definition
sTgcReadoutGeomTool.h:61
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::padHeight
std::vector< double > padHeight
Definition
sTgcReadoutGeomTool.h:60
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::sFrameWidth
double sFrameWidth
Definition
sTgcReadoutGeomTool.h:71
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::yCutout
double yCutout
Definition
sTgcReadoutGeomTool.h:67
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::lFrameWidth
double lFrameWidth
Definition
sTgcReadoutGeomTool.h:70
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::lPadLength
double lPadLength
Definition
sTgcReadoutGeomTool.h:64
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::stripWidth
double stripWidth
Definition
sTgcReadoutGeomTool.h:43
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::wireWidth
double wireWidth
Definition
sTgcReadoutGeomTool.h:52
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::sPadLength
double sPadLength
Definition
sTgcReadoutGeomTool.h:65
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::firstWirePos
std::vector< double > firstWirePos
Definition
sTgcReadoutGeomTool.h:54
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::yCutoutCathode
double yCutoutCathode
Definition
sTgcReadoutGeomTool.h:68
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::numStrips
int numStrips
Definition
sTgcReadoutGeomTool.h:41
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::stripPitch
double stripPitch
Definition
sTgcReadoutGeomTool.h:42
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::firstPadHeight
std::vector< double > firstPadHeight
Definition
sTgcReadoutGeomTool.h:59
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::gasTck
double gasTck
Definition
sTgcReadoutGeomTool.h:69
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::numPadPhi
std::vector< int > numPadPhi
Definition
sTgcReadoutGeomTool.h:58
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::firstPadPhiDivision
std::vector< double > firstPadPhiDivision
Definition
sTgcReadoutGeomTool.h:63
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::firstStripPitch
std::vector< double > firstStripPitch
Definition
sTgcReadoutGeomTool.h:44
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::numWires
std::vector< int > numWires
Definition
sTgcReadoutGeomTool.h:47
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::wireCutout
std::vector< double > wireCutout
Definition
sTgcReadoutGeomTool.h:50
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::wirePitch
double wirePitch
Definition
sTgcReadoutGeomTool.h:51
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::firstWireGroupWidth
std::vector< int > firstWireGroupWidth
Definition
sTgcReadoutGeomTool.h:48
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::wireGroupWidth
int wireGroupWidth
Definition
sTgcReadoutGeomTool.h:53
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::numPadEta
std::vector< int > numPadEta
Definition
sTgcReadoutGeomTool.h:57
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::anglePadPhi
double anglePadPhi
Definition
sTgcReadoutGeomTool.h:62
MuonGMR4::sTgcReadoutGeomTool::wSTGCTable::numWireGroups
std::vector< int > numWireGroups
Definition
sTgcReadoutGeomTool.h:49
Generated on
for ATLAS Offline Software by
1.17.0