ATLAS Offline Software
Loading...
Searching...
No Matches
ILayerProvider.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6// ILayerProvider.h, (c) ATLAS Detector software
8
9#ifndef TRKDETDESCRINTERFACES_ILAYERPROVIDER_H
10#define TRKDETDESCRINTERFACES_ILAYERPROVIDER_H
11
12// Gaudi
13#include "GaudiKernel/IAlgTool.h"
14// STL
15#include <string>
16#include <vector>
17
18namespace Trk {
19
20class Layer;
21
29class ILayerProvider : virtual public IAlgTool
30{
31
32public:
35
37 virtual ~ILayerProvider() {}
38
40 virtual std::pair<const std::vector<Layer*>, const std::vector<Layer*> >
41 endcapLayer() const = 0;
42
44 virtual const std::vector<Layer*> centralLayers() const = 0;
45
47 virtual const std::string& identification() const = 0;
48};
49
50} // end of namespace
51
52#endif // TRKDETDESCRINTERFACES_ILAYERPROVIDER_H
53
Interface class ILayerProviders it feeds into the StagedGeometryBuilder.
virtual const std::vector< Layer * > centralLayers() const =0
LayerBuilder interface method - returning the central layers.
virtual ~ILayerProvider()
Virtual destructor.
virtual std::pair< const std::vector< Layer * >, const std::vector< Layer * > > endcapLayer() const =0
LayerBuilder interface method - returning the endcap layer.
virtual const std::string & identification() const =0
Name identification.
DeclareInterfaceID(ILayerProvider, 1, 0)
Creates the InterfaceID and interfaceID() method.
Base Class for a Detector Layer in the Tracking realm.
Definition Layer.h:72
Ensure that the ATLAS eigen extensions are properly loaded.