|
ACTS
Experiment-independent tracking
|
Namespaces | |
| namespace | ActsPlugins::DD4hepBinningHelpers |
Classes | |
| class | ActsPlugins::DD4hepDetectorElement |
| DetectorElement class implementation for DD4hep geometry. More... | |
| struct | ActsPlugins::DD4hepDetectorElementExtension |
| This extension holds an ACTS detector element belonging to a DD4hep detector element, and synchronizes ownership. More... | |
| class | ActsPlugins::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. More... | |
| class | ActsPlugins::DD4hepFieldAdapter |
| class | ActsPlugins::DD4hepLayerBuilder |
| build layers of one cylinder-endcap setup from DD4hep input More... | |
| class | ActsPlugins::DD4hepVolumeBuilder |
| build confined TrackingVolumes of one cylinder setup from DD4hep input. More... | |
Functions | |
| void | ActsPlugins::addCylinderLayerProtoMaterial (dd4hep::DetElement detElement, Acts::Layer &cylinderLayer, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Helper method to translate DD4hep material to Acts::ISurfaceMaterial. | |
| void | ActsPlugins::addDiscLayerProtoMaterial (dd4hep::DetElement detElement, Acts::Layer &discLayer, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Helper method to translate DD4hep material to Acts::ISurfaceMaterial. | |
| void | ActsPlugins::addLayerProtoMaterial (const dd4hep::rec::VariantParameters ¶ms, Acts::Layer &layer, const std::vector< std::pair< const std::string, Acts::BinningOption > > &binning, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Helper method to be called for Cylinder and Disc Proto material. | |
| void | ActsPlugins::collectCompounds_dd4hep (dd4hep::DetElement &detElement, std::vector< dd4hep::DetElement > &compounds) |
| Method internally used by convertDD4hepDetector to collect all volumes of a compound detector. | |
| void | ActsPlugins::collectLayers_dd4hep (dd4hep::DetElement &detElement, std::vector< dd4hep::DetElement > &layers, const Acts::Logger &logger) |
| Method internally used by convertDD4hepDetector. | |
| void | ActsPlugins::collectSubDetectors_dd4hep (dd4hep::DetElement &detElement, std::vector< dd4hep::DetElement > &subdetectors, const Acts::Logger &logger) |
| Method internally used by convertDD4hepDetector to collect all sub detectors Sub detector means each 'compound' DetElement or DetElements which are declared as 'isBarrel' or 'isBeampipe' by their extension. | |
| std::vector< std::tuple< Acts::DirectedProtoAxis, std::size_t > > | ActsPlugins::DD4hepBinningHelpers::convertBinning (const dd4hep::DetElement &dd4hepElement, const std::string &bname) |
| This method converts the DD4hep binning into the Acts ProtoAxis. | |
| std::unique_ptr< const Acts::TrackingGeometry > | ActsPlugins::convertDD4hepDetector (dd4hep::DetElement worldDetElement, const Acts::Logger &logger, Acts::BinningType bTypePhi=Acts::equidistant, Acts::BinningType bTypeR=Acts::equidistant, Acts::BinningType bTypeZ=Acts::equidistant, double layerEnvelopeR=Acts::UnitConstants::mm, double layerEnvelopeZ=Acts::UnitConstants::mm, double defaultLayerThickness=Acts::UnitConstants::fm, const std::function< void(std::vector< dd4hep::DetElement > &detectors)> &sortSubDetectors=sortDetElementsByID, const Acts::GeometryContext &gctx=Acts::GeometryContext::dangerouslyDefaultConstruct(), std::shared_ptr< const Acts::IMaterialDecorator > matDecorator=nullptr, std::shared_ptr< const Acts::GeometryIdentifierHook > geometryIdentifierHook=std::make_shared< Acts::GeometryIdentifierHook >(), const DD4hepLayerBuilder::ElementFactory &detectorElementFactory=DD4hepLayerBuilder::defaultDetectorElementFactory) |
| Global method which creates the TrackingGeometry from DD4hep input. | |
| std::shared_ptr< Acts::ProtoSurfaceMaterial > | ActsPlugins::createProtoMaterial (const dd4hep::rec::VariantParameters ¶ms, const std::string &valueTag, const std::vector< std::pair< const std::string, Acts::BinningOption > > &binning, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Helper method to create proto material - to be called from the addProto(...) methods. | |
| std::shared_ptr< const Acts::CylinderVolumeHelper > | ActsPlugins::cylinderVolumeHelper_dd4hep (const Acts::Logger &logger) |
| Helper method internally used to create a default Acts::CylinderVolumeBuilder. | |
| template<typename value_type> | |
| std::vector< value_type > | ActsPlugins::extractSeries (const dd4hep::DetElement &dd4hepElement, const std::string &bname, const value_type &unitConversion=1) |
| A simple helper function to extract a series. | |
| Acts::Transform3 | ActsPlugins::extractTransform (const dd4hep::DetElement &dd4hepElement, const std::string &bname, const double unitConversion=1.) |
| A simple helper function to extract a transform. | |
| template<typename value_type> | |
| value_type | ActsPlugins::getAttrValueOr (const dd4hep::xml::Component &node, const std::string &attrName, const value_type &fallbackValue) |
| Helper method to get an attribute with fallback. | |
| Config | ActsPlugins::DD4hepLayerBuilder::getConfiguration () const |
| get the configuration object | |
| Config | ActsPlugins::DD4hepVolumeBuilder::getConfiguration () const |
| Get the configuration object. | |
| template<typename T> | |
| T | ActsPlugins::getParam (const std::string &key, dd4hep::DetElement &elt) |
| Helper function to extract a parameter value from a dd4hep detector element from VariantParameters. | |
| template<typename T> | |
| T | ActsPlugins::getParamOr (const std::string &key, const dd4hep::DetElement &elt, T alternative) |
| Get a parameter value or an alternative value if either the VariantParameters extension isn't set, or it doesn't contain the demanded key. | |
| const dd4hep::rec::VariantParameters & | ActsPlugins::getParams (const dd4hep::DetElement &elt) |
| Helper function to extract a VariantParameters instance, const version. | |
| dd4hep::rec::VariantParameters & | ActsPlugins::getParams (dd4hep::DetElement &elt) |
| Helper function to extract a VariantParameters instance. | |
| bool | ActsPlugins::hasParam (const std::string &key, dd4hep::DetElement &elt) |
| Check if a detector element has a key set in its VariantParameters. | |
| bool | ActsPlugins::hasParams (dd4hep::DetElement &elt) |
| Check if a detector element has VariantParameters set. | |
| const std::string & | ActsPlugins::DD4hepLayerBuilder::identification () const final |
| Name identification. | |
| const std::string & | ActsPlugins::DD4hepVolumeBuilder::identification () const final |
| Name identification. | |
| void | ActsPlugins::sortDetElementsByID (std::vector< dd4hep::DetElement > &det) |
| Sort function which sorts dd4hep::DetElement by their ID. | |
| Acts::AxisDirection | ActsPlugins::stringToAxisDirection (const std::string &binningString) |
| Helper method to convert the string to binning value. | |
| std::vector< Acts::AxisDirection > | ActsPlugins::stringToAxisDirections (const std::string &binningString, const char &del=',') |
| Helper method to cenvert a binning list string to a vector of binning values e.g. | |
| std::shared_ptr< const Acts::CylinderVolumeBuilder > | ActsPlugins::volumeBuilder_dd4hep (dd4hep::DetElement subDetector, const Acts::Logger &logger, Acts::BinningType bTypePhi=Acts::equidistant, Acts::BinningType bTypeR=Acts::equidistant, Acts::BinningType bTypeZ=Acts::equidistant, double layerEnvelopeR=Acts::UnitConstants::mm, double layerEnvelopeZ=Acts::UnitConstants::mm, double defaultLayerThickness=Acts::UnitConstants::fm, const DD4hepLayerBuilder::ElementFactory &detectorElementFactory=DD4hepLayerBuilder::defaultDetectorElementFactory) |
| Method internally used to create an Acts::CylinderVolumeBuilder. | |
Variables | |
| static const std::vector< std::tuple< std::string, Acts::AxisDirection > > | ActsPlugins::allowedBinnings |
| void ActsPlugins::addCylinderLayerProtoMaterial | ( | dd4hep::DetElement | detElement, |
| Acts::Layer & | cylinderLayer, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Helper method to translate DD4hep material to Acts::ISurfaceMaterial.
This is used to assign proto material to Cylinder Layers
| detElement | the DD4hep detector element for which this material is assigned |
| cylinderLayer | is the target layer |
| logger | a Logger for output |
| void ActsPlugins::addDiscLayerProtoMaterial | ( | dd4hep::DetElement | detElement, |
| Acts::Layer & | discLayer, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Helper method to translate DD4hep material to Acts::ISurfaceMaterial.
Thisis used to assign proto material to Disc Layers
| detElement | the DD4hep detector element for which this material is assigned |
| discLayer | is the target layer |
| logger | a Logger for output |
| void ActsPlugins::addLayerProtoMaterial | ( | const dd4hep::rec::VariantParameters & | params, |
| Acts::Layer & | layer, | ||
| const std::vector< std::pair< const std::string, Acts::BinningOption > > & | binning, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Helper method to be called for Cylinder and Disc Proto material.
For both, cylinder and disc, the closed binning value is "binPhi"
| params | An instance of DD4hep::VariantParameters |
| layer | the Layer to assign the proto material |
| binning | the Binning prescription for the ActsExtension |
| logger | a Logger for output |
| void ActsPlugins::collectCompounds_dd4hep | ( | dd4hep::DetElement & | detElement, |
| std::vector< dd4hep::DetElement > & | compounds ) |
Method internally used by convertDD4hepDetector to collect all volumes of a compound detector.
| [in] | detElement | the dd4hep::DetElement of the volume of which the compounds should be collected |
| [out] | compounds | the DD4hep::DetElements of the compounds contained by detElement |
| void ActsPlugins::collectLayers_dd4hep | ( | dd4hep::DetElement & | detElement, |
| std::vector< dd4hep::DetElement > & | layers, | ||
| const Acts::Logger & | logger ) |
Method internally used by convertDD4hepDetector.
| [in] | detElement | the dd4hep::DetElement of the volume of which the layers should be collected |
| [out] | layers | the DD4hep::DetElements of the layers contained by detElement |
| logger | a Logger for output |
| void ActsPlugins::collectSubDetectors_dd4hep | ( | dd4hep::DetElement & | detElement, |
| std::vector< dd4hep::DetElement > & | subdetectors, | ||
| const Acts::Logger & | logger ) |
Method internally used by convertDD4hepDetector to collect all sub detectors Sub detector means each 'compound' DetElement or DetElements which are declared as 'isBarrel' or 'isBeampipe' by their extension.
| [in] | detElement | the dd4hep::DetElement of the volume of which the sub detectors should be collected |
| [out] | subdetectors | the DD4hep::DetElements of the sub detectors contained by detElement |
| logger | a Logger for output |
| std::vector< std::tuple< Acts::DirectedProtoAxis, std::size_t > > ActsPlugins::DD4hepBinningHelpers::convertBinning | ( | const dd4hep::DetElement & | dd4hepElement, |
| const std::string & | bname ) |
This method converts the DD4hep binning into the Acts ProtoAxis.
| dd4hepElement | the element which has a binning description attached |
| bname | the binning base name, e.g. surface_binning, material_binning |
| std::unique_ptr< const Acts::TrackingGeometry > ActsPlugins::convertDD4hepDetector | ( | dd4hep::DetElement | worldDetElement, |
| const Acts::Logger & | logger, | ||
| Acts::BinningType | bTypePhi = Acts::equidistant, | ||
| Acts::BinningType | bTypeR = Acts::equidistant, | ||
| Acts::BinningType | bTypeZ = Acts::equidistant, | ||
| double | layerEnvelopeR = Acts::UnitConstants::mm, | ||
| double | layerEnvelopeZ = Acts::UnitConstants::mm, | ||
| double | defaultLayerThickness = Acts::UnitConstants::fm, | ||
| const std::function< void(std::vector< dd4hep::DetElement > &detectors)> & | sortSubDetectors = sortDetElementsByID, | ||
| const Acts::GeometryContext & | gctx = Acts::GeometryContext::dangerouslyDefaultConstruct(), | ||
| std::shared_ptr< const Acts::IMaterialDecorator > | matDecorator = nullptr, | ||
| std::shared_ptr< const Acts::GeometryIdentifierHook > | geometryIdentifierHook = std::make_shared< Acts::GeometryIdentifierHook >(), | ||
| const DD4hepLayerBuilder::ElementFactory & | detectorElementFactory = DD4hepLayerBuilder::defaultDetectorElementFactory ) |
Global method which creates the TrackingGeometry from DD4hep input.
This method returns a std::unique_ptr of the TrackingGeometry from the World DD4hep DetElement.
| [in] | worldDetElement | the DD4hep DetElement of the world |
| [in] | logger | A logger instance geometry building |
| [in] | bTypePhi | is how the sensitive surfaces (modules) should be binned in a layer in phi direction. |
| [in] | bTypeR | is how the sensitive surfaces (modules) should be binned in a layer in r direction |
| [in] | bTypeZ | is how the sensitive surfaces (modules) should be binned in a layer in z direction |
| [in] | layerEnvelopeR | the tolerance added to the geometrical extension in r of the layers contained to build the volume envelope around |
| [in] | layerEnvelopeZ | the tolerance added to the geometrical extension in z of the layers contained to build the volume envelope around |
| [in] | defaultLayerThickness | In case no surfaces (to be contained by the layer) are handed over, the layer thickness will be set to this value |
| [in] | sortSubDetectors | std::function which should be used in order to sort all sub detectors (=all Detelements collected by the method collectSubDetectors() ) from bottom to top to ensure correct wrapping of the volumes, which is needed for navigation. Therefore the different hierarchies need to be sorted ascending. The default is sorting by ID. |
| gctx | The geometry context to use | |
| matDecorator | is the material decorator that loads material maps | |
| geometryIdentifierHook | Hook to apply to surfaces during geometry closure. | |
| detectorElementFactory | Factory function to create ActsPlugins::DD4hepDetectorElement or derived classes |
| std::logic_error | if an error in the translation occurs |
| std::shared_ptr< Acts::ProtoSurfaceMaterial > ActsPlugins::createProtoMaterial | ( | const dd4hep::rec::VariantParameters & | params, |
| const std::string & | valueTag, | ||
| const std::vector< std::pair< const std::string, Acts::BinningOption > > & | binning, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Helper method to create proto material - to be called from the addProto(...) methods.
| params | An instance of DD4hep::VariantParameters |
| valueTag | the xml tag for to ActsExtension to be parsed |
| binning | the Binning prescription for the ActsExtension |
| logger | a Logger for output |
| std::shared_ptr< const Acts::CylinderVolumeHelper > ActsPlugins::cylinderVolumeHelper_dd4hep | ( | const Acts::Logger & | logger | ) |
Helper method internally used to create a default Acts::CylinderVolumeBuilder.
| logger | Logging instance |
| std::vector< value_type > ActsPlugins::extractSeries | ( | const dd4hep::DetElement & | dd4hepElement, |
| const std::string & | bname, | ||
| const value_type & | unitConversion = 1 ) |
A simple helper function to extract a series.
| value_type | the primitive type allowed by variant parameters |
| dd4hepElement | the detector element with associated variant parameters |
| bname | The base name attribute of the variant parameter pack |
| unitConversion | is a conversion factor DD4hep -> ACTS |
| Acts::Transform3 ActsPlugins::extractTransform | ( | const dd4hep::DetElement & | dd4hepElement, |
| const std::string & | bname, | ||
| const double | unitConversion = 1. ) |
A simple helper function to extract a transform.
| dd4hepElement | the detector element with associated variant parameters |
| bname | The base name attribute of the variant parameter pack |
| unitConversion | is a conversion factor DD4hep -> ACTS |
| value_type ActsPlugins::getAttrValueOr | ( | const dd4hep::xml::Component & | node, |
| const std::string & | attrName, | ||
| const value_type & | fallbackValue ) |
Helper method to get an attribute with fallback.
| value_type | the primitive type allowed by variant parameters |
| node | the node object from DD4hep |
| attrName | the name of the attribute that is checked |
| fallbackValue | the fallbackValue |
| DD4hepLayerBuilder::Config ActsPlugins::DD4hepLayerBuilder::getConfiguration | ( | ) | const |
get the configuration object
| DD4hepVolumeBuilder::Config ActsPlugins::DD4hepVolumeBuilder::getConfiguration | ( | ) | const |
Get the configuration object.
| T ActsPlugins::getParam | ( | const std::string & | key, |
| dd4hep::DetElement & | elt ) |
Helper function to extract a parameter value from a dd4hep detector element from VariantParameters.
| T | The value type |
| key | The key of the value to extract |
| elt | The detector element instance |
| T ActsPlugins::getParamOr | ( | const std::string & | key, |
| const dd4hep::DetElement & | elt, | ||
| T | alternative ) |
Get a parameter value or an alternative value if either the VariantParameters extension isn't set, or it doesn't contain the demanded key.
| T | The value type |
| key | The key of the value to extract |
| elt | The detector element instance |
| alternative | The value to return if no params are set of the key doesn't exist |
alternative | const dd4hep::rec::VariantParameters & ActsPlugins::getParams | ( | const dd4hep::DetElement & | elt | ) |
Helper function to extract a VariantParameters instance, const version.
| elt | The detector element instance |
| dd4hep::rec::VariantParameters & ActsPlugins::getParams | ( | dd4hep::DetElement & | elt | ) |
Helper function to extract a VariantParameters instance.
| elt | The detector element instance |
| bool ActsPlugins::hasParam | ( | const std::string & | key, |
| dd4hep::DetElement & | elt ) |
Check if a detector element has a key set in its VariantParameters.
| key | The key to check existence for |
| elt | The detector element instance |
| bool ActsPlugins::hasParams | ( | dd4hep::DetElement & | elt | ) |
Check if a detector element has VariantParameters set.
| elt | The detector element instance |
|
finalvirtual |
Name identification.
Implements Acts::ILayerBuilder.
|
finalvirtual |
Name identification.
Implements Acts::IConfinedTrackingVolumeBuilder.
| void ActsPlugins::sortDetElementsByID | ( | std::vector< dd4hep::DetElement > & | det | ) |
Sort function which sorts dd4hep::DetElement by their ID.
| [in,out] | det | the dd4hep::DetElements to be sorted |
| Acts::AxisDirection ActsPlugins::stringToAxisDirection | ( | const std::string & | binningString | ) |
Helper method to convert the string to binning value.
| binningString |
| std::vector< Acts::AxisDirection > ActsPlugins::stringToAxisDirections | ( | const std::string & | binningString, |
| const char & | del = ',' ) |
Helper method to cenvert a binning list string to a vector of binning values e.g.
"r,z" -> {AxisR, AxisZ}
| binningString | |
| del | the delimiter for the splitting |
| std::shared_ptr< const Acts::CylinderVolumeBuilder > ActsPlugins::volumeBuilder_dd4hep | ( | dd4hep::DetElement | subDetector, |
| const Acts::Logger & | logger, | ||
| Acts::BinningType | bTypePhi = Acts::equidistant, | ||
| Acts::BinningType | bTypeR = Acts::equidistant, | ||
| Acts::BinningType | bTypeZ = Acts::equidistant, | ||
| double | layerEnvelopeR = Acts::UnitConstants::mm, | ||
| double | layerEnvelopeZ = Acts::UnitConstants::mm, | ||
| double | defaultLayerThickness = Acts::UnitConstants::fm, | ||
| const DD4hepLayerBuilder::ElementFactory & | detectorElementFactory = DD4hepLayerBuilder::defaultDetectorElementFactory ) |
Method internally used to create an Acts::CylinderVolumeBuilder.
This method creates an Acts::CylinderVolumeBuilder from a sub detector (= 'compound' DetElement or DetElements which are declared as 'isBarrel' or 'isBeampipe' by their extension.
| [in] | subDetector | the DD4hep DetElement of the subdetector |
| [in] | logger | A logger instance |
| [in] | bTypePhi | is how the sensitive surfaces (modules) should be binned in a layer in phi direction. |
| [in] | bTypeR | is how the sensitive surfaces (modules) should be binned in a layer in r direction |
| [in] | bTypeZ | is how the sensitive surfaces (modules) should be binned in a layer in z direction |
| [in] | layerEnvelopeR | the tolerance added to the geometrical extension in r of the layers contained to build the volume envelope around |
| [in] | layerEnvelopeZ | the tolerance added to the geometrical extension in z of the layers contained to build the volume envelope around |
| [in] | defaultLayerThickness | In case no surfaces (to be contained by the layer) are handed over, the layer thickness will be set to this value |
| detectorElementFactory | Factory function to create ActsPlugins::DD4hepDetectorElement or derived classes |
|
static |