File TrackingGeometryBuilder.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

class TrackingGeometryBuilder : public Acts::ITrackingGeometryBuilder
#include <Acts/Geometry/TrackingGeometryBuilder.hpp>

The Acts::TrackingGeometry Builder for volumes that wrap around another.

It retrieves an array of std::functions that build the TrackingGeometry sequentially in order, with the following options:

  • contained (e.g. a final insertion of a beam pipe of longer extend)

  • wrapped (e.g. an outer detector wrapping an inner one)

  • attached (e.g. a neighbor detector attaching to the previous one)

The returned volume of each step must be processable by the previous step

Public Functions

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

Constructor.

Parameters
  • cgbConfig[in] is the configuration struct for this builder

  • logger[in] logging instance

~TrackingGeometryBuilder() override = default

Destructor.

inline Config getConfiguration() const

Get configuration method.

Returns

the current configuration

void setConfiguration(const Config &cgbConfig)

Set configuration method.

Parameters

cgbConfig – is the new configuration struct

void setLogger(std::unique_ptr<const Logger> newLogger)

set logging instance

Parameters

newLogger – the new 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

inline const Logger &logger() const

Private access method to the logger.

Private Members

Config m_cfg

Configuration member.

std::unique_ptr<const Logger> m_logger

the logging instance

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

Nested Configuration for the CylinderVolumeBuilder.

Public Members

std::shared_ptr<const IMaterialDecorator> materialDecorator = nullptr

The optional material decorator for this.

std::vector< std::function< std::shared_ptr< TrackingVolume > const GeometryContext &gctx, const TrackingVolumePtr &, const VolumeBoundsPtr &)> > trackingVolumeBuilders

The list of tracking volume builders.

std::shared_ptr<const ITrackingVolumeHelper> trackingVolumeHelper = nullptr

The tracking volume helper for detector construction.