File indexing completed on 2026-05-27 07:24:18
0001
0002
0003
0004
0005
0006
0007
0008
0009 import argparse
0010
0011
0012
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
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
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