File SpacePointBuilder.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent

template<typename spacepoint_t>
class SpacePointBuilder
#include <Acts/SpacePointFormation/SpacePointBuilder.hpp>

After the particle interaction with surfaces are recorded and digitized measurements on the pixel or strip detectors need further treatment.

This class takes the measurements and provides the corresponding space points.

Public Types

using Measurement = Acts::BoundVariantMeasurement

Public Functions

SpacePointBuilder(const SpacePointBuilderConfig &cfg, std::function<spacepoint_t(Acts::Vector3, Acts::Vector2, boost::container::static_vector<SourceLink, 2>)> func, std::unique_ptr<const Logger> logger = getDefaultLogger("SpamcePointBuilder", Logging::INFO))
  • cfg – The configuration for the space point builder

  • func – The function that provides user’s SP constructor with global pos, global cov, and sourceLinks.

  • logger – The logging instance

SpacePointBuilder() = default
template<template<typename...> typename container_t>
void buildSpacePoint(const GeometryContext &gctx, const std::vector<const Measurement*> &measurements, const SpacePointBuilderOptions &opt, std::back_insert_iterator<container_t<spacepoint_t>> spacePointIt) const

Calculates the space points out of a given collection of measurements and stores the results.

  • gctx – The current geometry context object, e.g. alignment

  • measurements – vector of measurements

  • opt – option for the space point bulding. It contains the ends of the strips for strip SP building

  • spacePointIt – Output iterator for the space point

void makeMeasurementPairs(const GeometryContext &gctx, const std::vector<const Measurement*> &measurementsFront, const std::vector<const Measurement*> &measurementsBack, std::vector<std::pair<const Measurement*, const Measurement*>> &measurementPairs) const

Searches possible combinations of two measurements on different surfaces that may come from the same particles.

  • gctx – The current geometry context object, e.g. alignment

  • measurementsFront – vector of measurements on a surface

  • measurementsBack – vector of measurements on another surface

  • measurementPairs – storage of the measurement pairs

Protected Functions

inline const Logger &logger() const

Protected Attributes

SpacePointBuilderConfig m_config
std::unique_ptr<const Acts::Logger> m_logger

the logging instance

std::function<spacepoint_t(Acts::Vector3, Acts::Vector2, boost::container::static_vector<SourceLink, 2>)> m_spConstructor

Function to create external space point The constructor of spacepoint_t with Vector3 global pos, Vector2 global cov, and vector of source link pointers.

std::shared_ptr<const SpacePointUtility> m_spUtility