ATLAS Offline Software
ILayerBuilder.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_ILAYERBUILDER_H
6 #define TRKDETDESCRINTERFACES_ILAYERBUILDER_H
7 
8 // Gaudi
9 #include "GaudiKernel/IAlgTool.h"
10 #include "TrkSurfaces/Surface.h"
11 // STL
12 #include <string>
13 #include <vector>
14 
15 namespace Trk {
16 
17 class CylinderLayer;
18 class DiscLayer;
19 class PlaneLayer;
20 class Layer;
21 
29 class ILayerBuilder : virtual public IAlgTool
30 {
31 
32 public:
35 
37  virtual ~ILayerBuilder() {}
38 
40  virtual std::unique_ptr<const std::vector<CylinderLayer*> >
41  cylindricalLayers() const = 0;
42 
44  virtual std::unique_ptr<const std::vector<DiscLayer*> >
45  discLayers() const = 0;
46 
48  virtual std::unique_ptr<const std::vector<PlaneLayer*> >
49  planarLayers() const = 0;
50 
52  virtual const std::string& identification() const = 0;
53 
57  virtual void validationAction() const {}
58 
59 };
60 
61 } // end of namespace
62 
63 #endif // TRKDETDESCRINTERFACES_ILAYERBUILDER_H
64 
Trk::ILayerBuilder::DeclareInterfaceID
DeclareInterfaceID(ILayerBuilder, 1, 0)
Creates the InterfaceID and interfaceID() method.
Surface.h
Trk::ILayerBuilder::cylindricalLayers
virtual std::unique_ptr< const std::vector< CylinderLayer * > > cylindricalLayers() const =0
LayerBuilder interface method - returning Barrel-like layers.
Trk::ILayerBuilder
Definition: ILayerBuilder.h:30
Trk::ILayerBuilder::validationAction
virtual void validationAction() const
Validation Action: Can be implemented optionally, outside access to internal validation steps.
Definition: ILayerBuilder.h:57
Trk::ILayerBuilder::~ILayerBuilder
virtual ~ILayerBuilder()
Virtual destructor.
Definition: ILayerBuilder.h:37
Trk::ILayerBuilder::identification
virtual const std::string & identification() const =0
Name identification.
python.RingerConstants.Layer
Layer
Definition: RingerConstants.py:42
Trk::ILayerBuilder::planarLayers
virtual std::unique_ptr< const std::vector< PlaneLayer * > > planarLayers() const =0
LayerBuilder interface method - returning Planar-like layers.
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::ILayerBuilder::discLayers
virtual std::unique_ptr< const std::vector< DiscLayer * > > discLayers() const =0
LayerBuilder interface method - returning Endcap-like layers.