ATLAS Offline Software
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 
22 namespace Trk {
23 
24  class TrackingGeometry;
25  class TrackingVolume;
26  class Layer;
27 
40  class IGeometryBuilder : virtual public IAlgTool {
41 
42  public:
45 
47  virtual ~IGeometryBuilder(){}
48 
53  virtual std::unique_ptr<TrackingGeometry> trackingGeometry (TrackingVolume* tvol = 0) const = 0;
54 
56  virtual GeometrySignature geometrySignature() const = 0;
57 
58  };
59 
60 } // end of namespace
61 
62 
63 #endif // TRKDETDESCRINTERFACES_IGEOMETRYBUILDER_H
64 
65 
GeometrySignature.h
Surface.h
GeometrySignature
Trk::IGeometryBuilder::DeclareInterfaceID
DeclareInterfaceID(IGeometryBuilder, 1, 0)
Creates the InterfaceID and interfaceID() method.
python.RingerConstants.Layer
Layer
Definition: RingerConstants.py:42
Trk::IGeometryBuilder
Definition: IGeometryBuilder.h:40
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::IGeometryBuilder::geometrySignature
virtual GeometrySignature geometrySignature() const =0
The unique signature.
Trk::IGeometryBuilder::~IGeometryBuilder
virtual ~IGeometryBuilder()
Virtual destructor.
Definition: IGeometryBuilder.h:47
checker_macros.h
Define macros for attributes used to control the static checker.
Trk::TrackingVolume
Definition: TrackingVolume.h:121
Trk::IGeometryBuilder::trackingGeometry
virtual std::unique_ptr< TrackingGeometry > trackingGeometry(TrackingVolume *tvol=0) const =0
TrackingGeometry Interface methode -.