File DetectorComponents.hpp

namespace Acts

Note

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

Note

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>>

Public Members

PortalContainer portals

The current map of outside portals.

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

The vector of construced 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.

Note

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

Note

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

Public Members

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