ATLAS Offline Software
TRT_DetectorTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRT_GEOMODEL_TRTDETECTORTOOL_H
6 #define TRT_GEOMODEL_TRTDETECTORTOOL_H
7 
10 
14 
15 #include "GaudiKernel/ToolHandle.h"
16 #include "GaudiKernel/ServiceHandle.h"
18 #include <string>
19 
20 namespace InDetDD {
21  class TRT_DetectorManager;
22 }
23 
24 class TRT_DetectorTool final : public GeoModelTool {
25 
26 public:
27  // Standard Constructor
28  TRT_DetectorTool( const std::string& type, const std::string& name, const IInterface* parent );
29 
30  // Standard Destructor
31  virtual ~TRT_DetectorTool() = default;
32 
33  virtual StatusCode create() override final;
34  virtual StatusCode clear() override final;
35 
36  // Register callback function on CondDB object
37  virtual StatusCode registerCallback ATLAS_NOT_THREAD_SAFE () override final;
38 
39  // Callback function itself
40  virtual StatusCode align(IOVSVC_CALLBACK_ARGS) override final;
41 
42 private:
43  Gaudi::Property<bool> m_useOldActiveGasMixture{this,"UseOldActiveGasMixture",false};
44  Gaudi::Property<bool> m_DC2CompatibleBarrelCoordinates{this,"DC2CompatibleBarrelCoordinates",false};
45  Gaudi::Property<int> m_overridedigversion{this,"OverrideDigVersion",-999};
46  Gaudi::Property<bool> m_alignable{this,"Alignable",true};
47  Gaudi::Property<bool> m_useDynamicAlignFolders{this,"useDynamicAlignFolders",false};
48 
49  // Set to true to use argon. DEFAULT VALUE is true. Overridden by DOARGONMIXTURE switch
50  Gaudi::Property<bool> m_doArgonMixture{this,"DoXenonArgonMixture",true};
51  // Set to true to use krypton. DEFAULT VALUE is true. Overridden by DOKRYPTONMIXTURE switch
52  Gaudi::Property<bool> m_doKryptonMixture{this,"DoKryptonMixture",true};
53 
54  ServiceHandle< IGeoDbTagSvc > m_geoDbTagSvc{this,"GeoDbTagSvc","GeoDbTagSvc"};
55  ServiceHandle< IGeometryDBSvc > m_geometryDBSvc{this,"GeometryDBSvc","InDetGeometryDBSvc"};
56  ToolHandle<ITRT_StrawStatusSummaryTool> m_sumTool{"TRT_StrawStatusSummaryTool", this}; // added for Argon
57 
60  bool m_initialLayout{true};
61 };
62 
63 #endif // TRT_GEOMODEL_TRTDETECTORTOOL_H
IGeometryDBSvc.h
InDetDD::AthenaComps
Class to hold various Athena components.
Definition: InDetDDAthenaComps.h:21
TRT_DetectorTool::m_alignable
Gaudi::Property< bool > m_alignable
Definition: TRT_DetectorTool.h:46
GeoModelTool.h
TRT_DetectorTool::m_manager
const InDetDD::TRT_DetectorManager * m_manager
Definition: TRT_DetectorTool.h:58
IOVSVC_CALLBACK_ARGS
#define IOVSVC_CALLBACK_ARGS
short hand for IOVSvc call back argument list, to be used when no access to formal arguments is neede...
Definition: IOVSvcDefs.h:24
Property
Support class for PropertyMgr.
Definition: Property.h:23
TRT_DetectorTool::align
virtual StatusCode align(IOVSVC_CALLBACK_ARGS) override final
Definition: TRT_DetectorTool.cxx:258
TRT_DetectorTool::TRT_DetectorTool
TRT_DetectorTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TRT_DetectorTool.cxx:24
TRT_DetectorTool
Definition: TRT_DetectorTool.h:24
ITRT_StrawStatusSummaryTool.h
abstract interface to TRT straw status constants
TRT_DetectorTool::m_DC2CompatibleBarrelCoordinates
Gaudi::Property< bool > m_DC2CompatibleBarrelCoordinates
Definition: TRT_DetectorTool.h:44
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
test_pyathena.parent
parent
Definition: test_pyathena.py:15
GeoModelTool
Definition: GeoModelTool.h:17
InDetDDAthenaComps.h
TRT_DetectorTool::m_athenaComps
InDetDD::AthenaComps m_athenaComps
Definition: TRT_DetectorTool.h:59
TRT_DetectorTool::ATLAS_NOT_THREAD_SAFE
virtual StatusCode registerCallback ATLAS_NOT_THREAD_SAFE() override final
TRT_DetectorTool::m_initialLayout
bool m_initialLayout
Definition: TRT_DetectorTool.h:60
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
TRT_DetectorTool::~TRT_DetectorTool
virtual ~TRT_DetectorTool()=default
TRT_DetectorTool::m_overridedigversion
Gaudi::Property< int > m_overridedigversion
Definition: TRT_DetectorTool.h:45
InDetDD::TRT_DetectorManager
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
Definition: TRT_DetectorManager.h:69
TRT_DetectorTool::create
virtual StatusCode create() override final
Definition: TRT_DetectorTool.cxx:31
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TRT_DetectorTool::m_doKryptonMixture
Gaudi::Property< bool > m_doKryptonMixture
Definition: TRT_DetectorTool.h:52
Gaudi
=============================================================================
Definition: CaloGPUClusterAndCellDataMonitorOptions.h:273
TRT_DetectorTool::m_useOldActiveGasMixture
Gaudi::Property< bool > m_useOldActiveGasMixture
Definition: TRT_DetectorTool.h:43
TRT_DetectorTool::m_doArgonMixture
Gaudi::Property< bool > m_doArgonMixture
Definition: TRT_DetectorTool.h:50
TRT_DetectorTool::m_sumTool
ToolHandle< ITRT_StrawStatusSummaryTool > m_sumTool
Definition: TRT_DetectorTool.h:56
TRT_DetectorTool::m_geoDbTagSvc
ServiceHandle< IGeoDbTagSvc > m_geoDbTagSvc
Definition: TRT_DetectorTool.h:54
TRT_DetectorTool::m_useDynamicAlignFolders
Gaudi::Property< bool > m_useDynamicAlignFolders
Definition: TRT_DetectorTool.h:47
checker_macros.h
Define macros for attributes used to control the static checker.
TRT_DetectorTool::clear
virtual StatusCode clear() override final
Definition: TRT_DetectorTool.cxx:246
TRT_DetectorTool::m_geometryDBSvc
ServiceHandle< IGeometryDBSvc > m_geometryDBSvc
Definition: TRT_DetectorTool.h:55
IGeoDbTagSvc.h
ServiceHandle< IGeoDbTagSvc >