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 class TRT_DetectorManager;
22 
23 namespace Acts {
24 class Surface;
25 class LayerCreator;
26 }
27 
29 class ActsStrawLayerBuilder : public Acts::ILayerBuilder
30 {
31 public:
33 
34  struct Config
35  {
37  std::string configurationName = "undefined";
39  std::shared_ptr<const Acts::LayerCreator> layerCreator = nullptr;
40  std::shared_ptr<ElementVector> elementStore;
41  const TRT_ID* idHelper = nullptr;
42  };
43 
48  std::unique_ptr<const Acts::Logger> logger
49  = Acts::getDefaultLogger("GMSLayBldr", Acts::Logging::INFO))
50  : m_cfg (cfg),
51  m_logger(std::move(logger))
52  {
53  }
54 
56 
57  const Acts::LayerVector
58  negativeLayers(const Acts::GeometryContext& gctx) const override;
59 
60  const Acts::LayerVector
61  centralLayers(const Acts::GeometryContext& gctx) const override;
62 
63  const Acts::LayerVector
64  positiveLayers(const Acts::GeometryContext& gctx) const override;
65 
66  const std::string&
67  identification() const override
68  {
69  return m_cfg.configurationName;
70  }
71 
72  const Acts::LayerVector
73  endcapLayers(const Acts::GeometryContext& gctx, int side) const;
74 
75 private:
78 
80  const Acts::Logger&
81  logger() const
82  {
83  return *m_logger;
84  }
85 
87  std::unique_ptr<const Acts::Logger> m_logger;
88 
89 
90 };
91 
92 #endif
ActsStrawLayerBuilder::negativeLayers
const Acts::LayerVector negativeLayers(const Acts::GeometryContext &gctx) const override
Definition: ActsStrawLayerBuilder.cxx:34
ActsStrawLayerBuilder::Config::idHelper
const TRT_ID * idHelper
Definition: ActsStrawLayerBuilder.h:41
ActsStrawLayerBuilder::m_cfg
Config m_cfg
configruation object
Definition: ActsStrawLayerBuilder.h:77
ActsStrawLayerBuilder::endcapLayers
const Acts::LayerVector endcapLayers(const Acts::GeometryContext &gctx, int side) const
Definition: ActsStrawLayerBuilder.cxx:157
ActsStrawLayerBuilder::centralLayers
const Acts::LayerVector centralLayers(const Acts::GeometryContext &gctx) const override
Definition: ActsStrawLayerBuilder.cxx:48
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:7
ActsStrawLayerBuilder::Config
Definition: ActsStrawLayerBuilder.h:35
ActsStrawLayerBuilder::Config::mng
const InDetDD::TRT_DetectorManager * mng
Definition: ActsStrawLayerBuilder.h:38
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:47
Acts
Definition: MultiTrajectory.h:45
ActsStrawLayerBuilder::Config::configurationName
std::string configurationName
string based identification
Definition: ActsStrawLayerBuilder.h:37
ActsStrawLayerBuilder::positiveLayers
const Acts::LayerVector positiveLayers(const Acts::GeometryContext &gctx) const override
Definition: ActsStrawLayerBuilder.cxx:40
ActsStrawLayerBuilder::m_logger
std::unique_ptr< const Acts::Logger > m_logger
logging instance
Definition: ActsStrawLayerBuilder.h:87
ActsDetectorElement
Definition: ActsDetectorElement.h:42
ActsStrawLayerBuilder::~ActsStrawLayerBuilder
~ActsStrawLayerBuilder()
Definition: ActsStrawLayerBuilder.h:55
ActsElementVector
Helper to hold elements for deletion.
Definition: ActsElementVector.h:30
WriteCaloSwCorrections.cfg
cfg
Definition: WriteCaloSwCorrections.py:23
TRT_ID
Definition: TRT_ID.h:84
ActsStrawLayerBuilder::Config::layerCreator
std::shared_ptr< const Acts::LayerCreator > layerCreator
Definition: ActsStrawLayerBuilder.h:39
InDetDD::TRT_DetectorManager
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
Definition: TRT_DetectorManager.h:69
python.Constants.INFO
int INFO
Definition: Control/AthenaCommon/python/Constants.py:16
ActsStrawLayerBuilder
Definition: ActsStrawLayerBuilder.h:30
ActsElementVector.h
Helper to hold elements for deletion.
ActsStrawLayerBuilder::identification
const std::string & identification() const override
Definition: ActsStrawLayerBuilder.h:67
ActsStrawLayerBuilder::logger
const Acts::Logger & logger() const
Private access to the logger.
Definition: ActsStrawLayerBuilder.h:81
ActsStrawLayerBuilder::Config::elementStore
std::shared_ptr< ElementVector > elementStore
Definition: ActsStrawLayerBuilder.h:40