ATLAS Offline Software
Loading...
Searching...
No Matches
SiLayerBuilder.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_SILAYERBUILDER_H
6#define INDETTRACKINGGEOMETRY_SILAYERBUILDER_H
7
8// Athena
10// Trk
13// STL
14#include <memory>
15#include <vector>
16
17namespace Trk {
18 class Surface;
19 class CylinderLayer;
20 class DiscLayer;
21}
22
23namespace InDet {
24
38 class ATLAS_NOT_THREAD_SAFE SiLayerBuilder : // static member variables are used.
39 public extends<SiLayerBuilderImpl, Trk::ILayerBuilder> {
40
41 public:
42
44 SiLayerBuilder(const std::string&,const std::string&,const IInterface*);
45
47 virtual ~SiLayerBuilder() = default;
48
50 virtual StatusCode initialize() override;
51
53 virtual std::unique_ptr<const std::vector<Trk::CylinderLayer* > > cylindricalLayers() const override final;
54
56 virtual std::unique_ptr<const std::vector<Trk::DiscLayer* > > discLayers() const override final;
57
59 virtual std::unique_ptr<const std::vector<Trk::PlaneLayer* > > planarLayers() const override final;
60
62 virtual const std::string& identification() const override final;
63
64 private:
65
67 std::unique_ptr<std::vector< Trk::DiscLayer*> >
68 createDiscLayers(std::unique_ptr<std::vector< Trk::DiscLayer*> > discLayers = nullptr) const;
69
72 std::unique_ptr<std::vector< Trk::DiscLayer*> >
74 };
75
76 inline std::unique_ptr<const std::vector<Trk::PlaneLayer*> > SiLayerBuilder::planarLayers() const
77 { return 0; }
78
79 inline const std::string& SiLayerBuilder::identification() const
80 { return m_identification; }
81
82} // end of namespace
83
84
85#endif // INDETTRACKINGGEOMETRY_SILAYERBUILDER_H
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
virtual ~SiLayerBuilder()=default
Destructor.
virtual const std::string & identification() const override final
Name identification.
std::unique_ptr< std::vector< Trk::DiscLayer * > > createRingLayers() const
create the disc layers, it is dedicated to ITk implementation of the endcap rings.
virtual std::unique_ptr< const std::vector< Trk::DiscLayer * > > discLayers() const override final
LayerBuilder interface method - returning Endcap-like layers.
virtual std::unique_ptr< const std::vector< Trk::PlaneLayer * > > planarLayers() const override final
LayerBuilder interface method - returning Planar-like layers.
std::unique_ptr< std::vector< Trk::DiscLayer * > > createDiscLayers(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 std::unique_ptr< const std::vector< Trk::CylinderLayer * > > cylindricalLayers() const override final
LayerBuilder interface method - returning Barrel-like layers.
SiLayerBuilder(const std::string &, const std::string &, const IInterface *)
AlgTool style constructor.
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.
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
STL namespace.
void initialize()
#define private