File DD4hepVolumeStructure.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

namespace Experimental
class DD4hepVolumeStructure
#include <Acts/Plugins/DD4hep/DD4hepVolumeStructure.hpp>

This class allows to generate volumes structure builders for dd4hep sub detectors, together with an internal structure builder, this is sufficient to build the new DetectorVolume objects.

Public Functions

DD4hepVolumeStructure() = delete
DD4hepVolumeStructure(std::unique_ptr<const Logger> mlogger = getDefaultLogger("DD4hepVolumeStructure", Acts::Logging::INFO))

Constructor with arguments.

Parameters

mlogger – is the screen output logger

std::shared_ptr<VolumeStructureBuilder> builder(const dd4hep::DetElement &dd4hepElement, const Options &options) const

This method generates a VolumeStructureBuilder, which extends the IExternalStructureBuilder to create DetectorVolume objects.

It takes the detector element from DD4hep and some optional parameters

Parameters
  • dd4hepElement – the dd4hep detector element

  • options – containing the optional descriptions

Returns

a VolumeStructureBuilder

Private Functions

inline const Logger &logger() const

Private access to the logger.

bool recursiveParse(VolumeStructureBuilder::Config &vsbConfig, const dd4hep::DetElement &dd4hepElement) const

Method to recursively parse through the detector element and grep the volume structure information.

Parameters
  • vsbConfig

  • dd4hepElement

Returns

a boolean break condition

Private Members

std::unique_ptr<const Logger> m_logger

Logging instance.

Private Static Attributes

static constexpr ActsScalar unitLength = Acts::UnitConstants::mm / dd4hep::millimeter

auto-calculate the unit length conversion

struct Options
#include <Acts/Plugins/DD4hep/DD4hepVolumeStructure.hpp>

nested options struct

If a binning description or a support cylinder description is chosen through options, it overwrites the corresponding description coming from DD4hep.

Public Members

Acts::Logging::Level logLevel = Acts::Logging::INFO

An output log level for the builder.

std::string name = ""

The name of the object.

namespace dd4hep