Skip to content

Acts-300 enable digitization for DD4hepPlugin

Julia Hrdinka requested to merge ACTS-300_enableDigiDD4hepPlugin into master

Fixes ACTS-300. This merge request contains adaption in order to enable the creation of a DigitizationModule for a DD4hepDetElement. Therefore the base class implementation digitizationModule() in DetectorElementBase needed to be made pure virtual and hence, a dummy implementation needed to be implemented in TGeoDetectorElement and DetectorElementStub. In the DD4hepDetElement the digitzationModule can be created uniquely for every DetectorElement or, if several Modules have the same segmentation can be handed over as a shared pointer. In the second case the segmentation should be handed over with the ActsExtension, which can be attached to the DD4hep::DetElements which shared the segmentation. For that reason the ActsExtension has been adapted, which internally created and holds a shared pointer to a DigitizationModule.

Update after testing: Since it is not possible to attach one extension to several different DD4hep DetElements, only the Acts::DigitizationModule should be shared amongst the Modules. Global helper functions to directly create the Acts::DigitizationModule from DD4hep input and (which can then be attached to several Modules via the Extensions) have been added. In this implementation the user directly hands over the dimension of the module, which are known at this time (during the detector construction). This has the nice side effect that the ugly design (string identification) of finding out how the modules are oriented is not copied. For the rare case that the digitization modules should be created uniquely for each detector element a flag has been added which should be set explicitly to true by the user, if wanted (can be very time consuming).

Merge request reports