Version: SMASH-3.4
icparameters.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2024-2025
3  * SMASH Team
4  *
5  * GNU General Public License (GPLv3 or later)
6  */
7 #ifndef SRC_INCLUDE_SMASH_ICPARAMETERS_H_
8 #define SRC_INCLUDE_SMASH_ICPARAMETERS_H_
9 
10 #include <optional>
11 
12 namespace smash {
13 /**
14  * The variables in this POD struct are of type `std::optional<double>` so that
15  * only the relevant parameters are set for the different types of initial
16  * conditions. Only \c type is the exception, as it is a required key for the IC
17  * runs.
18  */
20  /// Type of initialization
22  /// Which processes can have outgoing particles transformed into fluid in
23  /// dynamic IC
24  std::optional<FluidizableProcessesBitSet> fluidizable_processes =
25  std::nullopt;
26  /// Hypersurface proper time in IC
27  std::optional<double> proper_time = std::nullopt;
28  /// Lower bound for proper time in IC
29  std::optional<double> lower_bound = std::nullopt;
30  /// Scaling factor for proper time in IC
31  std::optional<double> proper_time_scaling = std::nullopt;
32  /// Rapidity cut on hypersurface IC
33  std::optional<double> rapidity_cut = std::nullopt;
34  /// Transverse momentum cut on hypersurface IC
35  std::optional<double> pT_cut = std::nullopt;
36  /// Minimum energy density for dynamic IC
37  std::optional<double> energy_density_threshold = std::nullopt;
38  /// Minimum time (in lab frame) in fm for dynamic IC
39  std::optional<double> min_time = std::nullopt;
40  /// Maximum time (in lab frame) in fm for dynamic IC
41  std::optional<double> max_time = std::nullopt;
42  /// Number of interpolating cells in each direction for dynamic IC
43  std::optional<int> num_fluid_cells = std::nullopt;
44  /**
45  * Fraction of formation time to pass before particles can fluidize in
46  * dynamic IC
47  */
48  std::optional<double> formation_time_fraction = std::nullopt;
49  /// Smearing kernel at 0 for dynamic IC
50  std::optional<double> smearing_kernel_at_0 = std::nullopt;
51  /// Whether the first elastic interaction of an initial nucleon is fluidizable
52  std::optional<bool> delay_initial_elastic = std::nullopt;
53 };
54 
55 } // namespace smash
56 
57 #endif // SRC_INCLUDE_SMASH_ICPARAMETERS_H_
FluidizationType
Possible methods to convert SMASH particle into fluid cells.
Definition: action.h:24
The variables in this POD struct are of type std::optional<double> so that only the relevant paramete...
Definition: icparameters.h:19
FluidizationType type
Type of initialization.
Definition: icparameters.h:21
std::optional< double > proper_time
Hypersurface proper time in IC.
Definition: icparameters.h:27
std::optional< int > num_fluid_cells
Number of interpolating cells in each direction for dynamic IC.
Definition: icparameters.h:43
std::optional< double > formation_time_fraction
Fraction of formation time to pass before particles can fluidize in dynamic IC.
Definition: icparameters.h:48
std::optional< double > proper_time_scaling
Scaling factor for proper time in IC.
Definition: icparameters.h:31
std::optional< double > energy_density_threshold
Minimum energy density for dynamic IC.
Definition: icparameters.h:37
std::optional< double > smearing_kernel_at_0
Smearing kernel at 0 for dynamic IC.
Definition: icparameters.h:50
std::optional< double > lower_bound
Lower bound for proper time in IC.
Definition: icparameters.h:29
std::optional< double > min_time
Minimum time (in lab frame) in fm for dynamic IC.
Definition: icparameters.h:39
std::optional< bool > delay_initial_elastic
Whether the first elastic interaction of an initial nucleon is fluidizable.
Definition: icparameters.h:52
std::optional< double > pT_cut
Transverse momentum cut on hypersurface IC.
Definition: icparameters.h:35
std::optional< FluidizableProcessesBitSet > fluidizable_processes
Which processes can have outgoing particles transformed into fluid in dynamic IC.
Definition: icparameters.h:24
std::optional< double > rapidity_cut
Rapidity cut on hypersurface IC.
Definition: icparameters.h:33
std::optional< double > max_time
Maximum time (in lab frame) in fm for dynamic IC.
Definition: icparameters.h:41