ATLAS Offline Software
Loading...
Searching...
No Matches
IActsTrackingVolumeBuilder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSGEOMETRYINTERFACES_IACTSTRACKINGVOLUMEBUILDER_H
6#define ACTSGEOMETRYINTERFACES_IACTSTRACKINGVOLUMEBUILDER_H
7
9#include "GaudiKernel/IAlgTool.h"
10
11#include "Acts/Geometry/GeometryContext.hpp"
12
13#include <memory>
14
15
16
17namespace Acts {
18 class TrackingVolume;
19 class VolumeBounds;
20}
21
22
23class IActsTrackingVolumeBuilder : virtual public IAlgTool
24{
25 public:
26
28
30
31 virtual
32 std::shared_ptr<Acts::TrackingVolume>
33 trackingVolume(const Acts::GeometryContext& gctx,
34 std::shared_ptr<const Acts::TrackingVolume> insideVolume = nullptr,
35 std::shared_ptr<const Acts::VolumeBounds> outsideBounds = nullptr) const = 0;
36};
37
38#endif
DeclareInterfaceID(IActsTrackingVolumeBuilder, 1, 0)
virtual std::shared_ptr< Acts::TrackingVolume > trackingVolume(const Acts::GeometryContext &gctx, std::shared_ptr< const Acts::TrackingVolume > insideVolume=nullptr, std::shared_ptr< const Acts::VolumeBounds > outsideBounds=nullptr) const =0