Back to home page

EIC code displayed by LXR

 
 

    


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

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 argparse
0010 
0011 # ------------------------------------------------------------------------------
0012 # Options parsing
0013 # ------------------------------------------------------------------------------
0014 
0015 """ Parent parser that contains propagation options """
0016 
0017 
0018 def propagation_options():
0019 
0020     parser = argparse.ArgumentParser(add_help=False)
0021 
0022     # Navigation options
0023     parser.add_argument(
0024         "--min_mask_tol",
0025         "-min_mtol",
0026         help=("Min. mask tolerance [mm]"),
0027         default=1e-05,
0028         type=float,
0029     )
0030     parser.add_argument(
0031         "--max_mask_tol",
0032         "-max_mtol",
0033         help=("Max. mask tolerance [mm]"),
0034         default=3,
0035         type=float,
0036     )
0037     parser.add_argument(
0038         "--mask_tol_scalor",
0039         "-mtol_scalor",
0040         help=("Scale factor for mask tol."),
0041         default=0.05,
0042         type=float,
0043     )
0044     parser.add_argument(
0045         "--path_tol", "-ptol", help=("Path tolerance [um]"), default=1, type=float
0046     )
0047     parser.add_argument(
0048         "--overstep_tol",
0049         "-otol",
0050         help=("Overstep tolerance [um]"),
0051         default=-300,
0052         type=float,
0053     )
0054     parser.add_argument(
0055         "--search_window",
0056         "-sw",
0057         nargs=2,
0058         help=("Surface grid search window."),
0059         default=[0, 0],
0060         type=int,
0061     )
0062     parser.add_argument(
0063         "--estimate_scattering_noise",
0064         "-scatt",
0065         help=("Open mask tol. die to scattering."),
0066         action="store_true",
0067         default=False,
0068     )
0069     parser.add_argument(
0070         "--n_scattering_stddev",
0071         "-stddev",
0072         help=("# standard deviations for scattering noise."),
0073         default=2,
0074         type=int,
0075     )
0076     parser.add_argument(
0077         "--accumulated_error",
0078         "-aerr",
0079         help=("Positional error with path length [%]"),
0080         default=0.0001,
0081         type=float,
0082     )
0083 
0084     # Parameter transport options
0085     parser.add_argument(
0086         "--min_step_size",
0087         "-min_step",
0088         help=("Min. Runge-Kutta step size [mm]"),
0089         default=0.0001,
0090         type=float,
0091     )
0092     parser.add_argument(
0093         "--max_step_size",
0094         "-max_step",
0095         help=("Max. RKN step size [mm]"),
0096         default=3.40282e38,
0097         type=float,
0098     )
0099     parser.add_argument(
0100         "--rk_error_tol",
0101         "-rk_tol",
0102         help=("Runge-Kutta tolerance size [mm]"),
0103         default=0.0001,
0104         type=float,
0105     )
0106     parser.add_argument(
0107         "--path_limit",
0108         "-plim",
0109         help=("Max. path length of a track [m]"),
0110         default=5,
0111         type=float,
0112     )
0113     parser.add_argument(
0114         "--bethe_energy_loss",
0115         "-bethe",
0116         help=("Use Bethe energy loss"),
0117         action="store_true",
0118         default=False,
0119     )
0120     parser.add_argument(
0121         "--covariance_transport",
0122         "-cov_trnsp",
0123         help=("Do covaraiance transport"),
0124         action="store_true",
0125         default=False,
0126     )
0127     parser.add_argument(
0128         "--energy_loss_grad",
0129         "-egrad",
0130         help=("Use energy loss gradient"),
0131         action="store_true",
0132         default=False,
0133     )
0134     parser.add_argument(
0135         "--bfield_grad",
0136         "-bgrad",
0137         help=("Use B-field gradient"),
0138         action="store_true",
0139         default=False,
0140     )
0141 
0142     return parser