ATLAS Offline Software
Loading...
Searching...
No Matches
ActsStrawLayerBuilder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSGEOMETRY_ACTSSTRAWLAYERBUILDER_H
6#define ACTSGEOMETRY_ACTSSTRAWLAYERBUILDER_H
7
8
9// ATHENA
10
11// PACKAGE
13
14// ACTS
15#include "Acts/Geometry/ILayerBuilder.hpp"
16#include "Acts/Utilities/Logger.hpp"
17
18#include <memory>
19
20class TRT_ID;
21
22namespace InDetDD {
24}
25
26
28
29namespace Acts {
30class Surface;
31class LayerCreator;
32class GeometryContext;
33}
34
36class ActsStrawLayerBuilder : public Acts::ILayerBuilder
37{
38public:
40
41 struct Config
42 {
44 std::string configurationName = "undefined";
46 std::shared_ptr<const Acts::LayerCreator> layerCreator = nullptr;
47 std::shared_ptr<ElementVector> elementStore;
48 const TRT_ID* idHelper = nullptr;
49 };
50
55 std::unique_ptr<const Acts::Logger> logger
56 = Acts::getDefaultLogger("GMSLayBldr", Acts::Logging::INFO))
57 : m_cfg (cfg),
58 m_logger(std::move(logger))
59 {
60 }
61
63
64 const Acts::LayerVector
65 negativeLayers(const Acts::GeometryContext& gctx) const override;
66
67 const Acts::LayerVector
68 centralLayers(const Acts::GeometryContext& gctx) const override;
69
70 const Acts::LayerVector
71 positiveLayers(const Acts::GeometryContext& gctx) const override;
72
73 const std::string&
74 identification() const override
75 {
76 return m_cfg.configurationName;
77 }
78
79 const Acts::LayerVector
80 endcapLayers(const Acts::GeometryContext& gctx, int side) const;
81
82private:
85
87 const Acts::Logger&
88 logger() const
89 {
90 return *m_logger;
91 }
92
94 std::unique_ptr<const Acts::Logger> m_logger;
95
96
97};
98
99#endif
Helper to hold elements for deletion.
Helper to hold elements for deletion.
const Acts::LayerVector positiveLayers(const Acts::GeometryContext &gctx) const override
const Acts::Logger & logger() const
Private access to the logger.
const Acts::LayerVector centralLayers(const Acts::GeometryContext &gctx) const override
const Acts::LayerVector endcapLayers(const Acts::GeometryContext &gctx, int side) const
ActsElementVector ElementVector
Config m_cfg
configruation object
std::unique_ptr< const Acts::Logger > m_logger
logging instance
const std::string & identification() const override
ActsStrawLayerBuilder(const Config &cfg, std::unique_ptr< const Acts::Logger > logger=Acts::getDefaultLogger("GMSLayBldr", Acts::Logging::INFO))
Constructor.
const Acts::LayerVector negativeLayers(const Acts::GeometryContext &gctx) const override
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
This is an Identifier helper class for the TRT subdetector.
Definition TRT_ID.h:84
Message Stream Member.
STL namespace.
const InDetDD::TRT_DetectorManager * mng
std::shared_ptr< const Acts::LayerCreator > layerCreator
std::shared_ptr< ElementVector > elementStore
std::string configurationName
string based identification