Class Acts::KDTreeTrackingGeometryBuilder

class KDTreeTrackingGeometryBuilder : public Acts::ITrackingGeometryBuilder

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))


  • 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.


gctx – geometry context of that building call


a unique pointer to a TrackingGeometry

struct Config

Nested Configuration for this TrackingGeometryBuilder.

Public Members

std::shared_ptr<const GeometryIdentifierHook> geometryIdentifierHook = std::make_shared<GeometryIdentifierHook>()

Optional geometry identifier hook to be used during closure.

std::string hierarchyIndent = "  "

For screen output.

std::shared_ptr<const LayerCreator> layerCreator = nullptr

The layer creator - 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.