Class Acts::DD4hepDetectorSurfaceFactory

class DD4hepDetectorSurfaceFactory

A factory to convert DD4hep DetectorElements into sensitive of passive surfaces which are filled into a Cache object, also the create DD4hepDetector elements are provided.

Public Types

using DD4hepPassiveSurface = std::tuple<std::shared_ptr<Surface>, bool>

Collect the passive surfaces, bool whether it should be added as an “always try, i.e. assignToAll=true” surface.

using DD4hepSensitiveSurface = std::tuple<std::shared_ptr<DD4hepDetectorElement>, std::shared_ptr<Surface>>

Collect the sensitive surface & detector element.

Public Functions

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

The DD4hep detector element factory.

Parameters

mlogger – a screen output logger

void construct(Cache &cache, const dd4hep::DetElement &dd4hepElement, const Options &options)

Construction method of the detector elements.

Note

this method will call the recursive construction

Parameters
  • cache – [in,out] into which the Elements are filled

  • dd4hepElement – the detector element representing the super structure

  • options – to steer the conversion

struct Cache

Nested cache that records the conversion status.

Public Members

std::vector<Experimental::ProtoBinning> binnings = {}

The collected binnings.

std::size_t convertedMaterials = 0

matching and conversion statistics: materials

std::size_t convertedSurfaces = 0

matching and conversion statistics: surfaces

std::vector<DD4hepPassiveSurface> passiveSurfaces

The created non-const surfaces - for further processing,.

std::vector<DD4hepSensitiveSurface> sensitiveSurfaces

The created detector elements - for the detector store.

std::vector<Experimental::ProtoSupport> supports = {}

The collected supports.

struct Options

Nested options struct to steer the conversion.

Public Members

bool convertMaterial = true

Convert material directly.

bool convertPassive = true

Convert passive surfaces.

bool convertProxyMaterial = true

Convert proxy material - overrides convertMaterial if present.

bool convertSensitive = true

Convert sensitive surfaces.

ActsScalar surfaceMaterialThickness = 1_mm

New reference material thickness for surfaces.