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

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

struct Config

Nested Configuration for this TrackingGeometryBuilder.

Public Members

GeometryIdentifierHook geometryIdentifierHook

Optional geometry identfier hook to be used during closure.

Note

Will be copied when calling the geometry building

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.