ATLAS Offline Software
MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.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 MUONGEOMODEL_MUONDETECTORTOOL_H
6 #define MUONGEOMODEL_MUONDETECTORTOOL_H
7 
8 #include "GeoPrimitives/GeoPrimitives.h" // need to include Amg stuff first to avoid that another Eigen implementation is included first which breaks compilation
10 #include "GeoModelKernel/GeoPhysVol.h"
11 
12 namespace MuonGM {
13  class MuonDetectorManager;
14 }
15 
16 class MuonDetectorTool final : public GeoModelTool {
17 
18  public:
19  // Standard Constructor
20  MuonDetectorTool(const std::string &type, const std::string &name, const IInterface *parent);
21 
22  // Standard Destructor
23  virtual ~MuonDetectorTool() override final;
24 
25  // initialize - needed to retrieve the alignment Tool
26  virtual StatusCode initialize() override;
27 
28  // build the geometry
29  virtual StatusCode create() override final;
30  StatusCode createFactory(MuonGM::MuonDetectorManager * &, GeoPhysVol* world ) const;
31 
32  // Dereference tree tops and drop readout objects
33  virtual StatusCode clear() override final;
34 
35  private:
36 
37  Gaudi::Property<std::string> m_layout{this, "LayoutName", "R.08" };
38  Gaudi::Property<bool> m_accessCondDb{this,"UseConditionDb", true};
39  Gaudi::Property<bool> m_asciiCondData{this,"UseAsciiConditionData", false};
40 
41  Gaudi::Property<bool> m_includeCutouts{this, "IncludeCutouts", false};
42  Gaudi::Property<bool> m_includeCutoutsBog{this, "IncludeCutoutsBog", false };
43  Gaudi::Property<bool> m_includeCtbBis{this, "IncludeCtbBis" , false };
44 
45  Gaudi::Property<bool> m_dumpMemoryBreakDown{this, "DumpMemoryBreakDown", false};
46  Gaudi::Property<bool> m_enableFineClashFixing{this, "EnableFineClashFixing", false};
47  Gaudi::Property<bool> m_hasCSC{this,"HasCSC", true};
48  Gaudi::Property<bool> m_hasSTgc{this, "HasSTgc", true};
49  Gaudi::Property<bool> m_hasMM{this, "HasMM", true};
50 
51  Gaudi::Property<bool> m_stationSelection{this, "StationSelection", false};
52  Gaudi::Property<std::vector<std::string>> m_selectedStations{this, "SelectedStations", {}};
53  Gaudi::Property<std::vector<int>> m_selectedStEta{this,"SelectedStJzz",{}};
54  Gaudi::Property<std::vector<int>> m_selectedStPhi{this,"SelectedStJff",{}};
55 
56 
57  Gaudi::Property<int> m_controlAlines{this, "ControlAlines", 111111, "allowed values are 0 - 111111"};
58  Gaudi::Property<bool> m_dumpAlines{this, "DumpAlines", false};
59  Gaudi::Property<std::string> m_altAsztFile{this, "AlternateASZTFile", "" };
60  Gaudi::Property<int> m_minimalGeoFlag{this, "MinimalGeoFlag", 0};
61 
62  Gaudi::Property<bool> m_useCscIntAlines{this, "EnableCscInternalAlignment", false};
63  Gaudi::Property<int> m_controlCscIntAlines{this, "ControlCscInternalAlines", 111111 , "allowed values are 0 - 111111"};
64  Gaudi::Property<bool> m_dumpCscIntAlines{this, "DumpCscInternalAlines", false};
65  Gaudi::Property<bool> m_useCscIntAlinesFromGM{this, "UseIlinesFromGM", true};
66  Gaudi::Property<std::string> m_altCscIntAlinesFile{this, "AlternateCscIntAlignFile", ""};
67 
68  Gaudi::Property<bool> m_beeNoShiftInDefault{this, "BEENoShift", false, "Turn off the initial 111 mm shift in BEE station (real data)"};
70 };
71 
72 #endif // GEOMODELEXAMPLES_TOYDETECTORTOOL_H
MuonDetectorTool::m_hasCSC
Gaudi::Property< bool > m_hasCSC
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:47
MuonDetectorTool::m_stationSelection
Gaudi::Property< bool > m_stationSelection
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:51
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
MuonDetectorTool::m_manager
MuonGM::MuonDetectorManager * m_manager
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:69
MuonDetectorTool::MuonDetectorTool
MuonDetectorTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor(s)
Definition: MuonDetDescr/MuonGeoModel/src/MuonDetectorTool.cxx:31
MuonDetectorTool::m_controlCscIntAlines
Gaudi::Property< int > m_controlCscIntAlines
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:63
MuonDetectorTool::m_beeNoShiftInDefault
Gaudi::Property< bool > m_beeNoShiftInDefault
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:68
MuonDetectorTool::m_dumpMemoryBreakDown
Gaudi::Property< bool > m_dumpMemoryBreakDown
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:45
GeoModelTool.h
MuonDetectorTool::m_altAsztFile
Gaudi::Property< std::string > m_altAsztFile
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:59
MuonDetectorTool::clear
virtual StatusCode clear() override final
Definition: MuonDetDescr/MuonGeoModel/src/MuonDetectorTool.cxx:307
MuonDetectorTool::m_accessCondDb
Gaudi::Property< bool > m_accessCondDb
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:38
MuonDetectorTool::m_controlAlines
Gaudi::Property< int > m_controlAlines
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:57
MuonDetectorTool::m_useCscIntAlines
Gaudi::Property< bool > m_useCscIntAlines
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:62
MuonDetectorTool::m_asciiCondData
Gaudi::Property< bool > m_asciiCondData
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:39
GeoPrimitives.h
MuonDetectorTool::m_enableFineClashFixing
Gaudi::Property< bool > m_enableFineClashFixing
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:46
MuonDetectorTool::m_dumpCscIntAlines
Gaudi::Property< bool > m_dumpCscIntAlines
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:64
MuonDetectorTool::create
virtual StatusCode create() override final
Create the Detector Node corresponding to this tool.
Definition: MuonDetDescr/MuonGeoModel/src/MuonDetectorTool.cxx:50
MuonDetectorTool::m_hasSTgc
Gaudi::Property< bool > m_hasSTgc
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:48
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
MuonDetectorTool::m_selectedStEta
Gaudi::Property< std::vector< int > > m_selectedStEta
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:53
MuonDetectorTool::m_selectedStations
Gaudi::Property< std::vector< std::string > > m_selectedStations
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:52
MuonDetectorTool::m_includeCtbBis
Gaudi::Property< bool > m_includeCtbBis
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:43
MuonDetectorTool::m_dumpAlines
Gaudi::Property< bool > m_dumpAlines
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:58
MuonDetectorTool::m_includeCutoutsBog
Gaudi::Property< bool > m_includeCutoutsBog
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:42
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MuonDetectorTool::m_selectedStPhi
Gaudi::Property< std::vector< int > > m_selectedStPhi
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:54
MuonDetectorTool::initialize
virtual StatusCode initialize() override
Definition: MuonDetDescr/MuonGeoModel/src/MuonDetectorTool.cxx:36
MuonDetectorTool
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:16
MuonDetectorTool::m_layout
Gaudi::Property< std::string > m_layout
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:37
MuonDetectorTool::m_hasMM
Gaudi::Property< bool > m_hasMM
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:49
MuonDetectorTool::m_minimalGeoFlag
Gaudi::Property< int > m_minimalGeoFlag
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:60
MuonDetectorTool::~MuonDetectorTool
virtual ~MuonDetectorTool() override final
Definition: MuonDetDescr/MuonGeoModel/src/MuonDetectorTool.cxx:40
MuonDetectorTool::m_useCscIntAlinesFromGM
Gaudi::Property< bool > m_useCscIntAlinesFromGM
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:65
MuonDetectorTool::createFactory
StatusCode createFactory(MuonGM::MuonDetectorManager *&, GeoPhysVol *world) const
Definition: MuonDetDescr/MuonGeoModel/src/MuonDetectorTool.cxx:94
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:49
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
MuonDetectorTool::m_altCscIntAlinesFile
Gaudi::Property< std::string > m_altCscIntAlinesFile
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:66
MuonDetectorTool::m_includeCutouts
Gaudi::Property< bool > m_includeCutouts
Definition: MuonDetDescr/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h:41