ATLAS Offline Software
IDetachedTrackingVolumeBuilder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // IDetachedTrackingVolumeBuilder.h (c) ATLAS Detector software
8 
9 #ifndef TRKDETDESCRINTERFACES_IDETACHEDTRACKINGVOLUMEBUILDER_H
10 #define TRKDETDESCRINTERFACES_IDETACHEDTRACKINGVOLUMEBUILDER_H
11 
12 // Gaudi
13 #include "GaudiKernel/IAlgTool.h"
14 // STL
15 #include <vector>
16 
17 namespace Trk {
18 
19  class DetachedTrackingVolume;
20 
28  class IDetachedTrackingVolumeBuilder : virtual public IAlgTool {
29 
30  public:
33 
35  virtual ~IDetachedTrackingVolumeBuilder() = default;
36 
37  using DetachedVolumeVec = std::vector<std::unique_ptr<DetachedTrackingVolume>>;
38  virtual DetachedVolumeVec buildDetachedTrackingVolumes(bool blend = false) const = 0;
39  };
40 
41 } // end of namespace
42 
43 
44 #endif // TRKDETDESCRINTERFACES_IDETACHEDTRACKINGVOLUMEBUILDER_H
45 
46 
Trk::IDetachedTrackingVolumeBuilder::DetachedVolumeVec
std::vector< std::unique_ptr< DetachedTrackingVolume > > DetachedVolumeVec
Definition: IDetachedTrackingVolumeBuilder.h:37
Trk::IDetachedTrackingVolumeBuilder::DeclareInterfaceID
DeclareInterfaceID(IDetachedTrackingVolumeBuilder, 1, 0)
Creates the InterfaceID and interfaceID() method.
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::IDetachedTrackingVolumeBuilder::~IDetachedTrackingVolumeBuilder
virtual ~IDetachedTrackingVolumeBuilder()=default
Virtual destructor.
Trk::IDetachedTrackingVolumeBuilder
Definition: IDetachedTrackingVolumeBuilder.h:28
Trk::IDetachedTrackingVolumeBuilder::buildDetachedTrackingVolumes
virtual DetachedVolumeVec buildDetachedTrackingVolumes(bool blend=false) const =0