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.
-
std::vector<Experimental::ProtoBinning> binnings = {}
-
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.
-
bool convertMaterial = true
-
using DD4hepPassiveSurface = std::tuple<std::shared_ptr<Surface>, bool>