13 #include <string_view>
20 throw std::invalid_argument(
"Unhandled " + std::string(enum_name) +
22 " passed to conversion function to_string().");
34 return "landau_velocity";
44 return "center of velocity";
46 return "center of mass";
48 return "fixed target";
72 return "baryonic isospin";
76 return "total isospin";
104 return "Covariant Gaussian";
106 return "Finite difference";
126 return "Covariant Gaussian";
148 return "thermal momenta";
150 return "thermal momenta quantum";
152 return "peaked momenta";
160 return "thermal momenta";
162 return "thermal momenta quantum";
178 return "no annihilation";
182 return "two to five";
204 return "mode sampling";
208 return "unbiased BF";
232 return "TopDownMeasured";
246 return "LargestFromUnstable";
248 return "ClosestFromUnstable";
256 return "Constant_Tau";
298 std::vector<std::string> result{};
300 result.push_back(
"Elastic");
302 result.push_back(
"NN_to_NR");
304 result.push_back(
"NN_to_DR");
306 result.push_back(
"KN_to_KN");
308 result.push_back(
"KN_to_KDelta");
310 result.push_back(
"Strangeness_exchange");
312 result.push_back(
"NNbar");
314 result.push_back(
"PiDeuteron_to_NN");
316 result.push_back(
"PiDeuteron_to_pidprime");
318 result.push_back(
"NDeuteron_to_Ndprime");
323 std::vector<std::string> result{};
325 result.push_back(
"Meson_3to1");
327 result.push_back(
"Deuteron_3to2");
329 result.push_back(
"NNbar_5to2");
331 result.push_back(
"A3_Nuclei_4to2");
336 std::vector<std::string> result{};
338 result.push_back(
"Elastic");
340 result.push_back(
"Decay");
342 result.push_back(
"Inelastic");
344 result.push_back(
"SoftString");
346 result.push_back(
"HardString");
SmearingMode
Modes of smearing.
FermiMotion
Option to use Fermi Motion.
@ On
Use fermi motion in combination with potentials.
@ Frozen
Use fermi motion without potentials.
@ Off
Don't use fermi motion.
std::bitset< 10 > ReactionsBitSet
Container for the 2 to 2 reactions in the code.
ThermalizationAlgorithm
Defines the algorithm used for the forced thermalization.
FluidizationType
Possible methods to convert SMASH particle into fluid cells.
@ ConstantTau
Hypersurface crossed at a fixed proper time.
@ Dynamic
Dynamic fluidization based on local densities.
NNbarTreatment
Treatment of N Nbar Annihilation.
@ NoAnnihilation
No Annihilation.
@ TwoToFive
Directly create 5 pions, use with multi-particle reactions.
@ Resonances
Use intermediate Resonances.
@ Strings
Use string fragmentation.
TimeStepMode
The time step mode.
@ Fixed
Use fixed time step.
@ None
Don't use time steps; propagate from action to action.
ThermodynamicQuantity
Represents thermodynamic quantities that can be printed out See user guide description for more infor...
@ EckartDensity
Density in the Eckart frame.
@ Tmn
Energy-momentum tensor in lab frame.
@ LandauVelocity
Velocity of the Landau rest frame.
@ j_QBS
Electric (Q), baryonic (B) and strange (S) currents.
@ TmnLandau
Energy-momentum tensor in Landau rest frame.
std::bitset< 5 > FluidizableProcessesBitSet
TotalCrossSectionStrategy
Determine how total cross sections for collision finding should be computed.
@ TopDownMeasured
Mix the two above, using the parametrizations only for measured processes, and summing up partials fo...
@ TopDown
Use parametrizations based on existing data, rescaling with AQM for unmeasured processes.
@ BottomUp
Sum the existing partial contributions.
Sampling
Possible methods of impact parameter sampling.
@ Quadratic
Sample from areal / quadratic distribution.
@ Custom
Sample from custom, user-defined distribution.
@ Uniform
Sample from uniform distribution.
std::bitset< 4 > MultiParticleReactionsBitSet
Container for the n to m reactions in the code.
CalculationFrame
The calculation frame.
DerivativesMode
Modes of calculating the gradients.
CollisionCriterion
Criteria used to check collisions.
@ Stochastic
Stochastic Criteiron.
@ Geometric
Geometric criterion.
@ Covariant
Covariant Criterion.
FieldDerivativesMode
Modes of calculating the field gradients: chain rule or direct.
SphereInitialCondition
Initial condition for a particle in a sphere.
@ ThermalMomentaBoltzmann
A thermalized ensemble is generated, with momenta sampled from a Maxwell-Boltzmann distribution.
@ IC_ES
Off-equilibrium distribution used in massless comparisons of SMASH to the extended universe metric.
@ ThermalMomentaQuantum
A thermalized ensemble is generated, with momenta of baryons(mesons) sampled from a Fermi(Bose) distr...
@ IC_Massive
A generalization of IC_ES for the non-zero mass case; note that there is currently no analytical comp...
@ IC_2M
Off-equilibrium distribution used in massless comparisons of SMASH to the extended universe metric.
@ IC_1M
Off-equilibrium distribution used in massless comparisons of SMASH to the extended universe metric.
PseudoResonance
Which pseudo-resonance fills the inelastic gap in the transition to string region of cross sections.
@ Closest
Resonance with the pole mass closest from the invariant mass of incoming particles for all processes.
@ ClosestFromUnstable
Closest resonance for a given mass from processes with at least one resonance in the incoming particl...
@ None
No pseudo-resonance is created.
@ LargestFromUnstable
Heaviest possible resonance from processes with at least one resonance in the incoming particles.
@ Largest
Resonance of largest mass for all processes.
DensityType
Allows to choose which kind of density to calculate.
OutputOnlyFinal
Whether and when only final state particles should be printed.
@ IfNotEmpty
Print only final-state particles, and those only if the event is not empty.
@ Yes
Print only final-state particles.
@ No
Print initial, intermediate and final-state particles.
BoxInitialCondition
Initial condition for a particle in a box.
@ ThermalMomentaBoltzmann
A thermalized ensemble is generated, with momenta sampled from a Maxwell-Boltzmann distribution.
@ ThermalMomentaQuantum
A thermalized ensemble is generated, with momenta of baryons(mesons) sampled from a Fermi(Bose) distr...
@ PeakedMomenta
All particles have the same momentum with T being the temperature.
ExpansionMode
Defines properties of expansion for the metric (e.g.
LogLevel
Specification of the message severity.
@ TRACE
The lowes severity for messages describing the program flow.
@ OFF
If selected no messages will be output.
@ FATAL
Messages that indicate terminal application failure.
@ INFO
Messages of informational nature, expected processing time e.g.
static void throw_unhandled_enum(std::string_view enum_name, int value)
std::string to_string(ThermodynamicQuantity quantity)
Convert a ThermodynamicQuantity enum value to its corresponding string.