ATLAS Offline Software
Loading...
Searching...
No Matches
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
19namespace Trk {
20
21class CylinderLayer;
22class DiscLayer;
23class PlaneLayer;
24class Layer;
26
34class ILayerBuilderCond : virtual public IAlgTool
35{
36
37public:
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
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 ILayerBuilderConds It inherits from IAlgTool.
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.
DeclareInterfaceID(ILayerBuilderCond, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual void validationAction() const
Validation Action: Can be implemented optionally, outside access to internal validation steps.
virtual ~ILayerBuilderCond()
Virtual destructor.
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.
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.
virtual const std::string & identification() const =0
Name identification.
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
The TrackingGeometry class is the owner of the constructed TrackingVolumes.
Ensure that the ATLAS eigen extensions are properly loaded.