ATLAS Offline Software
Loading...
Searching...
No Matches
PLRDetectorTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef PLRGeoModelXml_PLRDETECTORTOOL_H
6#define PLRGeoModelXml_PLRDETECTORTOOL_H
7//
8// Create an Athena Tool; handle Athena services and Tools needed for
9// building the PLR geometry.
10// This is the entry to the PLRGeoModelXml package.
11//
15
16#include <memory>
17
18class GeoPhysVol;
19
20namespace InDetDD
21{
23}
24
26{
27public:
28 PLRDetectorTool(const std::string &type, const std::string &name, const IInterface *parent);
29 virtual ~PLRDetectorTool() = default;
30 virtual StatusCode create() override final;
31 virtual StatusCode clear() override final;
32 virtual StatusCode registerCallback ATLAS_NOT_THREAD_SAFE () override final;
33 virtual StatusCode align ATLAS_NOT_THREAD_SAFE (IOVSVC_CALLBACK_ARGS_P(I,keys)) override final;
34
37 std::unique_ptr<InDetDD::SiCommonItems> m_commonItems{};
39
40 Gaudi::Property<bool> m_alignable{this, "Alignable", false, ""};
41 // This should be changed to an ITk-specific one in future, once available
42 Gaudi::Property<std::string> m_alignmentFolderName{this, "AlignmentFolderName", "/Indet/Align", ""};
43
44 // If the PLR should be built inside the pixel, it should use a different entry point
45 // in the geometry via the GeoModelXml "envelope" mechanism
46 Gaudi::Property<std::string> m_containingDetectorName{this, "ContainingDetector", "", "Containing detector name"};
47 Gaudi::Property<std::string> m_envelopeVolumeName{this, "EnvelopeVolume", "ITkPixelDetector", "Envelope volume name"};
48
49 // Print out how many of each layer/eta/phi etc. have been set up.
50 // Not yet implemented here... may not be necessary in the end?
51 void doNumerology();
52};
53
54#endif // PLRGEOMODELXML_PLRDETECTORTOOL_H
#define IOVSVC_CALLBACK_ARGS_P(I, K)
short hand for IOVSvc call back argument list, to be used when access to formal arguments is needed,...
Definition IOVSvcDefs.h:42
#define I(x, y, z)
Definition MD5.cxx:116
GeoModelXmlTool(const std::string &type, const std::string &name, const IInterface *parent)
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
std::unique_ptr< InDetDD::SiCommonItems > m_commonItems
virtual StatusCode registerCallback ATLAS_NOT_THREAD_SAFE() override final
PLRDetectorTool(const std::string &type, const std::string &name, const IInterface *parent)
WaferTree m_moduleTree
Gaudi::Property< bool > m_alignable
Gaudi::Property< std::string > m_alignmentFolderName
const InDetDD::PixelDetectorManager * m_detManager
Gaudi::Property< std::string > m_containingDetectorName
Gaudi::Property< std::string > m_envelopeVolumeName
virtual StatusCode create() override final
virtual StatusCode clear() override final
virtual ~PLRDetectorTool()=default
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
Message Stream Member.
#define private