ATLAS Offline Software
Loading...
Searching...
No Matches
ActsStrawLayerBuilder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 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#include "Acts/Geometry/GeometryContext.hpp"
18
19class TRT_ID;
20
21namespace InDetDD {
23}
24
25
27
28namespace Acts {
29class Surface;
30class LayerCreator;
31}
32
34class ActsStrawLayerBuilder : public Acts::ILayerBuilder
35{
36public:
38
39 struct Config
40 {
42 std::string configurationName = "undefined";
44 std::shared_ptr<const Acts::LayerCreator> layerCreator = nullptr;
45 std::shared_ptr<ElementVector> elementStore;
46 const TRT_ID* idHelper = nullptr;
47 };
48
53 std::unique_ptr<const Acts::Logger> logger
54 = Acts::getDefaultLogger("GMSLayBldr", Acts::Logging::INFO))
55 : m_cfg (cfg),
56 m_logger(std::move(logger))
57 {
58 }
59
61
62 const Acts::LayerVector
63 negativeLayers(const Acts::GeometryContext& gctx) const override;
64
65 const Acts::LayerVector
66 centralLayers(const Acts::GeometryContext& gctx) const override;
67
68 const Acts::LayerVector
69 positiveLayers(const Acts::GeometryContext& gctx) const override;
70
71 const std::string&
72 identification() const override
73 {
74 return m_cfg.configurationName;
75 }
76
77 const Acts::LayerVector
78 endcapLayers(const Acts::GeometryContext& gctx, int side) const;
79
80private:
83
85 const Acts::Logger&
86 logger() const
87 {
88 return *m_logger;
89 }
90
92 std::unique_ptr<const Acts::Logger> m_logger;
93
94
95};
96
97#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:82
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