10 #ifndef SRC_INCLUDE_SMASH_FORWARDDECLARATIONS_H_
11 #define SRC_INCLUDE_SMASH_FORWARDDECLARATIONS_H_
25 class ScatterActionMulti;
28 class CollisionBranch;
36 class IsoParticleType;
40 class OutputInterface;
44 class ParticleTypePtr;
46 class ScatterActionsFinderParameters;
50 struct ExperimentParameters;
51 struct InitialConditionParameters;
52 struct StringTransitionParameters;
433 template <
typename T>
434 using build_unique_ptr_ = std::unique_ptr<T, std::default_delete<T>>;
435 template <
typename T>
436 using build_vector_ = std::vector<T, std::allocator<T>>;
438 using ActionPtr = build_unique_ptr_<Action>;
439 using ScatterActionPtr = build_unique_ptr_<ScatterAction>;
440 using ScatterActionMultiPtr = build_unique_ptr_<ScatterActionMulti>;
441 using ActionList = build_vector_<ActionPtr>;
443 using OutputPtr = build_unique_ptr_<OutputInterface>;
444 using OutputsList = build_vector_<OutputPtr>;
446 using ParticleList = build_vector_<ParticleData>;
447 using ParticleTypeList = build_vector_<ParticleType>;
448 using ParticleTypePtrList = build_vector_<ParticleTypePtr>;
449 using IsoParticleTypeList = build_vector_<IsoParticleType>;
451 template <
typename T>
452 using ProcessBranchPtr = build_unique_ptr_<T>;
453 template <
typename T>
454 using ProcessBranchList = build_vector_<ProcessBranchPtr<T>>;
455 using DecayBranchPtr = build_unique_ptr_<DecayBranch>;
456 using DecayBranchList = build_vector_<DecayBranchPtr>;
457 using CollisionBranchPtr = build_unique_ptr_<CollisionBranch>;
458 using CollisionBranchList = build_vector_<CollisionBranchPtr>;
460 using TabulationPtr = build_unique_ptr_<Tabulation>;
461 using ExperimentPtr = build_unique_ptr_<ExperimentBase>;
462 using DecayTypePtr = build_unique_ptr_<DecayType>;
SmearingMode
Modes of smearing.
DileptonBremsPionFormFactor
Option to use form factors in dilepton bremsstrahlung as described in Shyam:2010vr .
@ FF2
Photon couples 40% directly to intrinsice quark structure of pion and 60% indirectly via meson.
@ FF1
Photon couples to pion only via meson.
@ Off
Don't use form factors, i.e. multiply by 1.
FermiMotion
Option to use Fermi Motion.
@ On
Use fermi motion in combination with potentials.
@ Frozen
Use fermi motion without potentials.
ExtrapolationType
Allows to specify the desired extrapolation type.
@ Linear
Extrapolate using a linear approach.
@ Constant
Extrapolate using a constant value.
@ Zero
Extrapolate with zero.
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.
RestFrameDensityDerivativesMode
This enum is here only to serve InputKeys class, but it is unused and referring to a removed SMASH in...
CharmRescattering
Possible charm scattering options.
@ T_Matrix
Charm interactions via T-matrix approach.
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.
HardStringTransitionMode
Select the model used for the transition from soft to hard string excitation.
@ Custom_Range
Smooth transition within a user-defined invariant energy range.
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.
IncludedFluidizableProcesses
The different processes from where fluidizable particles are produced.
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
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.
@ IC_ES
Off-equilibrium distribution used in massless comparisons of SMASH to the extended universe metric.
@ 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...
@ LargestFromUnstable
Heaviest possible resonance from processes with at least one resonance in the incoming particles.
@ Largest
Resonance of largest mass for all processes.
EventCounting
Defines how the number of events is determined.
@ Invalid
Unused, only in the code for internal logic.
@ FixedNumber
The desired number of events is simulated disregarding of whether an interaction took place.
@ MinimumNonEmpty
Events are simulated until there are at least a given number of ensembles in which an interaction too...
IncludedReactions
The different groups of 2 to 2 reactions that one can include.
std::bitset< 11 > ReactionsBitSet
Container for the 2 to 2 reactions in the code.
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.
SpinInteractionType
Possible spin interaction types.
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.