File ProtoDetector.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

struct ProtoDetector
#include <Acts/Detector/ProtoDetector.hpp>

A proto detector description being used to define an overall structure of either a TrackingGeometry or Experimental::Detector.

Public Functions

inline void harmonize(bool legacy = true)

Harmonize the detector information, this can run in two modes, steered by the.

The legacy mode prepares everything for Acts::TrackingVolume, if off it creates a description for Acts::Detector.

Parameters

legacy – boolean

std::string toString(const std::string &indent = "") const

Write the tracking volume to screen.

Parameters

indent – the current indentation

Public Members

std::string name = ""
ProtoVolume worldVolume
struct ProtoVolume
#include <Acts/Detector/ProtoDetector.hpp>

A proto volume description being used to define an overall structure of either a TrackingVolume or Experimental::DetectorVolume.

Public Functions

void constrainDown(const ProtoVolume &ptVolume)

Constrain the daughter volumes with this volume.

Parameters

ptVolume – is the proto volume from which the constrain is taken

void extendUp(ProtoVolume &ptVolume)

Extend the tracking volume with its own constituents, upwards here means that extents are promoted to the mother.

Parameters

ptVolume – the protoVolume

void harmonize(bool legacy = true)

Harmonize the detector information, this can run in two modes, steered by the.

The legacy mode prepares everything for Acts::TrackingVolume, if off it creates a description for Acts::Detector.

Parameters

legacy – boolean

bool operator==(const ProtoVolume &ptVolume) const

Define an operator==.

Parameters

ptVolume – the proto volume to be checked

void propagateMaxDown(BinningValue bValue)

Extend the tracking volume with its own constituents.

Parameters

bValue – the binning value that is propagated

void propagateMinDown(BinningValue bValue)

Extend the tracking volume with its own constituents.

Parameters

bValue – the binning value that is propagated

std::string toString(const std::string &indent = "") const

Write the tracking volume to screen.

Parameters

indent – the current indentation

Public Members

Experimental::DetectorBlockBuilder blockBuilder

An attached Detector volume Builder - new detector schema.

std::optional<ContainerStructure> container = std::nullopt

Information about container structure - legacy building.

Extent extent

The extent of this volume.

std::optional<InternalStructure> internal = std::nullopt

Information about internal structure - legacy building.

std::string name = ""

Name of the proto volume.

struct ContainerStructure
#include <Acts/Detector/ProtoDetector.hpp>

Public Members

std::vector<BinningData> constituentBinning = {}

The constituent binning if this a container.

std::vector<ProtoVolume> constituentVolumes = {}

Internal structure container.

bool layerContainer = false

Layer container flag.

struct InternalStructure
#include <Acts/Detector/ProtoDetector.hpp>

Public Members

Surface::SurfaceType layerType = Surface::SurfaceType::Other

Possibility to provide a layer type information.

std::vector<BinningData> surfaceBinning = {}

Possibility to provide a surface binning.

namespace Experimental

Typedefs

using DetectorBlock = std::tuple<DetectorVolumes, ProtoContainer>

Current block (volumes and shell)

using DetectorBlockBuilder = std::function<void(DetectorBlock&, const GeometryContext&, Acts::Logging::Level)>

The detector builder function.

using DetectorVolumes = std::vector<std::shared_ptr<DetectorVolume>>

Current volumes (connected)

using ProtoContainer = std::map<unsigned int, std::shared_ptr<Portal>>

Current shell (i.e. outside portals)