Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-27 07:24:06

0001 # This file is part of the ACTS project.
0002 #
0003 # Copyright (C) 2016 CERN for the benefit of the ACTS project
0004 #
0005 # This Source Code Form is subject to the terms of the Mozilla Public
0006 # License, v. 2.0. If a copy of the MPL was not distributed with this
0007 # file, You can obtain one at https://mozilla.org/MPL/2.0/.
0008 
0009 import detray
0010 
0011 from detray.detectors import metadata, metadata_generator
0012 from detray.detectors import Shape
0013 from detray.detectors import add_wire_chamber_defaults
0014 
0015 import argparse
0016 import logging
0017 import sys
0018 
0019 # --------------------------------------------------------------------------
0020 # Generate the wire chamber metadata type
0021 # --------------------------------------------------------------------------
0022 
0023 """ Add all types needed to describe the wire chamber test detector """
0024 
0025 
0026 def add_wire_chamber_types(md: metadata):
0027     logger = logging.getLogger(__name__)
0028     logger.info("Define types required by the wire chamber detector:")
0029 
0030     # Add default types for wire chambers
0031     add_wire_chamber_defaults(md, use_mat_maps=True, use_homogeneous_mat=True)
0032 
0033     logger.info("Done")
0034 
0035 
0036 def __main__():
0037     # Commandline options
0038     parser = argparse.ArgumentParser(prog=sys.argv[0])
0039     detray.detectors.add_logging_options(parser)
0040     detray.detectors.add_io_options(parser)
0041 
0042     args = parser.parse_args()
0043     detray.detectors.parse_logging_options(args)
0044     detray.detectors.parse_io_options(args)
0045 
0046     md = metadata("wire_chamber")
0047 
0048     add_wire_chamber_types(md)
0049 
0050     # Dump the metadata to header file
0051     if args.output:
0052         metadata_generator(md, args.output)
0053     else:
0054         metadata_generator(md)
0055 
0056 
0057 if __name__ == "__main__":
0058     __main__()