ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
TRT_GeoModel
src
TRTDetectorFactory_Full.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
12
13
14
#ifndef TRT_GEOMODEL_TRTDETECTORFACTORY_FULL_H
15
#define TRT_GEOMODEL_TRTDETECTORFACTORY_FULL_H
16
17
#include "
TRTParameterInterface.h
"
18
#include "
TRTStrawStatusAccessor.h
"
19
20
#include "
TRT_ReadoutGeometry/TRT_DetectorManager.h
"
21
#include "
TRT_ConditionsServices/ITRT_StrawStatusSummaryTool.h
"
//for Argon
22
23
#include "
InDetGeoModelUtils/InDetDetectorFactoryBase.h
"
24
#include "
InDetGeoModelUtils/InDetMaterialManager.h
"
25
26
#include "GeoModelKernel/GeoDefinitions.h"
27
28
#include <memory>
29
30
class
GeoPhysVol;
31
class
GeoFullPhysVol;
32
33
class
TRTDetectorFactory_Full
:
public
InDetDD::DetectorFactoryBase
{
34
35
public
:
36
37
//--------------------------Public Interface:--------------------------------
38
// Constructor:
39
TRTDetectorFactory_Full
(
InDetDD::AthenaComps
* athenaComps,
40
const
ITRT_StrawStatusSummaryTool
* sumTool,
41
std::unique_ptr<const TRTStrawStatusAccessor> statusAccessor,
42
bool
useOldActiveGasMixture,
43
bool
DC2CompatibleBarrelCoordinates,
44
bool
alignable,
45
bool
doArgon,
46
bool
doKrypton,
47
bool
useDynamicAlignmentFolders);
48
49
// Destructor:
50
~TRTDetectorFactory_Full
() =
default
;
51
52
// Creation of geometry:
53
virtual
void
create
(GeoPhysVol *world)
override
;
54
55
// Access to the results:
56
virtual
const
InDetDD::TRT_DetectorManager
*
getDetectorManager
()
const override
;
57
//---------------------------------------------------------------------------
58
59
//---------------------------Illegal operations:------------------------------------------
60
61
const
TRTDetectorFactory_Full
&
operator=
(
const
TRTDetectorFactory_Full
&right) =
delete
;
62
TRTDetectorFactory_Full
(
const
TRTDetectorFactory_Full
&right) =
delete
;
63
//----------------------------------------------------------------------------------------
64
65
private
:
66
67
// Gas mixture enumerator
68
enum
ActiveGasMixture
69
{
70
GM_XENON
,
71
GM_KRYPTON
,
72
GM_ARGON
73
};
74
75
ActiveGasMixture
DecideGasMixture
(
int
strawStatusHT);
76
77
// private helper methods:
78
const
GeoShape*
makeModule
(
double
length
79
,
const
GeoTrf::Vector2D& corner1
80
,
const
GeoTrf::Vector2D& corner2
81
,
const
GeoTrf::Vector2D& corner3
82
,
const
GeoTrf::Vector2D& corner4
83
, GeoTrf::Transform3D & absolutePosition
84
,
double
shrinkDist=0)
const
;
85
86
GeoPhysVol*
makeStraw
(
bool
hasLargeDeadRegion=
false
87
,
ActiveGasMixture
gasMixture =
GM_XENON
);
88
89
GeoFullPhysVol*
makeStrawPlane
(
size_t
w
90
,
ActiveGasMixture
gasMixture =
GM_XENON
);
91
92
// private member data:
93
InDetDD::TRT_DetectorManager
*
m_detectorManager
=
nullptr
;
// ownership handed to calleer.
94
std::unique_ptr<InDetMaterialManager>
m_materialManager
;
95
std::unique_ptr<TRTParameterInterface>
m_data
;
96
std::unique_ptr<const TRTStrawStatusAccessor>
m_statusAccessor
;
97
const
ITRT_StrawStatusSummaryTool
*
m_sumTool
{
nullptr
};
98
99
bool
m_useOldActiveGasMixture
;
100
bool
m_DC2CompatibleBarrelCoordinates
;
101
bool
m_alignable
;
102
bool
m_strawsvcavailable
;
103
bool
m_doArgon
;
104
bool
m_doKrypton
;
105
bool
m_useDynamicAlignFolders
;
106
107
GeoFullPhysVol*
m_type1Planes
[3] = {
nullptr
,
nullptr
,
nullptr
};
108
GeoFullPhysVol*
m_type2Planes
[3] = {
nullptr
,
nullptr
,
nullptr
};
109
};
110
111
#endif
// TRTDetectorFactory_Full_h
length
double length(const pvec &v)
Definition
FPGATrackSimLLPDoubletHoughTransformTool.cxx:26
ITRT_StrawStatusSummaryTool.h
abstract interface to TRT straw status constants
InDetDetectorFactoryBase.h
InDetMaterialManager.h
TRTParameterInterface.h
TRTStrawStatusAccessor.h
TRT_DetectorManager.h
ITRT_StrawStatusSummaryTool
abstract interface to TRT straw status constants
Definition
ITRT_StrawStatusSummaryTool.h:27
InDetDD::AthenaComps
Class to hold various Athena components.
Definition
InDetDDAthenaComps.h:21
InDetDD::DetectorFactoryBase
Definition
InDetDetectorFactoryBase.h:20
InDetDD::TRT_DetectorManager
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
Definition
TRT_DetectorManager.h:63
TRTDetectorFactory_Full::makeStrawPlane
GeoFullPhysVol * makeStrawPlane(size_t w, ActiveGasMixture gasMixture=GM_XENON)
Definition
TRTDetectorFactory_Full.cxx:2201
TRTDetectorFactory_Full::m_type1Planes
GeoFullPhysVol * m_type1Planes[3]
Definition
TRTDetectorFactory_Full.h:107
TRTDetectorFactory_Full::m_sumTool
const ITRT_StrawStatusSummaryTool * m_sumTool
Definition
TRTDetectorFactory_Full.h:97
TRTDetectorFactory_Full::ActiveGasMixture
ActiveGasMixture
Definition
TRTDetectorFactory_Full.h:69
TRTDetectorFactory_Full::GM_ARGON
@ GM_ARGON
Definition
TRTDetectorFactory_Full.h:72
TRTDetectorFactory_Full::GM_KRYPTON
@ GM_KRYPTON
Definition
TRTDetectorFactory_Full.h:71
TRTDetectorFactory_Full::GM_XENON
@ GM_XENON
Definition
TRTDetectorFactory_Full.h:70
TRTDetectorFactory_Full::m_statusAccessor
std::unique_ptr< const TRTStrawStatusAccessor > m_statusAccessor
Definition
TRTDetectorFactory_Full.h:96
TRTDetectorFactory_Full::m_type2Planes
GeoFullPhysVol * m_type2Planes[3]
Definition
TRTDetectorFactory_Full.h:108
TRTDetectorFactory_Full::m_detectorManager
InDetDD::TRT_DetectorManager * m_detectorManager
Definition
TRTDetectorFactory_Full.h:93
TRTDetectorFactory_Full::create
virtual void create(GeoPhysVol *world) override
Definition
TRTDetectorFactory_Full.cxx:131
TRTDetectorFactory_Full::makeModule
const GeoShape * makeModule(double length, const GeoTrf::Vector2D &corner1, const GeoTrf::Vector2D &corner2, const GeoTrf::Vector2D &corner3, const GeoTrf::Vector2D &corner4, GeoTrf::Transform3D &absolutePosition, double shrinkDist=0) const
Definition
TRTDetectorFactory_Full.cxx:1961
TRTDetectorFactory_Full::getDetectorManager
virtual const InDetDD::TRT_DetectorManager * getDetectorManager() const override
Definition
TRTDetectorFactory_Full.cxx:112
TRTDetectorFactory_Full::m_useOldActiveGasMixture
bool m_useOldActiveGasMixture
Definition
TRTDetectorFactory_Full.h:99
TRTDetectorFactory_Full::m_useDynamicAlignFolders
bool m_useDynamicAlignFolders
Definition
TRTDetectorFactory_Full.h:105
TRTDetectorFactory_Full::TRTDetectorFactory_Full
TRTDetectorFactory_Full(InDetDD::AthenaComps *athenaComps, const ITRT_StrawStatusSummaryTool *sumTool, std::unique_ptr< const TRTStrawStatusAccessor > statusAccessor, bool useOldActiveGasMixture, bool DC2CompatibleBarrelCoordinates, bool alignable, bool doArgon, bool doKrypton, bool useDynamicAlignmentFolders)
Definition
TRTDetectorFactory_Full.cxx:83
TRTDetectorFactory_Full::m_strawsvcavailable
bool m_strawsvcavailable
Definition
TRTDetectorFactory_Full.h:102
TRTDetectorFactory_Full::m_materialManager
std::unique_ptr< InDetMaterialManager > m_materialManager
Definition
TRTDetectorFactory_Full.h:94
TRTDetectorFactory_Full::m_data
std::unique_ptr< TRTParameterInterface > m_data
Definition
TRTDetectorFactory_Full.h:95
TRTDetectorFactory_Full::m_doKrypton
bool m_doKrypton
Definition
TRTDetectorFactory_Full.h:104
TRTDetectorFactory_Full::~TRTDetectorFactory_Full
~TRTDetectorFactory_Full()=default
TRTDetectorFactory_Full::m_doArgon
bool m_doArgon
Definition
TRTDetectorFactory_Full.h:103
TRTDetectorFactory_Full::m_DC2CompatibleBarrelCoordinates
bool m_DC2CompatibleBarrelCoordinates
Definition
TRTDetectorFactory_Full.h:100
TRTDetectorFactory_Full::m_alignable
bool m_alignable
Definition
TRTDetectorFactory_Full.h:101
TRTDetectorFactory_Full::makeStraw
GeoPhysVol * makeStraw(bool hasLargeDeadRegion=false, ActiveGasMixture gasMixture=GM_XENON)
Definition
TRTDetectorFactory_Full.cxx:2080
TRTDetectorFactory_Full::operator=
const TRTDetectorFactory_Full & operator=(const TRTDetectorFactory_Full &right)=delete
TRTDetectorFactory_Full::DecideGasMixture
ActiveGasMixture DecideGasMixture(int strawStatusHT)
Definition
TRTDetectorFactory_Full.cxx:2340
TRTDetectorFactory_Full::TRTDetectorFactory_Full
TRTDetectorFactory_Full(const TRTDetectorFactory_Full &right)=delete
Generated on
for ATLAS Offline Software by
1.17.0