Version: SMASH-3.3
input_keys.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright (c) 2022-2025
4  * SMASH Team
5  *
6  * GNU General Public License (GPLv3 or later)
7  *
8  */
9 
10 #ifndef SRC_INCLUDE_SMASH_INPUT_KEYS_H_
11 #define SRC_INCLUDE_SMASH_INPUT_KEYS_H_
12 
13 #include <array>
14 #include <functional>
15 #include <map>
16 #include <set>
17 #include <string>
18 #include <utility>
19 #include <variant>
20 #include <vector>
21 
22 #include "einhard.hpp"
23 
24 #include "forwarddeclarations.h"
25 #include "key.h"
26 #include "pdgcode.h"
27 
28 namespace smash {
29 
48 struct InputSections {
50  using Section = KeyLabels;
51 
53  inline static const Section collisionTerm{"Collision_Term"};
55  inline static const Section c_dileptons =
56  InputSections::collisionTerm + "Dileptons";
58  inline static const Section c_pauliBlocking =
59  InputSections::collisionTerm + "Pauli_Blocking";
61  inline static const Section c_photons =
62  InputSections::collisionTerm + "Photons";
64  inline static const Section c_heavyFlavor =
65  InputSections::collisionTerm + "Heavy_Flavor";
67  inline static const Section c_stringParameters =
68  InputSections::collisionTerm + "String_Parameters";
70  inline static const Section c_stringTransition =
71  InputSections::collisionTerm + "String_Transition";
72 
74  inline static const Section forcedThermalization{"Forced_Thermalization"};
75 
77  inline static const Section general{"General"};
79  inline static const Section g_minEnsembles =
80  InputSections::general + "Minimum_Nonempty_Ensembles";
81 
83  inline static const Section lattice{"Lattice"};
84 
86  inline static const Section logging{"Logging"};
87 
89  inline static const Section modi{"Modi"};
91  inline static const Section m_box = InputSections::modi + "Box";
93  inline static const Section m_b_jet = InputSections::m_box + "Jet";
95  inline static const Section m_collider = InputSections::modi + "Collider";
97  inline static const Section m_c_impact = InputSections::m_collider + "Impact";
99  inline static const Section m_c_initialConditions =
100  InputSections::m_collider + "Initial_Conditions";
102  inline static const Section m_c_projectile =
103  InputSections::m_collider + "Projectile";
105  inline static const Section m_c_p_alphaClustered =
106  InputSections::m_c_projectile + "Alpha_Clustered";
108  inline static const Section m_c_p_custom =
111  inline static const Section m_c_p_deformed =
112  InputSections::m_c_projectile + "Deformed";
114  inline static const Section m_c_p_orientation =
115  InputSections::m_c_projectile + "Orientation";
117  inline static const Section m_c_target = InputSections::m_collider + "Target";
119  inline static const Section m_c_t_alphaClustered =
120  InputSections::m_c_target + "Alpha_Clustered";
122  inline static const Section m_c_t_custom =
123  InputSections::m_c_target + "Custom";
125  inline static const Section m_c_t_deformed =
126  InputSections::m_c_target + "Deformed";
128  inline static const Section m_c_t_orientation =
129  InputSections::m_c_target + "Orientation";
131  inline static const Section m_list = InputSections::modi + "List";
133  inline static const Section m_listBox = InputSections::modi + "ListBox";
135  inline static const Section m_sphere = InputSections::modi + "Sphere";
137  inline static const Section m_s_jet = InputSections::m_sphere + "Jet";
138 
140  inline static const Section output{"Output"};
142  inline static const Section o_collisions =
143  InputSections::output + "Collisions";
145  inline static const Section o_coulomb = InputSections::output + "Coulomb";
147  inline static const Section o_dileptons = InputSections::output + "Dileptons";
149  inline static const Section o_initialConditions =
150  InputSections::output + "Initial_Conditions";
152  inline static const Section o_particles = InputSections::output + "Particles";
154  inline static const Section o_photons = InputSections::output + "Photons";
156  inline static const Section o_rivet = InputSections::output + "Rivet";
158  inline static const Section o_r_weights = InputSections::o_rivet + "Weights";
160  inline static const Section o_thermodynamics =
161  InputSections::output + "Thermodynamics";
162 
164  inline static const Section potentials{"Potentials"};
166  inline static const Section p_coulomb = InputSections::potentials + "Coulomb";
168  inline static const Section p_momentumDependence =
169  InputSections::potentials + "Momentum_Dependence";
171  inline static const Section p_skyrme = InputSections::potentials + "Skyrme";
173  inline static const Section p_symmetry =
174  InputSections::potentials + "Symmetry";
176  inline static const Section p_vdf = InputSections::potentials + "VDF";
177 };
178 
1116 struct InputKeys {
1120  inline static const Key<std::string> particles{{"particles"}, {"0.30"}};
1124  inline static const Key<std::string> decaymodes{{"decaymodes"}, {"0.30"}};
1125 
1142  inline static const Key<double> gen_endTime{
1143  InputSections::general + "End_Time", {"0.50"}};
1144 
1168  inline static const Key<std::string> gen_modus{
1169  InputSections::general + "Modus", {"0.50"}};
1170 
1184  inline static const Key<int> gen_nevents{InputSections::general + "Nevents",
1185  {"0.50"}};
1186 
1197  inline static const Key<int64_t> gen_randomseed{
1198  InputSections::general + "Randomseed", {"0.50"}};
1199 
1211  InputSections::g_minEnsembles + "Maximum_Ensembles_Run", {"2.2"}};
1212 
1223  InputSections::g_minEnsembles + "Number", {"1.3"}};
1224 
1253  inline static const Key<double> gen_deltaTime{
1254  InputSections::general + "Delta_Time", 1.0, {"0.50"}};
1255 
1277  InputSections::general + "Derivatives_Mode",
1279  {"2.1"}};
1280 
1294  InputSections::general + "Discrete_Weight", 1. / 3, {"2.1"}};
1295 
1323  inline static const Key<int> gen_ensembles{
1324  InputSections::general + "Ensembles", 1, {"2.1"}};
1325 
1341  inline static const Key<double> gen_expansionRate{
1342  InputSections::general + "Expansion_Rate", 0.1, {"1.1"}};
1343 
1371  InputSections::general + "Field_Derivatives_Mode",
1373  {"2.1"}};
1374 
1386  InputSections::general + "Gauss_Cutoff_In_Sigma", 4.0, {"0.80"}};
1387 
1399  InputSections::general + "Gaussian_Sigma", 1.0, {"0.60"}};
1400 
1415  inline static const Key<ExpansionMode> gen_metricType{
1416  InputSections::general + "Metric_Type",
1418  {"1.1"}};
1419 
1440  inline static const Key<RestFrameDensityDerivativesMode>
1442  InputSections::general + "Rest_Frame_Density_Derivatives_Mode",
1444  {"2.1", "3.0", "3.0"}};
1445 
1501  InputSections::general + "Smearing_Mode",
1503  {"2.1"}};
1504 
1532  inline static const Key<int> gen_testparticles{
1533  InputSections::general + "Testparticles", 1, {"0.50"}};
1534 
1557  InputSections::general + "Time_Step_Mode", TimeStepMode::Fixed, {"0.85"}};
1558 
1570  InputSections::general + "Triangular_Range", 2.0, {"2.1"}};
1571 
1583  inline static const Key<bool> gen_useGrid{
1584  InputSections::general + "Use_Grid", true, {"0.80"}};
1585 
1600  InputSections::logging + "default", einhard::ALL, {"0.50"}};
1601 
1615  inline static const Key<einhard::LogLevel> log_box{
1616  InputSections::logging + "Box", DefaultType::Dependent, {"0.30"}};
1617 
1629  InputSections::logging + "Collider", DefaultType::Dependent, {"0.30"}};
1630 
1642  InputSections::logging + "Configuration",
1644  {"3.0"}};
1645 
1657  InputSections::logging + "Experiment", DefaultType::Dependent, {"0.50"}};
1658 
1670  InputSections::logging + "GrandcanThermalizer",
1672  {"1.2"}};
1673 
1685  InputSections::logging + "InitialConditions",
1687  {"1.8"}};
1688 
1699  inline static const Key<einhard::LogLevel> log_list{
1700  InputSections::logging + "List", DefaultType::Dependent, {"0.60"}};
1701 
1712  inline static const Key<einhard::LogLevel> log_main{
1713  InputSections::logging + "Main", DefaultType::Dependent, {"0.50"}};
1714 
1725  inline static const Key<einhard::LogLevel> log_output{
1726  InputSections::logging + "Output", DefaultType::Dependent, {"0.60"}};
1727 
1739  InputSections::logging + "Potentials", DefaultType::Dependent, {"3.1"}};
1740 
1752  InputSections::logging + "RootSolver", DefaultType::Dependent, {"3.1"}};
1753 
1764  inline static const Key<einhard::LogLevel> log_sphere{
1765  InputSections::logging + "Sphere", DefaultType::Dependent, {"0.30"}};
1766 
1780  inline static const Key<einhard::LogLevel> log_action{
1781  InputSections::logging + "Action", DefaultType::Dependent, {"0.50"}};
1782 
1793  inline static const Key<einhard::LogLevel> log_clock{
1794  InputSections::logging + "Clock", DefaultType::Dependent, {"0.50"}};
1795 
1807  InputSections::logging + "CrossSections",
1809  {"1.3"}};
1810 
1822  InputSections::logging + "DecayModes", DefaultType::Dependent, {"0.50"}};
1823 
1835  InputSections::logging + "Density", DefaultType::Dependent, {"0.60"}};
1836 
1848  InputSections::logging + "Distributions",
1850  {"0.50"}};
1851 
1863  InputSections::logging + "FindScatter", DefaultType::Dependent, {"0.50"}};
1864 
1874  inline static const Key<einhard::LogLevel> log_fpe{
1875  InputSections::logging + "Fpe", DefaultType::Dependent, {"0.80"}};
1876 
1887  inline static const Key<einhard::LogLevel> log_grid{
1888  InputSections::logging + "Grid", DefaultType::Dependent, {"0.50"}};
1889 
1901  InputSections::logging + "HyperSurfaceCrossing",
1903  {"1.7"}};
1904 
1916  InputSections::logging + "InputParser", DefaultType::Dependent, {"0.50"}};
1917 
1929  InputSections::logging + "Lattice", DefaultType::Dependent, {"0.80"}};
1930 
1942  InputSections::logging + "Nucleus", DefaultType::Dependent, {"0.30"}};
1943 
1955  InputSections::logging + "ParticleType",
1957  {"0.50"}};
1958 
1970  InputSections::logging + "PauliBlocking",
1972  {"0.7.1"}};
1973 
1985  InputSections::logging + "Propagation",
1987  {"0.7.1"}};
1988 
1999  inline static const Key<einhard::LogLevel> log_pythia{
2000  InputSections::logging + "Pythia", DefaultType::Dependent, {"1.0"}};
2001 
2013  InputSections::logging + "Resonances", DefaultType::Dependent, {"0.50"}};
2014 
2026  InputSections::logging + "ScatterAction",
2028  {"0.50"}};
2029 
2042  InputSections::logging + "ScatterActionMulti",
2044  {"2.0"}};
2045 
2055  inline static const Key<einhard::LogLevel> log_tmn{
2056  InputSections::logging + "Tmn", DefaultType::Dependent, {"0.80"}};
2057 
2066  inline static const Key<std::string> version{{"Version"},
2067  {"1.0", "3.0", "3.2"}};
2068 
2080  InputSections::c_heavyFlavor + "AQM_Bottom_Suppression", 0.93, {"3.2"}};
2081 
2093  InputSections::c_heavyFlavor + "AQM_Charm_Suppression", 0.8, {"3.2"}};
2094 
2109  InputSections::collisionTerm + "Additional_Elastic_Cross_Section",
2110  0.0,
2111  {"2.0"}};
2112 
2157  InputSections::collisionTerm + "Collision_Criterion",
2159  {"1.7"}};
2160 
2174  InputSections::collisionTerm + "Cross_Section_Scaling", 1.0, {"2.0"}};
2175 
2189  InputSections::collisionTerm + "Elastic_Cross_Section", -1.0, {"1.2"}};
2190 
2207  InputSections::collisionTerm + "Elastic_NN_Cutoff_Sqrts", 1.98, {"1.0"}};
2208 
2222  InputSections::collisionTerm + "Fixed_Min_Cell_Length", 2.5, {"2.1"}};
2223 
2235  InputSections::collisionTerm + "Force_Decays_At_End", true, {"0.60"}};
2236 
2248  inline static const Key<bool> collTerm_decayInitial{
2249  InputSections::collisionTerm + "Decay_Initial_Particles", true, {"3.0"}};
2250 
2285  InputSections::collisionTerm + "Included_2to2",
2286  ReactionsBitSet{}.set(), // All interactions => all bit set
2287  {"1.3"}};
2288 
2300  InputSections::collisionTerm + "Include_Weak_And_EM_Decays_At_The_End",
2301  false,
2302  {"2.2", "3.1", "3.2"}};
2303 
2327  "Ignore_Minimum_Decay_Width_For_Decays_At_The_End",
2328  false,
2329  {"3.2"}};
2330 
2340  inline static const Key<bool> collTerm_isotropic{
2341  InputSections::collisionTerm + "Isotropic", false, {"0.7.1"}};
2342 
2369  InputSections::collisionTerm + "Maximum_Cross_Section",
2371  {"2.0"}};
2372 
2415  inline static const Key<MultiParticleReactionsBitSet>
2417  InputSections::collisionTerm + "Multi_Particle_Reactions",
2418  MultiParticleReactionsBitSet{}.reset(), // Empty list => no bit set
2419  {"2.0"}};
2420 
2442  InputSections::collisionTerm + "NNbar_Treatment",
2444  {"1.3"}};
2445 
2458  inline static const Key<bool> collTerm_noCollisions{
2459  InputSections::collisionTerm + "No_Collisions", false, {"1.3"}};
2460 
2475  InputSections::collisionTerm + "Only_Warn_For_High_Probability",
2476  false,
2477  {"3.0"}};
2478 
2509  InputSections::collisionTerm + "Pseudoresonance",
2511  {"3.1"}};
2512 
2535  InputSections::collisionTerm + "Resonance_Lifetime_Modifier",
2536  1.0,
2537  {"1.8"}};
2538 
2550  InputSections::collisionTerm + "Spin_Interactions",
2552  {"3.3"}};
2553 
2565  inline static const Key<bool> collTerm_strings{
2566  InputSections::collisionTerm + "Strings",
2568  {"1.0"}};
2569 
2598  InputSections::collisionTerm + "Strings_with_Probability", true, {"1.3"}};
2599 
2630  InputSections::collisionTerm + "Total_Cross_Section_Strategy",
2632  {"3.1"}};
2633 
2643  inline static const Key<bool> collTerm_twoToOne{
2644  InputSections::collisionTerm + "Two_to_One", true, {"0.85"}};
2645 
2673  inline static const Key<bool> collTerm_useAQM{
2674  InputSections::collisionTerm + "Use_AQM", true, {"1.3"}};
2675 
2686  InputSections::c_pauliBlocking + "Gaussian_Cutoff", 2.2, {"0.7.1"}};
2687 
2697  inline static const Key<double>
2699  InputSections::c_pauliBlocking + "Momentum_Averaging_Radius",
2700  0.08,
2701  {"0.7.1"}};
2702 
2713  InputSections::c_pauliBlocking + "Spatial_Averaging_Radius",
2714  1.86,
2715  {"0.7.1"}};
2716 
2727  InputSections::c_stringTransition + "KN_Offset", 15.15, {"3.0"}};
2728 
2742  InputSections::c_stringTransition + "PiPi_Offset", 1.12, {"3.0"}};
2743 
2755  InputSections::c_stringTransition + "Sqrts_Lower", 0.9, {"3.0"}};
2756 
2771  inline static const Key<std::pair<double, double>>
2773  InputSections::c_stringTransition + "Sqrts_Range_NN",
2774  std::make_pair(3.5, 4.5),
2775  {"3.0"}};
2776 
2788  inline static const Key<std::pair<double, double>>
2790  InputSections::c_stringTransition + "Sqrts_Range_Npi",
2791  std::make_pair(1.9, 2.2),
2792  {"3.0"}};
2793 
2806  InputSections::c_stringTransition + "Sqrts_Range_Width", 1.0, {"3.0"}};
2807 
2819  InputSections::c_stringParameters + "Diquark_Supp", 0.036, {"1.3"}};
2820 
2832  InputSections::c_stringParameters + "Form_Time_Factor", 1.0, {"1.4"}};
2833 
2844  InputSections::c_stringParameters + "Formation_Time", 1.0, {"1.0"}};
2845 
2857  InputSections::c_stringParameters + "Gluon_Beta", 0.5, {"1.3"}};
2858 
2871  InputSections::c_stringParameters + "Gluon_Pmin", 0.001, {"1.3"}};
2872 
2885  InputSections::c_stringParameters + "Mass_Dependent_Formation_Times",
2886  false,
2887  {"1.5.2"}};
2888 
2900  InputSections::c_stringParameters + "Quark_Alpha", 2.0, {"1.3"}};
2901 
2913  InputSections::c_stringParameters + "Quark_Beta", 7.0, {"1.3"}};
2914 
2928  InputSections::c_stringParameters + "Popcorn_Rate", 0.15, {"1.6"}};
2929 
2944  InputSections::c_stringParameters + "Power_Particle_Formation",
2946  {"1.4"}};
2947 
2960  InputSections::c_stringParameters + "Prob_proton_to_d_uu",
2961  1.0 / 3,
2962  {"1.5"}};
2963 
2975  InputSections::c_stringParameters + "Separate_Fragment_Baryon",
2976  true,
2977  {"1.6"}};
2978 
2995  InputSections::c_stringParameters + "Sigma_Perp", 0.42, {"1.3"}};
2996 
3013  InputSections::c_stringParameters + "Strange_Supp", 0.16, {"1.3"}};
3014 
3026  InputSections::c_stringParameters + "String_Sigma_T", 0.5, {"1.3"}};
3027 
3041  InputSections::c_stringParameters + "String_Tension", 1.0, {"1.3"}};
3042 
3054  InputSections::c_stringParameters + "StringZ_A", 2.0, {"1.3"}};
3055 
3068  InputSections::c_stringParameters + "StringZ_A_Leading", 0.2, {"1.6"}};
3069 
3081  InputSections::c_stringParameters + "StringZ_B", 0.55, {"1.3"}};
3082 
3096  InputSections::c_stringParameters + "StringZ_B_Leading", 2.0, {"1.6"}};
3097 
3113  InputSections::c_stringParameters + "Use_Monash_Tune",
3115  {"3.0"}};
3116 
3130  InputSections::c_dileptons + "Decays", false, {"0.50"}};
3131 
3142  InputSections::c_photons + "2to2_Scatterings", false, {"1.8"}};
3143 
3154  InputSections::c_photons + "Bremsstrahlung", false, {"1.8"}};
3155 
3167  InputSections::c_photons + "Fractional_Photons", {"1.8"}};
3168 
3185  inline static const Key<double> modi_collider_eKin{
3186  InputSections::m_collider + "E_Kin", {"0.50"}};
3187 
3201  inline static const Key<double> modi_collider_eTot{
3202  InputSections::m_collider + "E_Tot", {"2.0.2"}};
3203 
3218  inline static const Key<double> modi_collider_pLab{
3219  InputSections::m_collider + "P_Lab", {"0.50"}};
3220 
3233  inline static const Key<double> modi_collider_sqrtSNN{
3234  InputSections::m_collider + "Sqrtsnn", {"0.50"}};
3235 
3258  InputSections::m_collider + "Calculation_Frame",
3260  {"0.50"}};
3261 
3274  InputSections::m_collider + "Collisions_Within_Nucleus", false, {"1.0"}};
3275 
3290  InputSections::m_collider + "Fermi_Motion", FermiMotion::Off, {"0.60"}};
3291 
3306  InputSections::m_collider + "Initial_Distance", 4.0, {"0.50"}};
3307 
3327  InputSections::m_c_projectile + "Diffusiveness",
3329  {"0.90"}};
3334  InputSections::m_c_target + "Diffusiveness",
3336  {"0.90"}};
3337 
3353  inline static const Key<std::map<PdgCode, int>>
3355  InputSections::m_c_projectile + "Particles", {"0.50"}};
3359  inline static const Key<std::map<PdgCode, int>>
3361  {"0.50"}};
3362 
3381  InputSections::m_c_projectile + "Radius",
3383  {"0.50"}};
3388  InputSections::m_c_target + "Radius", DefaultType::Dependent, {"0.50"}};
3389 
3404  InputSections::m_c_projectile + "Saturation_Density",
3406  {"0.50"}};
3411  InputSections::m_c_target + "Saturation_Density",
3413  {"0.50"}};
3414 
3430  InputSections::m_c_projectile + "E_Kin", {"0.50"}};
3435  InputSections::m_c_target + "E_Kin", {"0.50"}};
3436 
3449  InputSections::m_c_projectile + "E_Tot", {"2.0.2"}};
3454  InputSections::m_c_target + "E_Tot", {"2.0.2"}};
3455 
3476  InputSections::m_c_projectile + "P_Lab", {"0.50"}};
3481  InputSections::m_c_target + "P_Lab", {"0.50"}};
3482 
3499  inline static const Key<std::string>
3501  InputSections::m_c_p_custom + "File_Directory", {"1.6"}};
3505  inline static const Key<std::string>
3507  InputSections::m_c_t_custom + "File_Directory", {"1.6"}};
3508 
3519  InputSections::m_c_p_custom + "File_Name", {"1.6"}};
3524  InputSections::m_c_t_custom + "File_Name", {"1.6"}};
3525 
3560  InputSections::m_c_p_deformed + "Automatic", {"1.5"}};
3565  InputSections::m_c_t_deformed + "Automatic", {"1.5"}};
3566 
3578  InputSections::m_c_p_deformed + "Beta_2", 0.0, {"1.5"}};
3583  InputSections::m_c_t_deformed + "Beta_2",
3585  {"1.5"}};
3586 
3598  InputSections::m_c_p_deformed + "Beta_3", 0.0, {"3.0"}};
3603  InputSections::m_c_t_deformed + "Beta_3",
3605  {"3.0"}};
3606 
3618  InputSections::m_c_p_deformed + "Beta_4", 0.0, {"1.5"}};
3623  InputSections::m_c_t_deformed + "Beta_4",
3625  {"1.5"}};
3626 
3638  InputSections::m_c_p_deformed + "Gamma", 0.0, {"3.0"}};
3645  {"3.0"}};
3646 
3678  inline static const Key<bool>
3680  InputSections::m_c_p_alphaClustered + "Automatic", {"3.2"}};
3685  InputSections::m_c_t_alphaClustered + "Automatic", {"3.2"}};
3686 
3698  inline static const Key<double>
3700  InputSections::m_c_p_alphaClustered + "Side_Length", 3.42, {"3.2"}};
3704  inline static const Key<double>
3706  InputSections::m_c_t_alphaClustered + "Side_Length",
3708  .default_value(),
3709  {"3.2"}};
3710 
3732  InputSections::m_c_p_orientation + "Phi", 0.0, {"0.50"}};
3739  {"0.50"}};
3750  InputSections::m_c_p_orientation + "Theta", 0.0, {"0.50"}};
3757  {"0.50"}};
3768  InputSections::m_c_p_orientation + "Psi", 0.0, {"3.0"}};
3775  {"3.0"}};
3776 
3787  InputSections::m_c_p_orientation + "Random_Rotation", false, {"1.7"}};
3792  InputSections::m_c_t_orientation + "Random_Rotation",
3794  {"1.7"}};
3795 
3807  InputSections::m_c_impact + "Max", 0.0, {"0.50"}};
3808 
3820  InputSections::m_c_impact + "Random_Reaction_Plane", false, {"1.8"}};
3821 
3833  InputSections::m_c_impact + "Range",
3834  std::array<double, 2>{{0.0, 0.0}},
3835  {"0.50"}};
3836 
3862  InputSections::m_c_impact + "Sample", Sampling::Quadratic, {"0.50"}};
3863 
3875  InputSections::m_c_impact + "Value", 0.0, {"0.50"}};
3876 
3893  InputSections::m_c_impact + "Values", {"0.80"}};
3894 
3909  InputSections::m_c_impact + "Yields", {"0.80"}};
3910 
3927  inline static const Key<FluidizationType>
3929  InputSections::m_c_initialConditions + "Type", {"3.2"}};
3930 
3944  InputSections::m_c_initialConditions + "Lower_Bound", 0.5, {"3.2"}};
3945 
3965  InputSections::m_c_initialConditions + "Proper_Time",
3967  {"3.2"}};
3968 
3984  InputSections::m_c_initialConditions + "Proper_Time_Scaling",
3985  1.0,
3986  {"3.3"}};
3987 
4004  InputSections::m_c_initialConditions + "pT_Cut", 0.0, {"3.2"}};
4005 
4022  InputSections::m_c_initialConditions + "Rapidity_Cut", 0.0, {"3.2"}};
4023 
4038  InputSections::m_c_initialConditions + "Energy_Density_Threshold",
4039  0.5,
4040  {"3.2"}};
4041 
4054  InputSections::m_c_initialConditions + "Minimum_Time", 0, {"3.2"}};
4055 
4068  InputSections::m_c_initialConditions + "Maximum_Time", 100, {"3.2"}};
4069 
4081  InputSections::m_c_initialConditions + "Fluidization_Cells",
4082  100,
4083  {"3.2"}};
4084 
4108  inline static const Key<FluidizableProcessesBitSet>
4110  InputSections::m_c_initialConditions + "Fluidizable_Processes",
4111  FluidizableProcessesBitSet{}.set(), // all processes
4112  {"3.2"}};
4113 
4126  inline static const Key<bool>
4128  InputSections::m_c_initialConditions + "Delay_Initial_Elastic",
4129  true,
4130  {"3.3"}};
4131 
4145  inline static const Key<double>
4147  InputSections::m_c_initialConditions + "Formation_Time_Fraction",
4148  1.0,
4149  {"3.2"}};
4150 
4169  inline static const Key<std::map<PdgCode, int>>
4171  InputSections::m_sphere + "Init_Multiplicities", {"0.50"}};
4172 
4182  inline static const Key<double> modi_sphere_radius{
4183  InputSections::m_sphere + "Radius", {"0.50"}};
4184 
4194  inline static const Key<double> modi_sphere_startTime{
4195  InputSections::m_sphere + "Start_Time", {"0.50"}};
4196 
4207  InputSections::m_sphere + "Temperature", {"1.5.2"}};
4208 
4229  InputSections::m_sphere + "Account_Resonance_Widths", true, {"1.7"}};
4230 
4249  InputSections::m_sphere + "Add_Radial_Velocity", -1.0, {"2.2"}};
4250 
4264  InputSections::m_sphere + "Add_Radial_Velocity_Exponent", 1.0, {"3.3"}};
4265 
4279  InputSections::m_sphere + "Baryon_Chemical_Potential", 0.0, {"1.0"}};
4280 
4294  InputSections::m_sphere + "Charge_Chemical_Potential", 0.0, {"2.1"}};
4295 
4318  InputSections::m_sphere + "Initial_Condition",
4320  {"1.1"}};
4321 
4335  InputSections::m_sphere + "Strange_Chemical_Potential", 0.0, {"1.0"}};
4336 
4358  InputSections::m_sphere + "Heavy_Flavor_Multiplier", 0.0, {"3.3"}};
4359 
4379  InputSections::m_sphere + "Use_Thermal_Multiplicities", false, {"1.0"}};
4380 
4402  InputSections::m_s_jet + "Jet_PDG", {"1.5.2"}};
4403 
4414  InputSections::m_s_jet + "Jet_Momentum", 20.0, {"1.5.2"}};
4415 
4428  InputSections::m_s_jet + "Jet_Position",
4429  std::array<double, 3>{{0.0, 0.0, 0.0}},
4430  {"3.3"}};
4431 
4444  InputSections::m_s_jet + "Back_To_Back", false, {"3.3"}};
4445 
4460  InputSections::m_s_jet + "Back_To_Back_Separation", 0.01, {"3.3"}};
4461 
4478  inline static const Key<std::map<PdgCode, int>>
4480  InputSections::m_box + "Init_Multiplicities", {"0.50"}};
4481 
4500  InputSections::m_box + "Initial_Condition", {"0.50"}};
4501 
4511  inline static const Key<double> modi_box_length{
4512  InputSections::m_box + "Length", {"0.50"}};
4513 
4524  inline static const Key<double> modi_box_startTime{
4525  InputSections::m_box + "Start_Time", {"0.50"}};
4526 
4536  inline static const Key<double> modi_box_temperature{
4537  InputSections::m_box + "Temperature", {"0.50"}};
4538 
4566  InputSections::m_box + "Account_Resonance_Widths", true, {"1.7"}};
4567 
4579  InputSections::m_box + "Baryon_Chemical_Potential", 0.0, {"1.0"}};
4580 
4592  InputSections::m_box + "Charge_Chemical_Potential", 0.0, {"2.0"}};
4593 
4608  InputSections::m_box + "Equilibration_Time", -1.0, {"1.8"}};
4609 
4622  InputSections::m_box + "Strange_Chemical_Potential", 0.0, {"1.0"}};
4623 
4636  InputSections::m_box + "Use_Thermal_Multiplicities", false, {"1.0"}};
4637 
4661  InputSections::m_b_jet + "Jet_Momentum", 20.0, {"1.7"}};
4662 
4673  inline static const Key<PdgCode> modi_box_jet_jetPdg{
4674  InputSections::m_b_jet + "Jet_PDG", {"1.7"}};
4675 
4688  InputSections::m_list + "File_Directory", {"0.60"}};
4689 
4703  InputSections::m_list + "Filename", {"3.1"}};
4704 
4716  InputSections::m_list + "File_Prefix", {"0.60"}};
4717 
4732  inline static const Key<int> modi_list_shiftId{
4733  InputSections::m_list + "Shift_Id", 0, {"0.60"}};
4734 
4795  inline static const Key<std::vector<std::string>>
4797  InputSections::m_list + "Optional_Quantities",
4798  std::vector<std::string>{"ID", "charge"},
4799  {"3.3"}};
4800 
4812  InputSections::m_listBox + "File_Directory", {"2.1"}};
4813 
4825  InputSections::m_listBox + "Filename", {"3.1"}};
4826 
4838  InputSections::m_listBox + "File_Prefix", {"2.1"}};
4839 
4850  inline static const Key<double> modi_listBox_length{
4851  InputSections::m_listBox + "Length", {"2.1"}};
4852 
4863  inline static const Key<int> modi_listBox_shiftId{
4864  InputSections::m_listBox + "Shift_Id", 0, {"2.1"}};
4865 
4877  inline static const Key<std::vector<std::string>>
4879  InputSections::m_listBox + "Optional_Quantities",
4880  std::vector<std::string>{"ID", "charge"},
4881  {"3.3"}};
4882 
4902  InputSections::output + "Density_Type", DensityType::None, {"0.60"}};
4903 
4916  inline static const Key<double> output_outputInterval{
4917  InputSections::output + "Output_Interval",
4919  {"0.50"}};
4920 
4941  InputSections::output + "Output_Times", DefaultType::Dependent, {"1.7"}};
4942 
4978  InputSections::o_particles + "Format",
4979  std::vector<std::string>{},
4980  {"1.2"}};
4985  InputSections::o_collisions + "Format",
4986  std::vector<std::string>{},
4987  {"1.2"}};
4992  InputSections::o_dileptons + "Format",
4993  std::vector<std::string>{},
4994  {"0.85"}};
4999  InputSections::o_photons + "Format", std::vector<std::string>{}, {"1.0"}};
5003  inline static const Key<std::vector<std::string>>
5006  std::vector<std::string>{},
5007  {"1.7"}};
5012  InputSections::o_rivet + "Format", std::vector<std::string>{}, {"2.0.2"}};
5017  InputSections::o_coulomb + "Format", std::vector<std::string>{}, {"2.1"}};
5021  inline static const Key<std::vector<std::string>>
5023  std::vector<std::string>{},
5024  {"1.2"}};
5025 
5050  InputSections::o_particles + "Extended", false, {"1.2"}};
5051 
5066  InputSections::o_particles + "Quantities",
5067  std::vector<std::string>{},
5068  {"3.2"}};
5069 
5085  InputSections::o_particles + "Only_Final",
5087  {"0.50"}};
5088 
5106  InputSections::o_collisions + "Extended", false, {"1.2"}};
5107 
5122  inline static const Key<std::vector<std::string>>
5124  std::vector<std::string>{},
5125  {"3.2"}};
5126 
5139  InputSections::o_collisions + "Print_Start_End", false, {"0.50"}};
5140 
5157  InputSections::o_dileptons + "Extended", false, {"1.2"}};
5158 
5174  InputSections::o_dileptons + "Quantities",
5175  std::vector<std::string>{},
5176  {"3.3"}};
5177 
5193  inline static const Key<bool> output_photons_extended{
5194  InputSections::o_photons + "Extended", false, {"1.5"}};
5195 
5211  InputSections::o_photons + "Quantities",
5212  std::vector<std::string>{},
5213  {"3.3"}};
5214 
5231  InputSections::o_initialConditions + "Extended", false, {"1.7"}};
5232 
5247  inline static const Key<std::vector<std::string>>
5249  InputSections::o_initialConditions + "Quantities",
5250  std::vector<std::string>{},
5251  {"3.3"}};
5252 
5264  InputSections::o_initialConditions + "Lower_Bound",
5265  0.5,
5266  {"1.8", "3.2", "3.3"}};
5267 
5279  InputSections::o_initialConditions + "Proper_Time",
5281  {"1.7", "3.2", "3.3"}};
5282 
5296  {"2.2", "3.2", "3.3"}};
5297 
5309  InputSections::o_initialConditions + "Rapidity_Cut",
5311  {"2.2", "3.2", "3.3"}};
5312 
5333  InputSections::o_rivet + "Analyses", DefaultType::Dependent, {"2.0.2"}};
5334 
5346  InputSections::o_rivet + "Cross_Section",
5348  {"2.0.2"}};
5349 
5362  InputSections::o_rivet + "Ignore_Beams", true, {"2.0.2"}};
5363 
5376  inline static const Key<std::map<std::string, std::string>>
5378  InputSections::o_rivet + "Logging", DefaultType::Dependent, {"0.50"}};
5379 
5392  InputSections::o_rivet + "Paths", DefaultType::Dependent, {"2.0.2"}};
5393 
5406  InputSections::o_rivet + "Preloads", DefaultType::Dependent, {"2.0.2"}};
5407 
5425 
5436  inline static const Key<std::vector<std::string>>
5439  {"2.0.2"}};
5440 
5453  InputSections::o_r_weights + "NLO_Smearing",
5455  {"2.0.2"}};
5456 
5468  InputSections::o_r_weights + "No_Multi",
5470  {"2.0.2"}};
5471 
5483  InputSections::o_r_weights + "Nominal",
5485  {"2.0.2"}};
5486 
5498  InputSections::o_r_weights + "Select", DefaultType::Dependent, {"2.0.2"}};
5499 
5544  InputSections::o_thermodynamics + "Only_Participants", false, {"2.1"}};
5545 
5557  InputSections::o_thermodynamics + "Position",
5558  std::array<double, 3>{{0.0, 0.0, 0.0}},
5559  {"1.0"}};
5560 
5585  inline static const Key<std::set<ThermodynamicQuantity>>
5587  InputSections::o_thermodynamics + "Quantities",
5588  std::set<ThermodynamicQuantity>{},
5589  {"1.0"}};
5590 
5626  InputSections::o_thermodynamics + "Smearing", true, {"1.0"}};
5627 
5645 
5670  inline static const Key<bool> lattice_automatic{
5671  InputSections::lattice + "Automatic", {"3.0"}};
5672 
5685  InputSections::lattice + "Cell_Number", DefaultType::Dependent, {"0.80"}};
5686 
5704  InputSections::lattice + "Origin", DefaultType::Dependent, {"0.80"}};
5705 
5720  inline static const Key<bool> lattice_periodic{
5721  InputSections::lattice + "Periodic", DefaultType::Dependent, {"0.80"}};
5722 
5734  InputSections::lattice + "Potentials_Affect_Thresholds", false, {"1.3"}};
5735 
5748  InputSections::lattice + "Sizes", DefaultType::Dependent, {"0.80"}};
5749 
5763  InputSections::potentials + "Use_Potentials_Outside_Lattice",
5764  true,
5765  {"3.1"}};
5766 
5777  InputSections::p_skyrme + "Skyrme_A", {"0.60"}};
5778 
5789  InputSections::p_skyrme + "Skyrme_B", {"0.60"}};
5790 
5802  InputSections::p_skyrme + "Skyrme_Tau", {"0.60"}};
5803 
5818 
5829  InputSections::p_symmetry + "S_Pot", {"0.60"}};
5830 
5841  InputSections::p_vdf + "Coeffs", {"2.1"}};
5842 
5856  InputSections::p_vdf + "Powers", {"2.1"}};
5857 
5868  InputSections::p_vdf + "Sat_rhoB", {"2.1"}};
5869 
5880  InputSections::p_coulomb + "R_Cut", {"2.1"}};
5881 
5893  InputSections::p_momentumDependence + "C", {"3.1"}};
5894 
5906  InputSections::p_momentumDependence + "Lambda", {"3.1"}};
5907 
5925  InputSections::forcedThermalization + "Cell_Number", {"1.1"}};
5926 
5938  InputSections::forcedThermalization + "Critical_Edens", {"1.1"}};
5939 
5951  InputSections::forcedThermalization + "Start_Time", {"1.1"}};
5952 
5963  InputSections::forcedThermalization + "Timestep", {"1.1"}};
5964 
5985  inline static const Key<ThermalizationAlgorithm>
5989  {"1.1"}};
5990 
6008  inline static const Key<std::array<double, 3>>
6010  InputSections::forcedThermalization + "Lattice_Sizes", {"1.1"}};
6011 
6032  InputSections::forcedThermalization + "Microcanonical", false, {"1.7"}};
6033 
6035  using key_references_variant = std::variant<
6036  std::reference_wrapper<const Key<bool>>,
6037  std::reference_wrapper<const Key<int>>,
6038  std::reference_wrapper<const Key<int64_t>>,
6039  std::reference_wrapper<const Key<double>>,
6040  std::reference_wrapper<const Key<std::string>>,
6041  std::reference_wrapper<const Key<std::array<int, 3>>>,
6042  std::reference_wrapper<const Key<std::array<double, 2>>>,
6043  std::reference_wrapper<const Key<std::array<double, 3>>>,
6044  std::reference_wrapper<const Key<std::pair<double, double>>>,
6045  std::reference_wrapper<const Key<std::vector<double>>>,
6046  std::reference_wrapper<const Key<std::vector<std::string>>>,
6047  std::reference_wrapper<const Key<std::set<ThermodynamicQuantity>>>,
6048  std::reference_wrapper<const Key<std::map<PdgCode, int>>>,
6049  std::reference_wrapper<const Key<std::map<std::string, std::string>>>,
6050  std::reference_wrapper<const Key<einhard::LogLevel>>,
6051  std::reference_wrapper<const Key<BoxInitialCondition>>,
6052  std::reference_wrapper<const Key<CalculationFrame>>,
6053  std::reference_wrapper<const Key<CollisionCriterion>>,
6054  std::reference_wrapper<const Key<DensityType>>,
6055  std::reference_wrapper<const Key<DerivativesMode>>,
6056  std::reference_wrapper<const Key<ExpansionMode>>,
6057  std::reference_wrapper<const Key<FermiMotion>>,
6058  std::reference_wrapper<const Key<FieldDerivativesMode>>,
6059  std::reference_wrapper<const Key<FluidizableProcessesBitSet>>,
6060  std::reference_wrapper<const Key<FluidizationType>>,
6061  std::reference_wrapper<const Key<MultiParticleReactionsBitSet>>,
6062  std::reference_wrapper<const Key<SpinInteractionType>>,
6063  std::reference_wrapper<const Key<NNbarTreatment>>,
6064  std::reference_wrapper<const Key<OutputOnlyFinal>>,
6065  std::reference_wrapper<const Key<PdgCode>>,
6066  std::reference_wrapper<const Key<PseudoResonance>>,
6067  std::reference_wrapper<const Key<ReactionsBitSet>>,
6068  std::reference_wrapper<const Key<RestFrameDensityDerivativesMode>>,
6069  std::reference_wrapper<const Key<Sampling>>,
6070  std::reference_wrapper<const Key<SmearingMode>>,
6071  std::reference_wrapper<const Key<SphereInitialCondition>>,
6072  std::reference_wrapper<const Key<ThermalizationAlgorithm>>,
6073  std::reference_wrapper<const Key<TimeStepMode>>,
6074  std::reference_wrapper<const Key<TotalCrossSectionStrategy>>>;
6075 
6077  inline static const std::vector<key_references_variant> list = {
6078  std::cref(particles),
6079  std::cref(decaymodes),
6080  std::cref(gen_endTime),
6081  std::cref(gen_modus),
6082  std::cref(gen_nevents),
6083  std::cref(gen_randomseed),
6086  std::cref(gen_deltaTime),
6087  std::cref(gen_derivativesMode),
6088  std::cref(gen_smearingDiscreteWeight),
6089  std::cref(gen_ensembles),
6090  std::cref(gen_expansionRate),
6091  std::cref(gen_fieldDerivativesMode),
6092  std::cref(gen_smearingGaussCutoffInSigma),
6093  std::cref(gen_smearingGaussianSigma),
6094  std::cref(gen_metricType),
6096  std::cref(gen_smearingMode),
6097  std::cref(gen_testparticles),
6098  std::cref(gen_timeStepMode),
6099  std::cref(gen_smearingTriangularRange),
6100  std::cref(gen_useGrid),
6101  std::cref(log_default),
6102  std::cref(log_box),
6103  std::cref(log_collider),
6104  std::cref(log_yamlConfiguration),
6105  std::cref(log_experiment),
6106  std::cref(log_grandcanThermalizer),
6107  std::cref(log_initialConditions),
6108  std::cref(log_list),
6109  std::cref(log_main),
6110  std::cref(log_output),
6111  std::cref(log_sphere),
6112  std::cref(log_action),
6113  std::cref(log_clock),
6114  std::cref(log_crossSections),
6115  std::cref(log_decayModes),
6116  std::cref(log_density),
6117  std::cref(log_distributions),
6118  std::cref(log_findScatter),
6119  std::cref(log_fpe),
6120  std::cref(log_grid),
6121  std::cref(log_hyperSurfaceCrossing),
6122  std::cref(log_inputParser),
6123  std::cref(log_lattice),
6124  std::cref(log_nucleus),
6125  std::cref(log_particleType),
6126  std::cref(log_pauliBlocking),
6127  std::cref(log_potentials),
6128  std::cref(log_propagation),
6129  std::cref(log_pythia),
6130  std::cref(log_resonances),
6131  std::cref(log_rootsolver),
6132  std::cref(log_scatterAction),
6133  std::cref(log_scatterActionMulti),
6134  std::cref(log_tmn),
6135  std::cref(version),
6137  std::cref(collTerm_collisionCriterion),
6138  std::cref(collTerm_crossSectionScaling),
6139  std::cref(collTerm_elasticCrossSection),
6140  std::cref(collTerm_elasticNNCutoffSqrts),
6141  std::cref(collTerm_totXsStrategy),
6142  std::cref(collTerm_pseudoresonance),
6143  std::cref(collTerm_fixedMinCellLength),
6144  std::cref(collTerm_forceDecaysAtEnd),
6146  std::cref(collTerm_includeDecaysAtTheEnd),
6147  std::cref(collTerm_decayInitial),
6148  std::cref(collTerm_includedTwoToTwo),
6149  std::cref(collTerm_isotropic),
6150  std::cref(collTerm_maximumCrossSection),
6152  std::cref(collTerm_nnbarTreatment),
6153  std::cref(collTerm_noCollisions),
6156  std::cref(collTerm_spinInteractions),
6157  std::cref(collTerm_strings),
6159  std::cref(collTerm_twoToOne),
6160  std::cref(collTerm_useAQM),
6164  std::cref(collTerm_stringTrans_KNOffset),
6166  std::cref(collTerm_stringTrans_lower),
6167  std::cref(collTerm_stringTrans_rangeNN),
6168  std::cref(collTerm_stringTrans_rangeNpi),
6173  std::cref(collTerm_stringParam_gluonBeta),
6174  std::cref(collTerm_stringParam_gluonPMin),
6177  std::cref(collTerm_stringParam_quarkBeta),
6182  std::cref(collTerm_stringParam_sigmaPerp),
6186  std::cref(collTerm_stringParam_stringZA),
6188  std::cref(collTerm_stringParam_stringZB),
6191  std::cref(collTerm_dileptons_decays),
6195  std::cref(collTerm_HF_AQMbSuppression),
6196  std::cref(collTerm_HF_AQMcSuppression),
6197  std::cref(modi_collider_eKin),
6198  std::cref(modi_collider_eTot),
6199  std::cref(modi_collider_pLab),
6200  std::cref(modi_collider_sqrtSNN),
6201  std::cref(modi_collider_calculationFrame),
6203  std::cref(modi_collider_fermiMotion),
6204  std::cref(modi_collider_initialDistance),
6208  std::cref(modi_collider_target_particles),
6210  std::cref(modi_collider_target_radius),
6213  std::cref(modi_collider_projectile_eKin),
6214  std::cref(modi_collider_target_eKin),
6215  std::cref(modi_collider_projectile_eTot),
6216  std::cref(modi_collider_target_eTot),
6217  std::cref(modi_collider_projectile_pLab),
6218  std::cref(modi_collider_target_pLab),
6245  std::cref(modi_collider_impact_max),
6247  std::cref(modi_collider_impact_range),
6248  std::cref(modi_collider_impact_sample),
6249  std::cref(modi_collider_impact_value),
6250  std::cref(modi_collider_impact_values),
6251  std::cref(modi_collider_impact_yields),
6266  std::cref(modi_sphere_radius),
6267  std::cref(modi_sphere_startTime),
6268  std::cref(modi_sphere_temperature),
6270  std::cref(modi_sphere_addRadialVelocity),
6274  std::cref(modi_sphere_initialCondition),
6278  std::cref(modi_sphere_jet_jetPdg),
6279  std::cref(modi_sphere_jet_jetMomentum),
6280  std::cref(modi_sphere_jet_jetPosition),
6281  std::cref(modi_sphere_jet_backToBack),
6283  std::cref(modi_box_initialMultiplicities),
6284  std::cref(modi_box_initialCondition),
6285  std::cref(modi_box_length),
6286  std::cref(modi_box_startTime),
6287  std::cref(modi_box_temperature),
6291  std::cref(modi_box_equilibrationTime),
6294  std::cref(modi_box_jet_jetMomentum),
6295  std::cref(modi_box_jet_jetPdg),
6296  std::cref(modi_list_fileDirectory),
6297  std::cref(modi_list_filename),
6298  std::cref(modi_list_filePrefix),
6299  std::cref(modi_list_shiftId),
6300  std::cref(modi_list_optionalQuantities),
6301  std::cref(modi_listBox_fileDirectory),
6302  std::cref(modi_listBox_filename),
6303  std::cref(modi_listBox_filePrefix),
6304  std::cref(modi_listBox_length),
6305  std::cref(modi_listBox_shiftId),
6307  std::cref(output_densityType),
6308  std::cref(output_outputInterval),
6309  std::cref(output_outputTimes),
6310  std::cref(output_particles_format),
6311  std::cref(output_collisions_format),
6312  std::cref(output_dileptons_format),
6313  std::cref(output_photons_format),
6315  std::cref(output_rivet_format),
6316  std::cref(output_coulomb_format),
6317  std::cref(output_thermodynamics_format),
6318  std::cref(output_particles_extended),
6319  std::cref(output_particles_quantities),
6320  std::cref(output_particles_onlyFinal),
6321  std::cref(output_collisions_extended),
6322  std::cref(output_collisions_quantities),
6324  std::cref(output_dileptons_extended),
6325  std::cref(output_dileptons_quantities),
6326  std::cref(output_photons_extended),
6327  std::cref(output_photons_quantities),
6332  std::cref(output_initialConditions_pTCut),
6334  std::cref(output_rivet_analyses),
6335  std::cref(output_rivet_crossSection),
6336  std::cref(output_rivet_ignoreBeams),
6337  std::cref(output_rivet_logging),
6338  std::cref(output_rivet_paths),
6339  std::cref(output_rivet_preloads),
6340  std::cref(output_rivet_weights_cap),
6341  std::cref(output_rivet_weights_deselect),
6343  std::cref(output_rivet_weights_noMulti),
6344  std::cref(output_rivet_weights_nominal),
6345  std::cref(output_rivet_weights_select),
6347  std::cref(output_thermodynamics_position),
6349  std::cref(output_thermodynamics_smearing),
6350  std::cref(output_thermodynamics_type),
6351  std::cref(lattice_automatic),
6352  std::cref(lattice_cellNumber),
6353  std::cref(lattice_origin),
6354  std::cref(lattice_periodic),
6356  std::cref(lattice_sizes),
6358  std::cref(potentials_skyrme_skyrmeA),
6359  std::cref(potentials_skyrme_skyrmeB),
6360  std::cref(potentials_skyrme_skyrmeTau),
6361  std::cref(potentials_symmetry_gamma),
6362  std::cref(potentials_symmetry_sPot),
6363  std::cref(potentials_vdf_coeffs),
6364  std::cref(potentials_vdf_powers),
6365  std::cref(potentials_vdf_satRhoB),
6366  std::cref(potentials_coulomb_rCut),
6371  std::cref(forcedThermalization_startTime),
6372  std::cref(forcedThermalization_timestep),
6373  std::cref(forcedThermalization_algorithm),
6376 
6383  static const Key<einhard::LogLevel> &get_logging_key(std::string_view area) {
6384  return get_key_reference<einhard::LogLevel>({"Logging", std::string{area}});
6385  }
6386 
6394  std::string_view content) {
6395  return get_key_reference<std::vector<std::string>>(
6396  {"Output", std::string{content}, "Format"});
6397  }
6398 
6399  private:
6413  template <typename T>
6414  static const Key<T> &get_key_reference(const KeyLabels &labels) {
6415  using key_reference = std::reference_wrapper<const Key<T>>;
6416  auto candidate = InputKeys::find_key(labels);
6417  if (candidate.has_value()) {
6418  return std::get<key_reference>(candidate.value());
6419  } else {
6420  throw std::invalid_argument("No database key with keys \"" +
6421  join(labels, ": ") + "\" was found.");
6422  }
6423  }
6424 
6433  static std::optional<key_references_variant> find_key(
6434  const KeyLabels &labels) {
6435  if (labels.size() == 0)
6436  return std::nullopt;
6437  auto iterator_to_key_references_variant =
6438  std::find_if(smash::InputKeys::list.begin(),
6439  smash::InputKeys::list.end(), [&labels](auto key) {
6440  return std::visit(
6441  [&labels](auto &&arg) {
6442  return arg.get().has_same_labels(labels);
6443  },
6444  key);
6445  });
6446  if (iterator_to_key_references_variant == smash::InputKeys::list.end()) {
6447  return std::nullopt;
6448  } else {
6449  return *iterator_to_key_references_variant;
6450  }
6451  }
6452 };
6453 
7252 } // namespace smash
7253 
7254 #endif // SRC_INCLUDE_SMASH_INPUT_KEYS_H_
default_type default_value() const
Get the default value of the key.
Definition: key.h:251
This is the main include file for Einhard.
@ Off
Don't use fermi motion.
std::bitset< 10 > ReactionsBitSet
Container for the 2 to 2 reactions in the code.
@ Strings
Use string fragmentation.
@ Fixed
Use fixed time step.
std::bitset< 5 > FluidizableProcessesBitSet
@ TopDownMeasured
Mix the two above, using the parametrizations only for measured processes, and summing up partials fo...
@ Quadratic
Sample from areal / quadratic distribution.
std::bitset< 4 > MultiParticleReactionsBitSet
Container for the n to m reactions in the code.
@ Covariant
Covariant Criterion.
@ ThermalMomentaBoltzmann
A thermalized ensemble is generated, with momenta sampled from a Maxwell-Boltzmann distribution.
@ LargestFromUnstable
Heaviest possible resonance from processes with at least one resonance in the incoming particles.
@ Yes
Print only final-state particles.
@ Off
No spin interactions.
@ ALL
Log all message.
Definition: einhard.hpp:110
Definition: action.h:24
std::vector< std::string > KeyLabels
Descriptive alias for storing key labels, i.e.
Definition: key.h:45
@ Dependent
Default value which depends on other keys
std::string join(const std::vector< std::string > &v, const std::string &delim)
Join strings using delimiter.
A container to keep track of all ever existed input keys.
Definition: input_keys.h:1116
static const Key< double > collTerm_stringParam_probabilityPToDUU
See user guide description for more information.
Definition: input_keys.h:2959
static const Key< double > collTerm_stringParam_powerParticleFormation
See user guide description for more information.
Definition: input_keys.h:2943
static const Key< einhard::LogLevel > log_rootsolver
See user guide description for more information.
Definition: input_keys.h:1751
static const Key< bool > potentials_use_potentials_outside_lattice
See user guide description for more information.
Definition: input_keys.h:5762
static const Key< double > modi_collider_projectile_saturationDensity
See user guide description for more information.
Definition: input_keys.h:3403
static const Key< double > collTerm_stringTrans_lower
See user guide description for more information.
Definition: input_keys.h:2754
static const Key< double > modi_collider_projectile_radius
See user guide description for more information.
Definition: input_keys.h:3380
static const Key< double > collTerm_stringParam_formationTime
See user guide description for more information.
Definition: input_keys.h:2843
static const Key< bool > output_initialConditions_extended
See user guide description for more information.
Definition: input_keys.h:5230
static const Key< std::pair< double, double > > collTerm_stringTrans_rangeNpi
See user guide description for more information.
Definition: input_keys.h:2789
static const Key< bool > collTerm_photons_twoToTwoScatterings
See user guide description for more information.
Definition: input_keys.h:3141
static const Key< double > collTerm_stringTrans_range_width
See user guide description for more information.
Definition: input_keys.h:2805
static const Key< einhard::LogLevel > log_crossSections
See user guide description for more information.
Definition: input_keys.h:1806
static const Key< bool > collTerm_stringParam_useMonashTune
See user guide description for more information.
Definition: input_keys.h:3112
static const Key< DensityType > output_densityType
See user guide description for more information.
Definition: input_keys.h:4901
static const Key< double > forcedThermalization_criticalEDensity
See user guide description for more information.
Definition: input_keys.h:5937
static const Key< double > collTerm_stringParam_sigmaPerp
See user guide description for more information.
Definition: input_keys.h:2994
static const Key< double > potentials_momentum_dependence_C
See user guide description for more information.
Definition: input_keys.h:5892
static const Key< double > modi_collider_projectile_eKin
See user guide description for more information.
Definition: input_keys.h:3429
static const Key< std::vector< std::string > > output_photons_format
See user guide description for more information.
Definition: input_keys.h:4998
static const Key< double > modi_sphere_addRadialVelocity
See user guide description for more information.
Definition: input_keys.h:4248
static const Key< double > modi_collider_target_orientation_theta
See user guide description for more information.
Definition: input_keys.h:3754
static const Key< einhard::LogLevel > log_lattice
See user guide description for more information.
Definition: input_keys.h:1928
static const Key< bool > modi_collider_collisionWithinNucleus
See user guide description for more information.
Definition: input_keys.h:3273
static const Key< double > collTerm_stringParam_gluonPMin
See user guide description for more information.
Definition: input_keys.h:2870
static const Key< double > modi_listBox_length
See user guide description for more information.
Definition: input_keys.h:4850
static const Key< std::vector< std::string > > output_collisions_format
See user guide description for more information.
Definition: input_keys.h:4984
static const Key< double > collTerm_stringParam_stringZALeading
See user guide description for more information.
Definition: input_keys.h:3067
static const Key< double > modi_collider_target_pLab
See user guide description for more information.
Definition: input_keys.h:3480
static const Key< double > modi_sphere_addRadialVelocityExponent
See user guide description for more information.
Definition: input_keys.h:4263
static const Key< double > collTerm_resonanceLifetimeModifier
See user guide description for more information.
Definition: input_keys.h:2534
static const Key< std::string > particles
See user guide description for more information.
Definition: input_keys.h:1120
static const Key< double > modi_collider_target_eTot
See user guide description for more information.
Definition: input_keys.h:3453
static const Key< double > modi_box_temperature
See user guide description for more information.
Definition: input_keys.h:4536
static const Key< std::map< PdgCode, int > > modi_sphere_initialMultiplicities
See user guide description for more information.
Definition: input_keys.h:4170
static const Key< double > modi_sphere_chargeChemicalPotential
See user guide description for more information.
Definition: input_keys.h:4293
static const Key< double > modi_collider_initialDistance
See user guide description for more information.
Definition: input_keys.h:3305
static const Key< std::vector< std::string > > output_rivet_weights_select
See user guide description for more information.
Definition: input_keys.h:5497
static const Key< bool > output_rivet_weights_noMulti
See user guide description for more information.
Definition: input_keys.h:5467
static const Key< einhard::LogLevel > log_hyperSurfaceCrossing
See user guide description for more information.
Definition: input_keys.h:1900
static const Key< double > modi_collider_projectile_diffusiveness
See user guide description for more information.
Definition: input_keys.h:3326
static const Key< bool > modi_collider_projectile_deformed_automatic
See user guide description for more information.
Definition: input_keys.h:3559
static const Key< double > modi_collider_projectile_deformed_beta3
See user guide description for more information.
Definition: input_keys.h:3597
static const Key< double > modi_sphere_temperature
See user guide description for more information.
Definition: input_keys.h:4206
static const Key< std::array< double, 3 > > modi_sphere_jet_jetPosition
See user guide description for more information.
Definition: input_keys.h:4427
static const Key< ReactionsBitSet > collTerm_includedTwoToTwo
See user guide description for more information.
Definition: input_keys.h:2284
static const Key< double > modi_collider_target_saturationDensity
See user guide description for more information.
Definition: input_keys.h:3410
static const Key< PdgCode > modi_sphere_jet_jetPdg
See user guide description for more information.
Definition: input_keys.h:4401
static const Key< bool > modi_box_useThermalMultiplicities
See user guide description for more information.
Definition: input_keys.h:4635
static const Key< std::string > output_rivet_weights_nominal
See user guide description for more information.
Definition: input_keys.h:5482
static const Key< std::set< ThermodynamicQuantity > > output_thermodynamics_quantites
See user guide description for more information.
Definition: input_keys.h:5586
static const Key< bool > forcedThermalization_microcanonical
See user guide description for more information.
Definition: input_keys.h:6031
static const Key< einhard::LogLevel > log_inputParser
See user guide description for more information.
Definition: input_keys.h:1915
static const Key< std::string > modi_collider_projectile_custom_fileDirectory
See user guide description for more information.
Definition: input_keys.h:3500
static const Key< double > collTerm_pauliBlocking_momentumAveragingRadius
See user guide description for more information.
Definition: input_keys.h:2698
static const Key< double > modi_collider_eKin
See user guide description for more information.
Definition: input_keys.h:3185
static const Key< double > modi_collider_pLab
See user guide description for more information.
Definition: input_keys.h:3218
static const Key< bool > collTerm_noCollisions
See user guide description for more information.
Definition: input_keys.h:2458
static const Key< double > modi_box_baryonChemicalPotential
See user guide description for more information.
Definition: input_keys.h:4578
static const Key< bool > modi_collider_target_orientation_randRot
See user guide description for more information.
Definition: input_keys.h:3791
static const Key< bool > collTerm_stringParam_mDependentFormationTimes
See user guide description for more information.
Definition: input_keys.h:2884
static const Key< bool > modi_collider_initialConditions_delayInitialElastic
See user guide description for more information.
Definition: input_keys.h:4127
static const Key< FluidizationType > modi_collider_initialConditions_type
See user guide description for more information.
Definition: input_keys.h:3928
static std::optional< key_references_variant > find_key(const KeyLabels &labels)
Find a Key in the database given its labels.
Definition: input_keys.h:6433
static const Key< double > modi_collider_sqrtSNN
See user guide description for more information.
Definition: input_keys.h:3233
static const Key< int > modi_collider_initialConditions_fluidCells
See user guide description for more information.
Definition: input_keys.h:4080
static const Key< DensityType > output_thermodynamics_type
See user guide description for more information.
Definition: input_keys.h:5643
static const Key< double > modi_collider_projectile_orientation_theta
See user guide description for more information.
Definition: input_keys.h:3749
static const Key< double > collTerm_stringParam_diquarkSuppression
See user guide description for more information.
Definition: input_keys.h:2818
static const Key< double > collTerm_crossSectionScaling
See user guide description for more information.
Definition: input_keys.h:2173
static const Key< einhard::LogLevel > log_pythia
See user guide description for more information.
Definition: input_keys.h:1999
static const Key< double > modi_sphere_jet_jetMomentum
See user guide description for more information.
Definition: input_keys.h:4413
static const Key< einhard::LogLevel > log_main
See user guide description for more information.
Definition: input_keys.h:1712
std::variant< std::reference_wrapper< const Key< bool > >, std::reference_wrapper< const Key< int > >, std::reference_wrapper< const Key< int64_t > >, std::reference_wrapper< const Key< double > >, std::reference_wrapper< const Key< std::string > >, std::reference_wrapper< const Key< std::array< int, 3 > >>, std::reference_wrapper< const Key< std::array< double, 2 > >>, std::reference_wrapper< const Key< std::array< double, 3 > >>, std::reference_wrapper< const Key< std::pair< double, double > >>, std::reference_wrapper< const Key< std::vector< double > >>, std::reference_wrapper< const Key< std::vector< std::string > >>, std::reference_wrapper< const Key< std::set< ThermodynamicQuantity > >>, std::reference_wrapper< const Key< std::map< PdgCode, int > >>, std::reference_wrapper< const Key< std::map< std::string, std::string > >>, std::reference_wrapper< const Key< einhard::LogLevel > >, std::reference_wrapper< const Key< BoxInitialCondition > >, std::reference_wrapper< const Key< CalculationFrame > >, std::reference_wrapper< const Key< CollisionCriterion > >, std::reference_wrapper< const Key< DensityType > >, std::reference_wrapper< const Key< DerivativesMode > >, std::reference_wrapper< const Key< ExpansionMode > >, std::reference_wrapper< const Key< FermiMotion > >, std::reference_wrapper< const Key< FieldDerivativesMode > >, std::reference_wrapper< const Key< FluidizableProcessesBitSet > >, std::reference_wrapper< const Key< FluidizationType > >, std::reference_wrapper< const Key< MultiParticleReactionsBitSet > >, std::reference_wrapper< const Key< SpinInteractionType > >, std::reference_wrapper< const Key< NNbarTreatment > >, std::reference_wrapper< const Key< OutputOnlyFinal > >, std::reference_wrapper< const Key< PdgCode > >, std::reference_wrapper< const Key< PseudoResonance > >, std::reference_wrapper< const Key< ReactionsBitSet > >, std::reference_wrapper< const Key< RestFrameDensityDerivativesMode > >, std::reference_wrapper< const Key< Sampling > >, std::reference_wrapper< const Key< SmearingMode > >, std::reference_wrapper< const Key< SphereInitialCondition > >, std::reference_wrapper< const Key< ThermalizationAlgorithm > >, std::reference_wrapper< const Key< TimeStepMode > >, std::reference_wrapper< const Key< TotalCrossSectionStrategy > >> key_references_variant
Alias for the type to be used in the list of keys.
Definition: input_keys.h:6074
static const Key< double > modi_box_length
See user guide description for more information.
Definition: input_keys.h:4511
static const Key< int > collTerm_photons_fractionalPhotons
See user guide description for more information.
Definition: input_keys.h:3166
static const Key< std::array< double, 3 > > forcedThermalization_latticeSizes
See user guide description for more information.
Definition: input_keys.h:6009
static const Key< std::vector< double > > modi_collider_impact_values
See user guide description for more information.
Definition: input_keys.h:3892
static const Key< einhard::LogLevel > log_scatterAction
See user guide description for more information.
Definition: input_keys.h:2025
static const Key< double > modi_collider_impact_value
See user guide description for more information.
Definition: input_keys.h:3874
static const Key< einhard::LogLevel > & get_logging_key(std::string_view area)
Get the logging Key given a logging area.
Definition: input_keys.h:6383
static const Key< std::vector< double > > potentials_vdf_powers
See user guide description for more information.
Definition: input_keys.h:5855
static const Key< double > forcedThermalization_startTime
See user guide description for more information.
Definition: input_keys.h:5950
static const Key< double > modi_collider_target_radius
See user guide description for more information.
Definition: input_keys.h:3387
static const Key< einhard::LogLevel > log_initialConditions
See user guide description for more information.
Definition: input_keys.h:1684
static const Key< double > modi_collider_projectile_deformed_beta4
See user guide description for more information.
Definition: input_keys.h:3617
static const Key< bool > modi_sphere_accountResonanceWidths
See user guide description for more information.
Definition: input_keys.h:4228
static const Key< std::map< PdgCode, int > > modi_collider_target_particles
See user guide description for more information.
Definition: input_keys.h:3360
static const Key< double > collTerm_stringParam_formTimeFactor
See user guide description for more information.
Definition: input_keys.h:2831
static const Key< std::vector< std::string > > output_thermodynamics_format
See user guide description for more information.
Definition: input_keys.h:5022
static const Key< double > modi_collider_target_diffusiveness
See user guide description for more information.
Definition: input_keys.h:3333
static const Key< double > potentials_coulomb_rCut
See user guide description for more information.
Definition: input_keys.h:5879
static const Key< einhard::LogLevel > log_decayModes
See user guide description for more information.
Definition: input_keys.h:1821
static const Key< double > output_initialConditions_rapidityCut
This key has been removed in SMASH-3.3 version.
Definition: input_keys.h:5308
static const Key< double > collTerm_stringParam_quarkAlpha
See user guide description for more information.
Definition: input_keys.h:2899
static const Key< bool > modi_box_accountResonanceWidths
See user guide description for more information.
Definition: input_keys.h:4565
static const Key< bool > modi_collider_impact_randomReactionPlane
See user guide description for more information.
Definition: input_keys.h:3819
static const Key< T > & get_key_reference(const KeyLabels &labels)
Get a key reference object given the key labels.
Definition: input_keys.h:6414
static const Key< std::vector< std::string > > modi_listBox_optionalQuantities
See user guide description for more information.
Definition: input_keys.h:4878
static const Key< einhard::LogLevel > log_grandcanThermalizer
See user guide description for more information.
Definition: input_keys.h:1669
static const Key< double > modi_collider_initialConditions_scaling
See user guide description for more information.
Definition: input_keys.h:3983
static const Key< bool > collTerm_decayInitial
See user guide description for more information.
Definition: input_keys.h:2248
static const Key< std::array< double, 2 > > modi_collider_impact_range
See user guide description for more information.
Definition: input_keys.h:3832
static const Key< std::string > version
This key has been removed in SMASH-3.2 version.
Definition: input_keys.h:2066
static const Key< int > gen_minNonEmptyEnsembles_number
See user guide description for more information.
Definition: input_keys.h:1222
static const Key< int64_t > gen_randomseed
See user guide description for more information.
Definition: input_keys.h:1197
static const Key< std::string > modi_list_fileDirectory
See user guide description for more information.
Definition: input_keys.h:4687
static const Key< double > modi_collider_initialConditions_maxTime
See user guide description for more information.
Definition: input_keys.h:4067
static const Key< double > collTerm_stringParam_stringZA
See user guide description for more information.
Definition: input_keys.h:3053
static const Key< einhard::LogLevel > log_action
See user guide description for more information.
Definition: input_keys.h:1780
static const Key< std::string > gen_modus
See user guide description for more information.
Definition: input_keys.h:1168
static const Key< double > gen_smearingTriangularRange
See user guide description for more information.
Definition: input_keys.h:1569
static const Key< double > modi_collider_initialConditions_minTime
See user guide description for more information.
Definition: input_keys.h:4053
static const Key< einhard::LogLevel > log_grid
See user guide description for more information.
Definition: input_keys.h:1887
static const Key< double > modi_sphere_startTime
See user guide description for more information.
Definition: input_keys.h:4194
static const Key< bool > output_rivet_ignoreBeams
See user guide description for more information.
Definition: input_keys.h:5361
static const Key< double > modi_sphere_heavyFlavorMultiplier
See user guide description for more information.
Definition: input_keys.h:4357
static const Key< bool > lattice_periodic
See user guide description for more information.
Definition: input_keys.h:5720
static const Key< double > collTerm_stringParam_strangeSuppression
See user guide description for more information.
Definition: input_keys.h:3012
static const Key< int > gen_minNonEmptyEnsembles_maximumEnsembles
See user guide description for more information.
Definition: input_keys.h:1210
static const Key< double > gen_expansionRate
See user guide description for more information.
Definition: input_keys.h:1341
static const Key< double > modi_box_equilibrationTime
See user guide description for more information.
Definition: input_keys.h:4607
static const Key< std::string > modi_listBox_filePrefix
See user guide description for more information.
Definition: input_keys.h:4837
static const Key< FluidizableProcessesBitSet > modi_collider_initialConditions_fluidProcesses
See user guide description for more information.
Definition: input_keys.h:4109
static const Key< einhard::LogLevel > log_yamlConfiguration
See user guide description for more information.
Definition: input_keys.h:1641
static const Key< SphereInitialCondition > modi_sphere_initialCondition
See user guide description for more information.
Definition: input_keys.h:4317
static const Key< double > potentials_skyrme_skyrmeB
See user guide description for more information.
Definition: input_keys.h:5788
static const Key< double > output_outputInterval
See user guide description for more information.
Definition: input_keys.h:4916
static const Key< bool > collTerm_onlyWarnForHighProbability
See user guide description for more information.
Definition: input_keys.h:2474
static const Key< double > collTerm_additionalElasticCrossSection
See user guide description for more information.
Definition: input_keys.h:2108
static const Key< std::map< PdgCode, int > > modi_collider_projectile_particles
See user guide description for more information.
Definition: input_keys.h:3354
static const Key< bool > collTerm_stringsWithProbability
See user guide description for more information.
Definition: input_keys.h:2597
static const Key< double > potentials_momentum_dependence_Lambda
See user guide description for more information.
Definition: input_keys.h:5905
static const Key< einhard::LogLevel > log_particleType
See user guide description for more information.
Definition: input_keys.h:1954
static const Key< double > collTerm_stringParam_stringSigmaT
See user guide description for more information.
Definition: input_keys.h:3025
static const Key< double > gen_smearingGaussianSigma
See user guide description for more information.
Definition: input_keys.h:1398
static const Key< bool > modi_collider_target_deformed_automatic
See user guide description for more information.
Definition: input_keys.h:3564
static const Key< double > modi_collider_initialConditions_eDenThreshold
See user guide description for more information.
Definition: input_keys.h:4037
static const Key< double > modi_box_jet_jetMomentum
See user guide description for more information.
Definition: input_keys.h:4660
static const Key< double > modi_collider_target_eKin
See user guide description for more information.
Definition: input_keys.h:3434
static const Key< CalculationFrame > modi_collider_calculationFrame
See user guide description for more information.
Definition: input_keys.h:3257
static const Key< double > modi_sphere_radius
See user guide description for more information.
Definition: input_keys.h:4182
static const Key< std::vector< std::string > > modi_list_optionalQuantities
See user guide description for more information.
Definition: input_keys.h:4796
static const Key< double > potentials_skyrme_skyrmeA
See user guide description for more information.
Definition: input_keys.h:5776
static const Key< einhard::LogLevel > log_sphere
See user guide description for more information.
Definition: input_keys.h:1764
static const Key< std::string > modi_list_filename
See user guide description for more information.
Definition: input_keys.h:4702
static const Key< bool > collTerm_dileptons_decays
See user guide description for more information.
Definition: input_keys.h:3129
static const Key< std::vector< std::string > > output_initialConditions_quantities
See user guide description for more information.
Definition: input_keys.h:5248
static const Key< double > modi_collider_impact_max
See user guide description for more information.
Definition: input_keys.h:3806
static const Key< double > collTerm_stringParam_stringZB
See user guide description for more information.
Definition: input_keys.h:3080
static const Key< double > potentials_symmetry_gamma
See user guide description for more information.
Definition: input_keys.h:5816
static const Key< bool > collTerm_strings
See user guide description for more information.
Definition: input_keys.h:2565
static const Key< std::vector< std::string > > output_rivet_preloads
See user guide description for more information.
Definition: input_keys.h:5405
static const Key< DerivativesMode > gen_derivativesMode
See user guide description for more information.
Definition: input_keys.h:1276
static const Key< bool > modi_sphere_jet_backToBack
See user guide description for more information.
Definition: input_keys.h:4443
static const Key< std::vector< double > > modi_collider_impact_yields
See user guide description for more information.
Definition: input_keys.h:3908
static const Key< double > modi_collider_initialConditions_formTimeFraction
See user guide description for more information.
Definition: input_keys.h:4146
static const Key< ThermalizationAlgorithm > forcedThermalization_algorithm
See user guide description for more information.
Definition: input_keys.h:5986
static const Key< double > collTerm_stringParam_quarkBeta
See user guide description for more information.
Definition: input_keys.h:2912
static const Key< std::vector< std::string > > output_particles_format
See user guide description for more information.
Definition: input_keys.h:4977
static const Key< double > collTerm_pauliBlocking_gaussianCutoff
See user guide description for more information.
Definition: input_keys.h:2685
static const Key< double > output_rivet_weights_cap
See user guide description for more information.
Definition: input_keys.h:5423
static const Key< std::string > decaymodes
See user guide description for more information.
Definition: input_keys.h:1124
static const Key< std::vector< std::string > > output_photons_quantities
See user guide description for more information.
Definition: input_keys.h:5210
static const Key< bool > collTerm_forceDecaysAtEnd
See user guide description for more information.
Definition: input_keys.h:2234
static const Key< bool > output_particles_extended
See user guide description for more information.
Definition: input_keys.h:5049
static const Key< double > modi_collider_target_deformed_beta2
See user guide description for more information.
Definition: input_keys.h:3582
static const Key< double > forcedThermalization_timestep
See user guide description for more information.
Definition: input_keys.h:5962
static const Key< double > modi_collider_target_alphaClustered_sideLength
See user guide description for more information.
Definition: input_keys.h:3705
static const Key< double > gen_endTime
See user guide description for more information.
Definition: input_keys.h:1142
static const Key< double > modi_box_startTime
See user guide description for more information.
Definition: input_keys.h:4524
static const Key< bool > collTerm_photons_bremsstrahlung
See user guide description for more information.
Definition: input_keys.h:3153
static const Key< PseudoResonance > collTerm_pseudoresonance
See user guide description for more information.
Definition: input_keys.h:2508
static const Key< double > gen_smearingGaussCutoffInSigma
See user guide description for more information.
Definition: input_keys.h:1385
static const Key< double > collTerm_stringParam_popcornRate
See user guide description for more information.
Definition: input_keys.h:2927
static const Key< int > gen_nevents
See user guide description for more information.
Definition: input_keys.h:1184
static const Key< einhard::LogLevel > log_resonances
See user guide description for more information.
Definition: input_keys.h:2012
static const Key< double > gen_smearingDiscreteWeight
See user guide description for more information.
Definition: input_keys.h:1293
static const Key< double > collTerm_elasticNNCutoffSqrts
See user guide description for more information.
Definition: input_keys.h:2206
static const Key< int > modi_listBox_shiftId
See user guide description for more information.
Definition: input_keys.h:4863
static const Key< ExpansionMode > gen_metricType
See user guide description for more information.
Definition: input_keys.h:1415
static const Key< int > gen_ensembles
See user guide description for more information.
Definition: input_keys.h:1323
static const Key< einhard::LogLevel > log_list
See user guide description for more information.
Definition: input_keys.h:1699
static const Key< std::array< double, 3 > > lattice_origin
See user guide description for more information.
Definition: input_keys.h:5703
static const Key< double > modi_collider_target_deformed_beta4
See user guide description for more information.
Definition: input_keys.h:3622
static const Key< einhard::LogLevel > log_nucleus
See user guide description for more information.
Definition: input_keys.h:1941
static const Key< bool > collTerm_isotropic
See user guide description for more information.
Definition: input_keys.h:2340
static const Key< double > collTerm_fixedMinCellLength
See user guide description for more information.
Definition: input_keys.h:2221
static const Key< einhard::LogLevel > log_pauliBlocking
See user guide description for more information.
Definition: input_keys.h:1969
static const Key< double > collTerm_stringParam_stringZBLeading
See user guide description for more information.
Definition: input_keys.h:3095
static const Key< double > collTerm_stringTrans_pipiOffset
See user guide description for more information.
Definition: input_keys.h:2741
static const Key< double > modi_collider_projectile_alphaClustered_sideLength
See user guide description for more information.
Definition: input_keys.h:3699
static const Key< double > potentials_skyrme_skyrmeTau
See user guide description for more information.
Definition: input_keys.h:5801
static const Key< MultiParticleReactionsBitSet > collTerm_multiParticleReactions
See user guide description for more information.
Definition: input_keys.h:2416
static const Key< double > modi_sphere_baryonChemicalPotential
See user guide description for more information.
Definition: input_keys.h:4278
static const Key< double > output_initialConditions_properTime
This key has been removed in SMASH-3.3 version.
Definition: input_keys.h:5278
static const Key< double > modi_collider_target_orientation_phi
See user guide description for more information.
Definition: input_keys.h:3736
static const Key< einhard::LogLevel > log_default
See user guide description for more information.
Definition: input_keys.h:1599
static const Key< double > collTerm_maximumCrossSection
See user guide description for more information.
Definition: input_keys.h:2368
static const Key< bool > collTerm_useAQM
See user guide description for more information.
Definition: input_keys.h:2673
static const Key< einhard::LogLevel > log_box
See user guide description for more information.
Definition: input_keys.h:1615
static const Key< einhard::LogLevel > log_experiment
See user guide description for more information.
Definition: input_keys.h:1656
static const Key< std::vector< std::string > > output_coulomb_format
See user guide description for more information.
Definition: input_keys.h:5016
static const Key< einhard::LogLevel > log_fpe
See user guide description for more information.
Definition: input_keys.h:1874
static const Key< std::array< double, 3 > > lattice_sizes
See user guide description for more information.
Definition: input_keys.h:5747
static const Key< std::vector< std::string > > output_initialConditions_format
See user guide description for more information.
Definition: input_keys.h:5004
static const Key< double > modi_collider_initialConditions_lowerBound
See user guide description for more information.
Definition: input_keys.h:3943
static const Key< TotalCrossSectionStrategy > collTerm_totXsStrategy
See user guide description for more information.
Definition: input_keys.h:2629
static const Key< double > modi_collider_eTot
See user guide description for more information.
Definition: input_keys.h:3201
static const Key< std::array< int, 3 > > lattice_cellNumber
See user guide description for more information.
Definition: input_keys.h:5684
static const Key< std::array< double, 3 > > output_thermodynamics_position
See user guide description for more information.
Definition: input_keys.h:5556
static const Key< double > collTerm_elasticCrossSection
See user guide description for more information.
Definition: input_keys.h:2188
static const Key< std::vector< std::string > > output_rivet_paths
See user guide description for more information.
Definition: input_keys.h:5391
static const Key< double > output_initialConditions_lowerBound
This key has been removed in SMASH-3.3 version.
Definition: input_keys.h:5263
static const Key< double > modi_collider_projectile_orientation_psi
See user guide description for more information.
Definition: input_keys.h:3767
static const Key< bool > output_collisions_extended
See user guide description for more information.
Definition: input_keys.h:5105
static const Key< OutputOnlyFinal > output_particles_onlyFinal
See user guide description for more information.
Definition: input_keys.h:5084
static const Key< std::vector< std::string > > output_dileptons_format
See user guide description for more information.
Definition: input_keys.h:4991
static const Key< std::vector< std::string > > output_rivet_format
See user guide description for more information.
Definition: input_keys.h:5011
static const Key< std::string > modi_collider_target_custom_fileName
See user guide description for more information.
Definition: input_keys.h:3523
static const Key< double > modi_collider_projectile_deformed_beta2
See user guide description for more information.
Definition: input_keys.h:3577
static const Key< std::string > modi_collider_projectile_custom_fileName
See user guide description for more information.
Definition: input_keys.h:3518
static const Key< einhard::LogLevel > log_findScatter
See user guide description for more information.
Definition: input_keys.h:1862
static const Key< double > collTerm_stringParam_stringTension
See user guide description for more information.
Definition: input_keys.h:3040
static const Key< double > modi_box_strangeChemicalPotential
See user guide description for more information.
Definition: input_keys.h:4621
static const Key< SpinInteractionType > collTerm_spinInteractions
See user guide description for more information.
Definition: input_keys.h:2549
static const Key< double > modi_box_chargeChemicalPotential
See user guide description for more information.
Definition: input_keys.h:4591
static const Key< std::vector< std::string > > output_particles_quantities
See user guide description for more information.
Definition: input_keys.h:5065
static const Key< double > modi_collider_projectile_deformed_gamma
See user guide description for more information.
Definition: input_keys.h:3637
static const Key< double > collTerm_pauliBlocking_spatialAveragingRadius
See user guide description for more information.
Definition: input_keys.h:2712
static const Key< PdgCode > modi_box_jet_jetPdg
See user guide description for more information.
Definition: input_keys.h:4673
static const Key< std::vector< std::string > > output_rivet_analyses
See user guide description for more information.
Definition: input_keys.h:5332
static const Key< bool > output_dileptons_extended
See user guide description for more information.
Definition: input_keys.h:5156
static const Key< CollisionCriterion > collTerm_collisionCriterion
See user guide description for more information.
Definition: input_keys.h:2156
static const Key< einhard::LogLevel > log_clock
See user guide description for more information.
Definition: input_keys.h:1793
static const Key< einhard::LogLevel > log_distributions
See user guide description for more information.
Definition: input_keys.h:1847
static const Key< double > potentials_symmetry_sPot
See user guide description for more information.
Definition: input_keys.h:5828
static const std::vector< key_references_variant > list
List of references to all existing SMASH keys.
Definition: input_keys.h:6077
static const Key< int > modi_list_shiftId
See user guide description for more information.
Definition: input_keys.h:4732
static const Key< SmearingMode > gen_smearingMode
See user guide description for more information.
Definition: input_keys.h:1500
static const Key< bool > gen_useGrid
See user guide description for more information.
Definition: input_keys.h:1583
static const Key< einhard::LogLevel > log_output
See user guide description for more information.
Definition: input_keys.h:1725
static const Key< std::string > modi_list_filePrefix
See user guide description for more information.
Definition: input_keys.h:4715
static const Key< bool > output_thermodynamics_onlyParticipants
See user guide description for more information.
Definition: input_keys.h:5543
static const Key< std::array< double, 2 > > output_rivet_crossSection
See user guide description for more information.
Definition: input_keys.h:5345
static const Key< double > modi_collider_projectile_pLab
See user guide description for more information.
Definition: input_keys.h:3475
static const Key< std::vector< std::string > > output_rivet_weights_deselect
See user guide description for more information.
Definition: input_keys.h:5437
static const Key< FieldDerivativesMode > gen_fieldDerivativesMode
See user guide description for more information.
Definition: input_keys.h:1370
static const Key< einhard::LogLevel > log_density
See user guide description for more information.
Definition: input_keys.h:1834
static const Key< double > modi_collider_target_deformed_gamma
See user guide description for more information.
Definition: input_keys.h:3642
static const Key< einhard::LogLevel > log_propagation
See user guide description for more information.
Definition: input_keys.h:1984
static const Key< einhard::LogLevel > log_scatterActionMulti
See user guide description for more information.
Definition: input_keys.h:2041
static const Key< double > output_initialConditions_pTCut
This key has been removed in SMASH-3.3 version.
Definition: input_keys.h:5293
static const Key< bool > modi_collider_projectile_alphaClustered_automatic
See user guide description for more information.
Definition: input_keys.h:3679
static const Key< RestFrameDensityDerivativesMode > gen_restFrameDensityDerivativeMode
This key has been removed in SMASH-3.0 version.
Definition: input_keys.h:1441
static const Key< einhard::LogLevel > log_collider
See user guide description for more information.
Definition: input_keys.h:1628
static const Key< bool > collTerm_ignoreDecayWidthAtTheEnd
See user guide description for more information.
Definition: input_keys.h:2325
static const Key< double > modi_sphere_jet_backToBackSeparation
See user guide description for more information.
Definition: input_keys.h:4459
static const Key< std::string > modi_listBox_filename
See user guide description for more information.
Definition: input_keys.h:4824
static const Key< Sampling > modi_collider_impact_sample
See user guide description for more information.
Definition: input_keys.h:3861
static const Key< double > modi_collider_initialConditions_rapidityCut
See user guide description for more information.
Definition: input_keys.h:4021
static const Key< double > modi_collider_projectile_eTot
See user guide description for more information.
Definition: input_keys.h:3448
static const Key< bool > modi_sphere_useThermalMultiplicities
See user guide description for more information.
Definition: input_keys.h:4378
static const Key< double > collTerm_HF_AQMbSuppression
See user guide description for more information.
Definition: input_keys.h:2079
static const Key< bool > output_collisions_printStartEnd
See user guide description for more information.
Definition: input_keys.h:5138
static const Key< double > collTerm_stringTrans_KNOffset
See user guide description for more information.
Definition: input_keys.h:2726
static const Key< bool > collTerm_includeDecaysAtTheEnd
This key has been removed in SMASH-3.2 version.
Definition: input_keys.h:2299
static const Key< NNbarTreatment > collTerm_nnbarTreatment
See user guide description for more information.
Definition: input_keys.h:2441
static const Key< einhard::LogLevel > log_tmn
See user guide description for more information.
Definition: input_keys.h:2055
static const Key< std::string > modi_collider_target_custom_fileDirectory
See user guide description for more information.
Definition: input_keys.h:3506
static const Key< std::pair< double, double > > collTerm_stringTrans_rangeNN
See user guide description for more information.
Definition: input_keys.h:2772
static const Key< bool > lattice_automatic
See user guide description for more information.
Definition: input_keys.h:5670
static const Key< double > gen_deltaTime
See user guide description for more information.
Definition: input_keys.h:1253
static const Key< std::vector< double > > output_outputTimes
See user guide description for more information.
Definition: input_keys.h:4940
static const Key< bool > output_thermodynamics_smearing
See user guide description for more information.
Definition: input_keys.h:5625
static const Key< BoxInitialCondition > modi_box_initialCondition
See user guide description for more information.
Definition: input_keys.h:4499
static const Key< double > potentials_vdf_satRhoB
See user guide description for more information.
Definition: input_keys.h:5867
static const Key< std::map< std::string, std::string > > output_rivet_logging
See user guide description for more information.
Definition: input_keys.h:5377
static const Key< std::vector< std::string > > & get_output_format_key(std::string_view content)
Get the output format key object.
Definition: input_keys.h:6393
static const Key< double > collTerm_stringParam_gluonBeta
See user guide description for more information.
Definition: input_keys.h:2856
static const Key< bool > lattice_potentialsAffectThreshold
See user guide description for more information.
Definition: input_keys.h:5733
static const Key< double > collTerm_HF_AQMcSuppression
See user guide description for more information.
Definition: input_keys.h:2092
static const Key< std::array< int, 3 > > forcedThermalization_cellNumber
See user guide description for more information.
Definition: input_keys.h:5924
static const Key< einhard::LogLevel > log_potentials
See user guide description for more information.
Definition: input_keys.h:1738
static const Key< double > modi_collider_target_orientation_psi
See user guide description for more information.
Definition: input_keys.h:3772
static const Key< double > output_rivet_weights_nloSmearing
See user guide description for more information.
Definition: input_keys.h:5452
static const Key< double > modi_collider_projectile_orientation_phi
See user guide description for more information.
Definition: input_keys.h:3731
static const Key< std::vector< std::string > > output_dileptons_quantities
See user guide description for more information.
Definition: input_keys.h:5173
static const Key< FermiMotion > modi_collider_fermiMotion
See user guide description for more information.
Definition: input_keys.h:3289
static const Key< bool > collTerm_stringParam_separateFragmentBaryon
See user guide description for more information.
Definition: input_keys.h:2974
static const Key< bool > output_photons_extended
See user guide description for more information.
Definition: input_keys.h:5193
static const Key< double > modi_collider_initialConditions_properTime
See user guide description for more information.
Definition: input_keys.h:3964
static const Key< std::vector< std::string > > output_collisions_quantities
See user guide description for more information.
Definition: input_keys.h:5123
static const Key< bool > collTerm_twoToOne
See user guide description for more information.
Definition: input_keys.h:2643
static const Key< bool > modi_collider_projectile_orientation_randRot
See user guide description for more information.
Definition: input_keys.h:3786
static const Key< std::map< PdgCode, int > > modi_box_initialMultiplicities
See user guide description for more information.
Definition: input_keys.h:4479
static const Key< double > modi_collider_initialConditions_pTCut
See user guide description for more information.
Definition: input_keys.h:4003
static const Key< double > modi_sphere_strangeChemicalPotential
See user guide description for more information.
Definition: input_keys.h:4334
static const Key< int > gen_testparticles
See user guide description for more information.
Definition: input_keys.h:1532
static const Key< std::string > modi_listBox_fileDirectory
See user guide description for more information.
Definition: input_keys.h:4811
static const Key< TimeStepMode > gen_timeStepMode
See user guide description for more information.
Definition: input_keys.h:1556
static const Key< bool > modi_collider_target_alphaClustered_automatic
See user guide description for more information.
Definition: input_keys.h:3684
static const Key< std::vector< double > > potentials_vdf_coeffs
See user guide description for more information.
Definition: input_keys.h:5840
static const Key< double > modi_collider_target_deformed_beta3
See user guide description for more information.
Definition: input_keys.h:3602
A container to keep track of all ever existed sections in the input file.
Definition: input_keys.h:48
static const Section m_c_p_alphaClustered
Subsection for the alpha-clustered projectile in collider modus.
Definition: input_keys.h:105
static const Section o_rivet
Subsection for the output Rivet content.
Definition: input_keys.h:156
static const Section m_b_jet
Subsection for the jet in box modus.
Definition: input_keys.h:93
static const Section output
Section for the output information.
Definition: input_keys.h:140
static const Section m_c_p_custom
Subsection for the custom projectile in collider modus.
Definition: input_keys.h:108
static const Section potentials
Section for the potentials information.
Definition: input_keys.h:164
static const Section m_c_p_orientation
Subsection for the projectile orientation in collider modus.
Definition: input_keys.h:114
static const Section m_collider
Subsection for the collider modus.
Definition: input_keys.h:95
static const Section o_particles
Subsection for the output particles content.
Definition: input_keys.h:152
static const Section p_coulomb
Subsection for the Coulomb potentials information.
Definition: input_keys.h:166
static const Section c_pauliBlocking
Subsection for the Pauli blocking mechanism.
Definition: input_keys.h:58
static const Section o_r_weights
Subsection for the output Rivet weights information.
Definition: input_keys.h:158
static const Section c_photons
Subsection for the photons.
Definition: input_keys.h:61
static const Section m_c_p_deformed
Subsection for the deformed projectile in collider modus.
Definition: input_keys.h:111
static const Section c_dileptons
Subsection for the dileptons.
Definition: input_keys.h:55
static const Section p_skyrme
Subsection for the Skyrme potentials information.
Definition: input_keys.h:171
static const Section m_s_jet
Subsection for the jet in sphere modus.
Definition: input_keys.h:137
static const Section p_vdf
Subsection for the VDF potentials information.
Definition: input_keys.h:176
static const Section m_c_t_orientation
Subsection for the target orientation in collider modus.
Definition: input_keys.h:128
static const Section c_stringTransition
Subsection for the string transition.
Definition: input_keys.h:70
static const Section o_thermodynamics
Subsection for the output thermodynamics content.
Definition: input_keys.h:160
static const Section o_collisions
Subsection for the output collisions content.
Definition: input_keys.h:142
static const Section m_box
Subsection for the box modus.
Definition: input_keys.h:91
static const Section m_c_projectile
Subsection for the projectile in collider modus.
Definition: input_keys.h:102
static const Section p_momentumDependence
Subsection for the momentum-dependent potentials information.
Definition: input_keys.h:168
static const Section forcedThermalization
Section for the forced thermalization.
Definition: input_keys.h:74
static const Section o_dileptons
Subsection for the output dileptons content.
Definition: input_keys.h:147
static const Section m_c_t_deformed
Subsection for the deformed target in collider modus.
Definition: input_keys.h:125
static const Section collisionTerm
Section for the collision term.
Definition: input_keys.h:53
static const Section logging
Section for the logging.
Definition: input_keys.h:86
static const Section c_heavyFlavor
Subsection for heavy flavor.
Definition: input_keys.h:64
static const Section m_list
Subsection for the list modus.
Definition: input_keys.h:131
static const Section general
General section.
Definition: input_keys.h:77
static const Section m_c_target
Subsection for the target in collider modus.
Definition: input_keys.h:117
static const Section o_photons
Subsection for the output photons content.
Definition: input_keys.h:154
static const Section modi
Section for the modus specific information.
Definition: input_keys.h:89
KeyLabels Section
Type alias to be more descriptive when declaring members.
Definition: input_keys.h:50
static const Section m_c_initialConditions
Subsection for the initial conditions in collider modus.
Definition: input_keys.h:99
static const Section m_sphere
Subsection for the sphere modus.
Definition: input_keys.h:135
static const Section p_symmetry
Subsection for the symmetry potentials information.
Definition: input_keys.h:173
static const Section o_coulomb
Subsection for the output Coulomb content.
Definition: input_keys.h:145
static const Section o_initialConditions
Subsection for the output initial conditions content.
Definition: input_keys.h:149
static const Section m_c_t_custom
Subsection for the custom target in collider modus.
Definition: input_keys.h:122
static const Section lattice
Section for the lattice.
Definition: input_keys.h:83
static const Section m_c_impact
Subsection for the impact information in collider modus.
Definition: input_keys.h:97
static const Section g_minEnsembles
Subsection for the minimum-nonempty-ensembles mechanism.
Definition: input_keys.h:79
static const Section m_listBox
Subsection for the list-box modus.
Definition: input_keys.h:133
static const Section c_stringParameters
Subsection for the string parameters.
Definition: input_keys.h:67
static const Section m_c_t_alphaClustered
Subsection for the alpha-clustered target in collider modus.
Definition: input_keys.h:119