File LayerArrayCreator.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent

class LayerArrayCreator : public Acts::ILayerArrayCreator
#include <Acts/Geometry/LayerArrayCreator.hpp>

The LayerArrayCreator is a simple Tool that helps to construct LayerArrays from std::vector of Acts::CylinderLayer, Acts::DiscLayer, Acts::PlaneLayer.

It fills the gaps automatically with Acts::NavigationLayer to be processed easily in the Navigation of the Extrapolation process.

Public Functions

inline LayerArrayCreator(const Config&, std::unique_ptr<const Logger> logger = getDefaultLogger("LayerArrayCreator", Logging::INFO))



logger – logging instance

~LayerArrayCreator() override = default


virtual std::unique_ptr<const LayerArray> layerArray(const GeometryContext &gctx, const LayerVector &layersInput, double min, double max, BinningType bType = arbitrary, BinningValue bValue = binX) const override

LayerArrayCreator interface method.

  • gctx – ist the geometry context for witch the array is built

  • layersInput – are the layers to be moved into an array

  • min – is the minimum value for binning

  • max – is the maximum value for binning

  • bType – is the binning type

  • bValue – is the value in which the binning should be done


unique pointer to a newly created LayerArray

inline void setLogger(std::unique_ptr<const Logger> logger)

set logging instance

Private Functions

std::shared_ptr<Surface> createNavigationSurface(const GeometryContext &gctx, const Layer &layer, BinningValue bValue, double offset) const

Private helper method for creating a surface for the NavigationLayer, it clones the.

  • layer – object and thus needs the

  • gctx – geometry context.

  • bValue – is the Binning value for the layer array

  • offset – is the sift for the navigation layer

inline const Logger &logger() const

Private access method to the logging instance.

Private Members

std::unique_ptr<const Logger> m_logger = nullptr

logging instance

struct Config
#include <Acts/Geometry/LayerArrayCreator.hpp>

This struct stores the configuration of the tracking geometry.