10 #ifndef SRC_INCLUDE_SMASH_FORWARDDECLARATIONS_H_
11 #define SRC_INCLUDE_SMASH_FORWARDDECLARATIONS_H_
20 #ifdef _LIBCPP_BEGIN_NAMESPACE_STD
21 _LIBCPP_BEGIN_NAMESPACE_STD
28 template <
typename T,
typename A>
32 struct default_delete;
33 template <
typename T,
typename Deleter>
36 template <std::
size_t N>
39 #ifdef _LIBCPP_END_NAMESPACE_STD
40 _LIBCPP_END_NAMESPACE_STD
46 namespace filesystem {
54 using build_unique_ptr_ = std::unique_ptr<T, std::default_delete<T>>;
56 using build_vector_ = std::vector<T, std::allocator<T>>;
60 class ScatterActionMulti;
70 class OutputInterface;
74 class ParticleTypePtr;
75 class IsoParticleType;
78 class CollisionBranch;
81 struct ExperimentParameters;
309 using ActionPtr = build_unique_ptr_<Action>;
310 using ScatterActionPtr = build_unique_ptr_<ScatterAction>;
311 using ScatterActionMultiPtr = build_unique_ptr_<ScatterActionMulti>;
312 using ActionList = build_vector_<ActionPtr>;
314 using OutputPtr = build_unique_ptr_<OutputInterface>;
315 using OutputsList = build_vector_<OutputPtr>;
317 using ParticleList = build_vector_<ParticleData>;
318 using ParticleTypeList = build_vector_<ParticleType>;
319 using ParticleTypePtrList = build_vector_<ParticleTypePtr>;
320 using IsoParticleTypeList = build_vector_<IsoParticleType>;
322 template <
typename T>
323 using ProcessBranchPtr = build_unique_ptr_<T>;
324 template <
typename T>
325 using ProcessBranchList = build_vector_<ProcessBranchPtr<T>>;
326 using DecayBranchPtr = build_unique_ptr_<DecayBranch>;
327 using DecayBranchList = build_vector_<DecayBranchPtr>;
328 using CollisionBranchPtr = build_unique_ptr_<CollisionBranch>;
329 using CollisionBranchList = build_vector_<CollisionBranchPtr>;
331 using TabulationPtr = build_unique_ptr_<Tabulation>;
332 using ExperimentPtr = build_unique_ptr_<ExperimentBase>;
333 using DecayTypePtr = build_unique_ptr_<DecayType>;
335 namespace bf = boost::filesystem;
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.
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.
RestFrameDensityDerivativesMode
Modes of calculating the gradients: whether to calculate the rest frame density derivatives.
TimeStepMode
The time step mode.
@ Fixed
Use fixed time step.
ThermodynamicQuantity
Represents thermodynamic quantities that can be printed out.
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.
IncludedMultiParticleReactions
The different groups of multi-particle reactions that one can include.
DerivativesMode
Modes of calculating the gradients.
CollisionCriterion
Criteria used to check collisions.
@ Stochastic
Stochastic Criteiron.
@ Geometric
(Default) 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.
EventCounting
Defines how the number of events is determined.
IncludedReactions
The different groups of 2 to 2 reactions that one can include.
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
ExpansionMode
Defines properties of expansion for the metric (e.g.