File DetectorComponents.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent

namespace Experimental
struct DetectorComponent
#include <Acts/Detector/DetectorComponents.hpp>

The currently built detector components including the constructed volumes and the current shell/coating, i.e.

portals ordered in a map


the map indices of the shell coating represent their respective index in the portal vector of the VolumeBounds derivative that is described by the given component.

Public Types

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

Define a portal container.

Public Members

PortalContainer portals = {}

The current map of outside portals.

RootDetectorVolumes rootVolumes = {}

The root volumes finder.

std::vector<std::shared_ptr<DetectorVolume>> volumes = {}

The vector of constructed volume(s)

struct ExternalStructure
#include <Acts/Detector/DetectorComponents.hpp>

Holder struct for the external structure components required to construct a detectorVolume.

Public Members

std::unique_ptr<VolumeBounds> bounds = nullptr

A shape definition.

PortalGenerator portalGenerator

And a portal generator.

Transform3 transform = Transform3::Identity()

A 3D transform where the volume should be positioned.

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

Holder struct for the internal structure components of a DetectorVolume.


the surface surfacesUpdator needs to handle also portal providing of contained volumes.

Public Members

std::vector<std::shared_ptr<Surface>> surfaces = {}

Contained surfaces of this volume, handled by the surfacesUpdator.

SurfaceCandidatesUpdator surfacesUpdator

Navigation delegate for surfaces.

std::vector<std::shared_ptr<DetectorVolume>> volumes = {}

Contained volumes of this volume, handled by the volumeUpdator.

DetectorVolumeUpdator volumeUpdator
struct RootDetectorVolumes
#include <Acts/Detector/DetectorComponents.hpp>

Container to collect root volumes for the construction of a Detector.

This struct collects all root volumes that will then be provided to the Detector object


each root volume is expected to contain a full search tree for eventually contained sub volumes

Public Members

DetectorVolumeUpdator volumeFinder

The Root volumes finder.

std::vector<std::shared_ptr<DetectorVolume>> volumes = {}

The list of root volumes.