ATLAS Offline Software
Loading...
Searching...
No Matches
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
15namespace Trk {
16
17class CylinderLayer;
18class DiscLayer;
19class PlaneLayer;
20class Layer;
21
29class ILayerBuilder : virtual public IAlgTool
30{
31
32public:
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
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
Interface class ILayerBuilders It inherits from IAlgTool.
virtual void validationAction() const
Validation Action: Can be implemented optionally, outside access to internal validation steps.
virtual std::unique_ptr< const std::vector< PlaneLayer * > > planarLayers() const =0
LayerBuilder interface method - returning Planar-like layers.
virtual const std::string & identification() const =0
Name identification.
virtual std::unique_ptr< const std::vector< DiscLayer * > > discLayers() const =0
LayerBuilder interface method - returning Endcap-like layers.
virtual ~ILayerBuilder()
Virtual destructor.
DeclareInterfaceID(ILayerBuilder, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual std::unique_ptr< const std::vector< CylinderLayer * > > cylindricalLayers() const =0
LayerBuilder interface method - returning Barrel-like layers.
Base Class for a Detector Layer in the Tracking realm.
Definition Layer.h:72
Class to describe a planar detector layer for tracking, it inhertis from both, Layer base class and P...
Definition PlaneLayer.h:40
Ensure that the ATLAS eigen extensions are properly loaded.