ATLAS Offline Software
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 
19 class TRT_ID;
20 
21 namespace InDetDD {
22  class TRT_DetectorManager;
23 }
24 
25 
27 
28 namespace Acts {
29 class Surface;
30 class LayerCreator;
31 }
32 
34 class ActsStrawLayerBuilder : public Acts::ILayerBuilder
35 {
36 public:
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 
80 private:
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
ActsStrawLayerBuilder::negativeLayers
const Acts::LayerVector negativeLayers(const Acts::GeometryContext &gctx) const override
Definition: ActsStrawLayerBuilder.cxx:35
ActsStrawLayerBuilder::Config::idHelper
const TRT_ID * idHelper
Definition: ActsStrawLayerBuilder.h:46
ActsStrawLayerBuilder::m_cfg
Config m_cfg
configruation object
Definition: ActsStrawLayerBuilder.h:82
ActsStrawLayerBuilder::endcapLayers
const Acts::LayerVector endcapLayers(const Acts::GeometryContext &gctx, int side) const
Definition: ActsStrawLayerBuilder.cxx:159
ActsStrawLayerBuilder::centralLayers
const Acts::LayerVector centralLayers(const Acts::GeometryContext &gctx) const override
Definition: ActsStrawLayerBuilder.cxx:49
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
ActsStrawLayerBuilder::Config
Definition: ActsStrawLayerBuilder.h:40
ActsStrawLayerBuilder::Config::mng
const InDetDD::TRT_DetectorManager * mng
Definition: ActsStrawLayerBuilder.h:43
TRT::Hit::side
@ side
Definition: HitInfo.h:83
ActsStrawLayerBuilder::ActsStrawLayerBuilder
ActsStrawLayerBuilder(const Config &cfg, std::unique_ptr< const Acts::Logger > logger=Acts::getDefaultLogger("GMSLayBldr", Acts::Logging::INFO))
Constructor.
Definition: ActsStrawLayerBuilder.h:52
Acts
Definition: MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/xAODMuonPrepData/UtilFunctions.h:17
ActsStrawLayerBuilder::Config::configurationName
std::string configurationName
string based identification
Definition: ActsStrawLayerBuilder.h:42
ActsStrawLayerBuilder::positiveLayers
const Acts::LayerVector positiveLayers(const Acts::GeometryContext &gctx) const override
Definition: ActsStrawLayerBuilder.cxx:41
ActsStrawLayerBuilder::m_logger
std::unique_ptr< const Acts::Logger > m_logger
logging instance
Definition: ActsStrawLayerBuilder.h:92
ActsDetectorElement
Definition: ActsDetectorElement.h:44
ActsStrawLayerBuilder::~ActsStrawLayerBuilder
~ActsStrawLayerBuilder()
Definition: ActsStrawLayerBuilder.h:60
ActsElementVector
Helper to hold elements for deletion.
Definition: ActsElementVector.h:30
WriteCaloSwCorrections.cfg
cfg
Definition: WriteCaloSwCorrections.py:23
TRT_ID
Definition: TRT_ID.h:82
ActsStrawLayerBuilder::Config::layerCreator
std::shared_ptr< const Acts::LayerCreator > layerCreator
Definition: ActsStrawLayerBuilder.h:44
InDetDD::TRT_DetectorManager
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
Definition: TRT_DetectorManager.h:63
python.Constants.INFO
int INFO
Definition: Control/AthenaCommon/python/Constants.py:15
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
ActsStrawLayerBuilder
Definition: ActsStrawLayerBuilder.h:35
ActsElementVector.h
Helper to hold elements for deletion.
ActsStrawLayerBuilder::identification
const std::string & identification() const override
Definition: ActsStrawLayerBuilder.h:72
ActsStrawLayerBuilder::logger
const Acts::Logger & logger() const
Private access to the logger.
Definition: ActsStrawLayerBuilder.h:86
ActsStrawLayerBuilder::Config::elementStore
std::shared_ptr< ElementVector > elementStore
Definition: ActsStrawLayerBuilder.h:45