ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
TRT_GeoModel
src
TRTDetectorFactory_Lite.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
10
11
#ifndef TRT_GEOMODEL_TRTDETECTORFACTORY_LITE_H
12
#define TRT_GEOMODEL_TRTDETECTORFACTORY_LITE_H
13
14
#include "
TRTParameterInterface.h
"
15
#include "
TRTStrawStatusAccessor.h
"
16
17
#include "
InDetGeoModelUtils/InDetDetectorFactoryBase.h
"
18
#include "
TRT_ReadoutGeometry/TRT_DetectorManager.h
"
//covariant return type
19
20
#include <memory>
21
22
class
GeoPhysVol;
23
class
GeoFullPhysVol;
24
25
namespace
GeoModelIO
{
26
class
ReadGeoModel;
27
}
28
29
class
TRTDetectorFactory_Lite
:
public
InDetDD::DetectorFactoryBase
{
30
31
public
:
32
33
//--------------------------Public Interface:----------------------------
34
// Constructor:
35
TRTDetectorFactory_Lite
(GeoModelIO::ReadGeoModel *sqliteReader,
36
InDetDD::AthenaComps
* athenaComps,
37
std::unique_ptr<const TRTStrawStatusAccessor> statusAccessor,
38
bool
useOldActiveGasMixture,
39
bool
DC2CompatibleBarrelCoordinates,
40
bool
alignable,
41
bool
useDynamicAlignmentFolders);
42
43
// Destructor:
44
~TRTDetectorFactory_Lite
() =
default
;
45
46
// Creation of geometry:
47
virtual
void
create
(GeoPhysVol *world)
override
;
48
49
// Access to the results:
50
virtual
const
InDetDD::TRT_DetectorManager
*
getDetectorManager
()
const override
;
51
//------------------------------------------------------------------------
52
53
//---------------------------Illegal operations:--------------------------
54
const
TRTDetectorFactory_Lite
&
operator=
(
const
TRTDetectorFactory_Lite
&right) =
delete
;
55
TRTDetectorFactory_Lite
(
const
TRTDetectorFactory_Lite
&right) =
delete
;
56
//------------------------------------------------------------------------
57
58
private
:
59
60
double
activeGasZPosition
(
bool
hasLargeDeadRegion=
false
)
const
;
61
62
void
setEndcapTransformField
(
size_t
w);
63
64
// These methods update the gas.
65
void
refreshGasEndcap
(
int
strawStatusHT, GeoVPhysVol *strawPlane);
66
void
refreshGasBarrel
(
int
strawStatusHT, GeoVPhysVol *shell);
67
68
// private member data:
69
GeoModelIO::ReadGeoModel *
m_sqliteReader
{};
70
InDetDD::TRT_DetectorManager
*
m_detectorManager
=
nullptr
;
// ownership handed to calleer.
71
std::unique_ptr<TRTParameterInterface>
m_data
;
72
std::unique_ptr<const TRTStrawStatusAccessor>
m_statusAccessor
;
73
74
bool
m_useOldActiveGasMixture
{};
75
bool
m_DC2CompatibleBarrelCoordinates
{};
76
bool
m_alignable
{};
77
bool
m_useDynamicAlignFolders
{};
78
79
GeoIntrusivePtr<const GeoMaterial>
m_xenonGas
{
nullptr
};
80
GeoIntrusivePtr<const GeoMaterial>
m_argonGas
{
nullptr
};
81
82
};
83
84
#endif
// TRTDetectorFactory_Lite_h
InDetDetectorFactoryBase.h
TRTParameterInterface.h
TRTStrawStatusAccessor.h
TRT_DetectorManager.h
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_Lite::create
virtual void create(GeoPhysVol *world) override
Definition
TRTDetectorFactory_Lite.cxx:88
TRTDetectorFactory_Lite::getDetectorManager
virtual const InDetDD::TRT_DetectorManager * getDetectorManager() const override
Definition
TRTDetectorFactory_Lite.cxx:69
TRTDetectorFactory_Lite::refreshGasEndcap
void refreshGasEndcap(int strawStatusHT, GeoVPhysVol *strawPlane)
Definition
TRTDetectorFactory_Lite.cxx:1176
TRTDetectorFactory_Lite::m_argonGas
GeoIntrusivePtr< const GeoMaterial > m_argonGas
Definition
TRTDetectorFactory_Lite.h:80
TRTDetectorFactory_Lite::m_detectorManager
InDetDD::TRT_DetectorManager * m_detectorManager
Definition
TRTDetectorFactory_Lite.h:70
TRTDetectorFactory_Lite::TRTDetectorFactory_Lite
TRTDetectorFactory_Lite(const TRTDetectorFactory_Lite &right)=delete
TRTDetectorFactory_Lite::m_statusAccessor
std::unique_ptr< const TRTStrawStatusAccessor > m_statusAccessor
Definition
TRTDetectorFactory_Lite.h:72
TRTDetectorFactory_Lite::m_alignable
bool m_alignable
Definition
TRTDetectorFactory_Lite.h:76
TRTDetectorFactory_Lite::~TRTDetectorFactory_Lite
~TRTDetectorFactory_Lite()=default
TRTDetectorFactory_Lite::m_xenonGas
GeoIntrusivePtr< const GeoMaterial > m_xenonGas
Definition
TRTDetectorFactory_Lite.h:79
TRTDetectorFactory_Lite::setEndcapTransformField
void setEndcapTransformField(size_t w)
Definition
TRTDetectorFactory_Lite.cxx:1129
TRTDetectorFactory_Lite::m_data
std::unique_ptr< TRTParameterInterface > m_data
Definition
TRTDetectorFactory_Lite.h:71
TRTDetectorFactory_Lite::m_DC2CompatibleBarrelCoordinates
bool m_DC2CompatibleBarrelCoordinates
Definition
TRTDetectorFactory_Lite.h:75
TRTDetectorFactory_Lite::operator=
const TRTDetectorFactory_Lite & operator=(const TRTDetectorFactory_Lite &right)=delete
TRTDetectorFactory_Lite::activeGasZPosition
double activeGasZPosition(bool hasLargeDeadRegion=false) const
Definition
TRTDetectorFactory_Lite.cxx:1116
TRTDetectorFactory_Lite::m_useDynamicAlignFolders
bool m_useDynamicAlignFolders
Definition
TRTDetectorFactory_Lite.h:77
TRTDetectorFactory_Lite::refreshGasBarrel
void refreshGasBarrel(int strawStatusHT, GeoVPhysVol *shell)
Definition
TRTDetectorFactory_Lite.cxx:1196
TRTDetectorFactory_Lite::TRTDetectorFactory_Lite
TRTDetectorFactory_Lite(GeoModelIO::ReadGeoModel *sqliteReader, InDetDD::AthenaComps *athenaComps, std::unique_ptr< const TRTStrawStatusAccessor > statusAccessor, bool useOldActiveGasMixture, bool DC2CompatibleBarrelCoordinates, bool alignable, bool useDynamicAlignmentFolders)
Definition
TRTDetectorFactory_Lite.cxx:47
TRTDetectorFactory_Lite::m_sqliteReader
GeoModelIO::ReadGeoModel * m_sqliteReader
Definition
TRTDetectorFactory_Lite.h:69
TRTDetectorFactory_Lite::m_useOldActiveGasMixture
bool m_useOldActiveGasMixture
Definition
TRTDetectorFactory_Lite.h:74
GeoModelIO
Definition
IGeoDbTagSvc.h:12
Generated on
for ATLAS Offline Software by
1.17.0