ATLAS Offline Software
SiLayerBuilderCond.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_SILAYERBUILDERCOND_H
6 #define INDETTRACKINGGEOMETRY_SILAYERBUILDERCOND_H
7 
8 // Athena
11 // Trk
16 // STL
17 #include <vector>
18 
19 namespace Trk {
20  class Surface;
21  class CylinderLayer;
22  class DiscLayer;
23 }
24 
25 namespace 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*> >
93  SiLayerBuilderCond::planarLayers(const EventContext&,
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
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
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
InDet
DUMMY 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:7
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
InDet::SiLayerBuilderCond::~SiLayerBuilderCond
virtual ~SiLayerBuilderCond()=default
Destructor.
SiLayerBuilderImpl.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
vector
Definition: MultiHisto.h:13
InDet::SiLayerBuilderCond::identification
virtual const std::string & identification() const override final
Name identification.
Definition: SiLayerBuilderCond.h:100
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
SiDetectorElementCollection.h
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDet::SiLayerBuilderCond
Definition: SiLayerBuilderCond.h:41
TrackingGeometry.h
SG::WriteCondHandle
Definition: WriteCondHandle.h:26
ILayerBuilderCond.h