ATLAS Offline Software
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 
17 namespace Acts {
18  class TrackingVolume;
19  class VolumeBounds;
20 }
21 
22 
23 class 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
IActsTrackingVolumeBuilder::trackingVolume
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
Acts
Definition: ChamberAssembleTool.h:18
AthAlgTool.h
IActsTrackingVolumeBuilder
Definition: IActsTrackingVolumeBuilder.h:24
IActsTrackingVolumeBuilder::IActsTrackingVolumeBuilder
IActsTrackingVolumeBuilder()
Definition: IActsTrackingVolumeBuilder.h:29
IActsTrackingVolumeBuilder::DeclareInterfaceID
DeclareInterfaceID(IActsTrackingVolumeBuilder, 1, 0)