File KDTreeTrackingGeometryBuilder.hpp¶
-
namespace Acts
Note
This file is foreseen for the
Geometry
module to replaceExtent
-
class KDTreeTrackingGeometryBuilder : public Acts::ITrackingGeometryBuilder
- #include <Acts/Geometry/KDTreeTrackingGeometryBuilder.hpp>
A Tracking Geometry builder restricted to cylindrical geometries.
It takes some helper tools and a vector of surface objects, together with a ProtoDetector description that is used to query a KDTree for contained surfaces in structures defined by the proto volume.
Public Types
-
using SurfaceKDT = KDTree<2u, std::shared_ptr<Surface>, ActsScalar, std::array, 100>
Public Functions
-
KDTreeTrackingGeometryBuilder(const Config &cfg, std::unique_ptr<const Logger> logger = getDefaultLogger("KDTreeTrackingGeometryBuilder", Logging::INFO))
Constructor.
- Parameters
cfg – [in] is the configuration struct for this builder
logger – [in] logging instance
-
virtual std::unique_ptr<const TrackingGeometry> trackingGeometry(const GeometryContext &gctx) const final
TrackingGeometry Interface method.
- Parameters
gctx – geometry context of that building call
- Returns
a unique pointer to a TrackingGeometry
Private Functions
-
std::shared_ptr<const Layer> translateLayer(Cache &cCache, const GeometryContext &gctx, const SurfaceKDT &kdt, const ProtoVolume &plVolume, const std::string &indent = "") const¶
Translate a layer volume.
- Parameters
cCache – is a cache used to extract the built detector elements
gctx – is the current geometry context at building
kdt – is the pre-filled kdt tree for the surface query
plVolume – the proto volume representaion a layer to be translated
indent – is a screen output indentation
- Returns
a new tracking volume
-
std::shared_ptr<TrackingVolume> translateVolume(Cache &cCache, const GeometryContext &gctx, const SurfaceKDT &kdt, const ProtoVolume &ptVolume, const std::string &indent = "") const¶
Translate a proto tracking volume into a Acts::TrackingVolume.
- Parameters
cCache – is a cache used to extract the built detector elements
gctx – is the current geometry context at building
kdt – is the pre-filled kdt tree for the surface query
ptVolume – the proto volume to be translated
indent – is a screen output indentation
- Returns
a new tracking volume
Private Members
-
struct Config
- #include <Acts/Geometry/KDTreeTrackingGeometryBuilder.hpp>
Nested Configuration for this TrackingGeometryBuilder.
Public Members
-
std::shared_ptr<const GeometryIdentifierHook> geometryIdentifierHook = std::make_shared<GeometryIdentifierHook>()
Optional geometry identfier hook to be used during closure.
-
std::string hierarchyIndent = " "
For screen output.
-
std::shared_ptr<const LayerCreator> layerCreator = nullptr
The layer crator - for sensitives.
-
ProtoDetector protoDetector
The proto tracking geometry description.
-
std::vector<std::shared_ptr<Surface>> surfaces = {}
The created surfaces.
-
std::shared_ptr<const ITrackingVolumeHelper> trackingVolumeHelper = nullptr
The tracking volume helper for detector construction.
-
std::shared_ptr<const GeometryIdentifierHook> geometryIdentifierHook = std::make_shared<GeometryIdentifierHook>()
-
using SurfaceKDT = KDTree<2u, std::shared_ptr<Surface>, ActsScalar, std::array, 100>
-
class KDTreeTrackingGeometryBuilder : public Acts::ITrackingGeometryBuilder