ATLAS Offline Software
ILayerBuilderCond.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 TRKDETDESCRINTERFACES_ILAYERBUILDERCOND_H
6 #define TRKDETDESCRINTERFACES_ILAYERBUILDERCOND_H
7 
8 // Gaudi
9 #include "GaudiKernel/EventContext.h"
10 #include "GaudiKernel/EventIDRange.h"
11 #include "GaudiKernel/IAlgTool.h"
12 //
13 #include "TrkSurfaces/Surface.h"
15 // STL
16 #include <string>
17 #include <vector>
18 
19 namespace Trk {
20 
21 class CylinderLayer;
22 class DiscLayer;
23 class PlaneLayer;
24 class Layer;
25 class TrackingGeometry;
26 
34 class ILayerBuilderCond : virtual public IAlgTool
35 {
36 
37 public:
38 
41 
43  virtual ~ILayerBuilderCond() {}
44 
46  virtual std::unique_ptr<const std::vector<CylinderLayer*> >
47  cylindricalLayers(const EventContext& ctx,
48  SG::WriteCondHandle<TrackingGeometry>& whandle) const = 0;
49 
51  virtual std::unique_ptr<const std::vector<DiscLayer*> >
52  discLayers(const EventContext& ctx,
53  SG::WriteCondHandle<TrackingGeometry>& whandle) const = 0;
54 
56  virtual std::unique_ptr<const std::vector<PlaneLayer*> >
57  planarLayers(const EventContext& ctx,
58  SG::WriteCondHandle<TrackingGeometry>& whandle) const = 0;
59 
61  virtual const std::string& identification() const = 0;
62 
66  virtual void validationAction() const {}
67 
68 };
69 
70 } // end of namespace
71 
72 #endif // TRKDETDESCRINTERFACES_ILAYERBUILDERCOND_H
73 
Trk::ILayerBuilderCond::planarLayers
virtual std::unique_ptr< const std::vector< PlaneLayer * > > planarLayers(const EventContext &ctx, SG::WriteCondHandle< TrackingGeometry > &whandle) const =0
LayerBuilder interface method - returning Planar-like layers.
Surface.h
Trk::ILayerBuilderCond::cylindricalLayers
virtual std::unique_ptr< const std::vector< CylinderLayer * > > cylindricalLayers(const EventContext &ctx, SG::WriteCondHandle< TrackingGeometry > &whandle) const =0
LayerBuilder interface method - returning Barrel-like layers.
Trk::ILayerBuilderCond
Definition: ILayerBuilderCond.h:35
Trk::ILayerBuilderCond::DeclareInterfaceID
DeclareInterfaceID(ILayerBuilderCond, 1, 0)
Creates the InterfaceID and interfaceID() method.
Trk::ILayerBuilderCond::validationAction
virtual void validationAction() const
Validation Action: Can be implemented optionally, outside access to internal validation steps.
Definition: ILayerBuilderCond.h:66
Trk::ILayerBuilderCond::~ILayerBuilderCond
virtual ~ILayerBuilderCond()
Virtual destructor.
Definition: ILayerBuilderCond.h:43
python.RingerConstants.Layer
Layer
Definition: RingerConstants.py:42
WriteCondHandle.h
Trk::ILayerBuilderCond::identification
virtual const std::string & identification() const =0
Name identification.
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::ILayerBuilderCond::discLayers
virtual std::unique_ptr< const std::vector< DiscLayer * > > discLayers(const EventContext &ctx, SG::WriteCondHandle< TrackingGeometry > &whandle) const =0
LayerBuilder interface method - returning Endcap-like layers.
SG::WriteCondHandle
Definition: WriteCondHandle.h:26