ATLAS Offline Software
Loading...
Searching...
No Matches
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
17namespace Trk {
18
20
28 class IDetachedTrackingVolumeBuilder : virtual public IAlgTool {
29
30 public:
33
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
Base Class for a navigation object (active/passive) in the Tracking realm.
Interface class IDetachedTrackingVolumeBuilder, the DetachedTrackingVolumeBuilder inherits from this ...
virtual ~IDetachedTrackingVolumeBuilder()=default
Virtual destructor.
DeclareInterfaceID(IDetachedTrackingVolumeBuilder, 1, 0)
Creates the InterfaceID and interfaceID() method.
std::vector< std::unique_ptr< DetachedTrackingVolume > > DetachedVolumeVec
virtual DetachedVolumeVec buildDetachedTrackingVolumes(bool blend=false) const =0
Ensure that the ATLAS eigen extensions are properly loaded.