ATLAS Offline Software
Loading...
Searching...
No Matches
SiLayerBuilderCond.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETTRACKINGGEOMETRY_SILAYERBUILDERCOND_H
6#define INDETTRACKINGGEOMETRY_SILAYERBUILDERCOND_H
7
8// Athena
11// Trk
15// STL
16#include <memory>
17#include <vector>
18
19namespace Trk {
20 class Surface;
21 class CylinderLayer;
22 class DiscLayer;
23}
24
25namespace InDet {
26
41 public extends<SiLayerBuilderImpl, Trk::ILayerBuilderCond> {
42
43 public:
44
46 SiLayerBuilderCond(const std::string&,const std::string&,const IInterface*);
47
49 virtual ~SiLayerBuilderCond() = default;
50
52 virtual StatusCode initialize() override;
53
55 virtual std::unique_ptr<const std::vector<Trk::CylinderLayer*> >
56 cylindricalLayers(const EventContext& ctx,
57 SG::WriteCondHandle<Trk::TrackingGeometry>& whandle) const override final;
58
60 virtual std::unique_ptr<const std::vector<Trk::DiscLayer*> >
61 discLayers(const EventContext& ctx,
62 SG::WriteCondHandle<Trk::TrackingGeometry>& whandle) const override final;
63
65 virtual std::unique_ptr<const std::vector<Trk::PlaneLayer*> >
66 planarLayers(const EventContext& ctx,
67 SG::WriteCondHandle<Trk::TrackingGeometry>& whandle) const override final;
68
70 virtual const std::string& identification() const override final;
71
72 private:
73
74 SG::ReadCondHandle<InDetDD::SiDetectorElementCollection>
75 retrieveSiDetElements(const EventContext& ctx) const;
76
79 std::unique_ptr<std::vector<Trk::DiscLayer*> >
80 createDiscLayers(const EventContext& ctx,
81 SG::WriteCondHandle<Trk::TrackingGeometry>& whandle,
82 std::unique_ptr<std::vector<Trk::DiscLayer*> > discLayers = nullptr) const;
83
86 std::unique_ptr<std::vector<Trk::DiscLayer*> >
87 createRingLayers(const EventContext& ctx,
88 SG::WriteCondHandle<Trk::TrackingGeometry>& whandle) const;
89
90 };
91
92 inline std::unique_ptr<const std::vector<Trk::PlaneLayer*> >
94 SG::WriteCondHandle<Trk::TrackingGeometry>& /*whandle*/) const
95 {
96 return nullptr;
97 }
98
99 inline const std::string&
101 {
102 return m_identification;
103 }
104
105} // end of namespace
106
107
108#endif // INDETTRACKINGGEOMETRY_SILAYERBUILDERCOND_H
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
virtual ~SiLayerBuilderCond()=default
Destructor.
SG::ReadCondHandle< InDetDD::SiDetectorElementCollection > retrieveSiDetElements(const EventContext &ctx) const
std::unique_ptr< std::vector< Trk::DiscLayer * > > createRingLayers(const EventContext &ctx, SG::WriteCondHandle< Trk::TrackingGeometry > &whandle) const
create the disc layers, it is dedicated to ITk implementation of the endcap rings.
virtual std::unique_ptr< const std::vector< Trk::CylinderLayer * > > cylindricalLayers(const EventContext &ctx, SG::WriteCondHandle< Trk::TrackingGeometry > &whandle) const override final
LayerBuilder interface method - returning Barrel-like layers.
SiLayerBuilderCond(const std::string &, const std::string &, const IInterface *)
AlgTool style constructor.
std::unique_ptr< std::vector< Trk::DiscLayer * > > createDiscLayers(const EventContext &ctx, SG::WriteCondHandle< Trk::TrackingGeometry > &whandle, std::unique_ptr< std::vector< Trk::DiscLayer * > > discLayers=nullptr) const
create the disc layers, if no vector is given, then it's the first pass, else it's the DBM for the Pi...
virtual const std::string & identification() const override final
Name identification.
virtual std::unique_ptr< const std::vector< Trk::DiscLayer * > > discLayers(const EventContext &ctx, SG::WriteCondHandle< Trk::TrackingGeometry > &whandle) const override final
LayerBuilder interface method - returning Endcap-like layers.
virtual std::unique_ptr< const std::vector< Trk::PlaneLayer * > > planarLayers(const EventContext &ctx, SG::WriteCondHandle< Trk::TrackingGeometry > &whandle) const override final
LayerBuilder interface method - returning Planar-like layers.
Class to describe a cylindrical detector layer for tracking, it inhertis from both,...
Class to describe a disc-like detector layer for tracking, it inhertis from both, Layer base class an...
Definition DiscLayer.h:45
Abstract Base Class for tracking surfaces.
STL class.
Message Stream Member.
Primary Vertex Finder.
Forward declaration.
Ensure that the ATLAS eigen extensions are properly loaded.
STL namespace.
void initialize()
#define private