ATLAS Offline Software
Loading...
Searching...
No Matches
IGeometryBuilder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
6// IGeometryBuilder.hm (c) ATLAS Detector software
8
9#ifndef TRKDETDESCRINTERFACES_IGEOMETRYBUILDER_H
10#define TRKDETDESCRINTERFACES_IGEOMETRYBUILDER_H
11
12// Gaudi
13#include "GaudiKernel/IAlgTool.h"
14// Trk - enum
16#include "TrkSurfaces/Surface.h"
17// STL
18#include <vector>
19
21
22namespace Trk {
23
24 class TrackingGeometry;
25 class TrackingVolume;
26 class Layer;
27
40 class IGeometryBuilder : virtual public IAlgTool {
41
42 public:
45
48
53 virtual std::unique_ptr<TrackingGeometry> trackingGeometry (TrackingVolume* tvol = 0) const = 0;
54
57
58 };
59
60} // end of namespace
61
62
63#endif // TRKDETDESCRINTERFACES_IGEOMETRYBUILDER_H
64
65
Define macros for attributes used to control the static checker.
Interface class IGeometryBuilders, the GeometryBuilder inherits from this one.
virtual ~IGeometryBuilder()
Virtual destructor.
DeclareInterfaceID(IGeometryBuilder, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual GeometrySignature geometrySignature() const =0
The unique signature.
virtual std::unique_ptr< TrackingGeometry > trackingGeometry(TrackingVolume *tvol=0) const =0
TrackingGeometry Interface methode -.
Base Class for a Detector Layer in the Tracking realm.
Definition Layer.h:72
The TrackingGeometry class is the owner of the constructed TrackingVolumes.
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
Ensure that the ATLAS eigen extensions are properly loaded.