Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:10:08

0001 #!/usr/bin/env python3
0002 from pathlib import Path
0003 
0004 import acts
0005 from acts.examples import (
0006     readDigiConfigFromJson,
0007     DigitizationConfigurator,
0008     writeDigiConfigToJson,
0009     GenericDetector,
0010     GeometryHierarchyMap_DigiComponentsConfig,
0011 )
0012 
0013 
0014 u = acts.UnitConstants
0015 
0016 
0017 def runDigitizationConfig(
0018     trackingGeometry,
0019     input: Path,
0020     output: Path,
0021 ):
0022     inputConfig = readDigiConfigFromJson(str(input))
0023 
0024     digiConfigurator = DigitizationConfigurator()
0025     digiConfigurator.compactify = True
0026     digiConfigurator.inputDigiComponents = inputConfig
0027 
0028     trackingGeometry.visitSurfaces(digiConfigurator)
0029 
0030     outputConfig = GeometryHierarchyMap_DigiComponentsConfig(
0031         digiConfigurator.outputDigiComponents
0032     )
0033 
0034     writeDigiConfigToJson(outputConfig, str(output))
0035 
0036 
0037 if "__main__" == __name__:
0038     detector, trackingGeometry, _ = GenericDetector.create()
0039 
0040     runDigitizationConfig(
0041         trackingGeometry=trackingGeometry,
0042         input=Path(__file__).parent
0043         / "../../Algorithms/Digitization/share/default-smearing-config-generic.json",
0044         output=Path.cwd() / "digi-config-out.json",
0045     )