ATLAS Offline Software
SiLayerBuilder.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 INDETTRACKINGGEOMETRY_SILAYERBUILDER_H
6 #define INDETTRACKINGGEOMETRY_SILAYERBUILDER_H
7 
8 // Athena
10 // Trk
14 // STL
15 #include <vector>
16 
17 namespace Trk {
18  class Surface;
19  class CylinderLayer;
20  class DiscLayer;
21 }
22 
23 namespace 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*> >
73  createRingLayers() const;
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
InDet::SiLayerBuilder::~SiLayerBuilder
virtual ~SiLayerBuilder()=default
Destructor.
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
ILayerBuilder.h
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
BinnedArray.h
initialize
void initialize()
Definition: run_EoverP.cxx:894
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
InDet::SiLayerBuilder
Definition: SiLayerBuilder.h:39
SiLayerBuilderImpl.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
vector
Definition: MultiHisto.h:13
SharedObject.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
InDet::SiLayerBuilder::identification
virtual const std::string & identification() const override final
Name identification.
Definition: SiLayerBuilder.h:79