Namespaces | |
anonymous_namespace{configuration.cc} | |
anonymous_namespace{decaymodes.cc} | |
anonymous_namespace{oscaroutput.cc} | |
anonymous_namespace{particletype.cc} | |
anonymous_namespace{smash.cc} | |
decaytree | |
LogArea | |
The namespace where log areas are declared. | |
lowess | |
pdg | |
Constants representing PDG codes. | |
random | |
Namespace random provides functions for random Number Generation. | |
sha256 | |
Test | |
transit_high_energy | |
constants related to transition between low and high collision energies | |
utf8 | |
Classes | |
class | Action |
class | ActionFinderInterface |
class | Actions |
class | Angles |
Angles provides a common interface for generating directions: i.e., two angles that should be interpreted as azimuthal and polar angles. More... | |
class | Average |
Calculate an average value incrementally. More... | |
class | BinaryOutputBase |
class | BinaryOutputCollisions |
Saves SMASH collision history to binary file. More... | |
class | BinaryOutputInitialConditions |
Writes the particles when crossing the hypersurface to the binary file. More... | |
class | BinaryOutputParticles |
Writes the particle list at specific times to the binary file. More... | |
class | BoxModus |
class | BremsstrahlungAction |
class | Clock |
Clock tracks the time in the simulation. More... | |
class | ColliderModus |
class | CollisionBranch |
class | Configuration |
Interface to the SMASH configuration files. More... | |
class | CrossSections |
The cross section class assembels everything that is needed to calculate the cross section and returns a list of all possible reactions for the incoming particles at the given energy with the calculated cross sections. More... | |
class | CrosssectionsPhoton |
class | CrosssectionsPhoton< ComputationMethod::Analytic > |
Class to calculate the cross-section of a meson-meson to meson-photon process. More... | |
class | CustomClock |
Clock with explicitly defined time steps. More... | |
class | CustomNucleus |
Inheriting from Nucleus-Class using modified Nucleon configurations. More... | |
class | DecayAction |
class | DecayActionDilepton |
class | DecayActionsFinder |
class | DecayActionsFinderDilepton |
class | DecayBranch |
class | DecayModes |
class | DecayType |
DecayType is the abstract base class for all decay types. More... | |
class | DeformedNucleus |
DeformedNucleus: Child of nucleus for deformed nuclei. More... | |
class | DensityOnLattice |
A class for time-efficient (time-memory trade-off) calculation of density on the lattice. More... | |
class | DensityParameters |
A class to pre-calculate and store parameters relevant for density calculation. More... | |
class | DisableFloatTraps |
Guard type that safely disables floating point traps for the scope in which it is placed. More... | |
class | EnergyMomentumTensor |
class | EosTable |
A class to hold, compute and access tabulated EoS. More... | |
struct | ExpansionProperties |
Struct containing the type of the metric and the expansion parameter of the metric. More... | |
class | Experiment |
The main class, where the simulation of an experiment is executed. More... | |
class | ExperimentBase |
Non-template interface to Experiment<Modus>. More... | |
struct | ExperimentParameters |
Helper structure for Experiment. More... | |
struct | FileDeleter |
FileDeleter is the deleter class for std::unique_ptr of std::FILE. More... | |
class | FileLock |
Guard to create a file lock. More... | |
struct | FinalStateCrossSection |
Represent a final-state cross section. More... | |
struct | FormattingHelper |
class | FourVector |
class | GrandCanThermalizer |
The GrandCanThermalizer class implements the following functionality: More... | |
class | Grid |
Abstracts a list of cells that partition the particles in the experiment into regions of space that can interact / cannot interact. More... | |
class | GridBase |
Base class for Grid to host common functions that do not depend on the GridOptions parameter. More... | |
struct | GslWorkspaceDeleter |
A deleter type for std::unique_ptr to be used with gsl_integration_workspace pointers. More... | |
class | HadronGasEos |
Class to handle the equation of state (EoS) of the hadron gas, consisting of all hadrons included into SMASH. More... | |
struct | HistoryData |
A structure to hold information about the history of the particle, e.g. More... | |
class | HyperSurfaceCrossActionsFinder |
class | HypersurfacecrossingAction |
class | I_tot_range |
Range of total isospin for reaction of particle a with particle b. More... | |
class | ICOutput |
struct | Integrand2d |
This is a wrapper for the integrand, so we can pass the limits as well for renormalizing to the unit cube. More... | |
class | Integrator |
A C++ interface for numerical integration in one dimension with the GSL CQUAD integration functions. More... | |
class | Integrator1dMonte |
A C++ interface for numerical integration in one dimension with the GSL Monte-Carlo integration functions. More... | |
class | Integrator2d |
A C++ interface for numerical integration in two dimensions with the GSL Monte-Carlo integration functions. More... | |
class | Integrator2dCuhre |
A C++ interface for numerical integration in two dimensions with the Cuba Cuhre integration function. More... | |
class | InterpolateData2DSpline |
Represent a bicubic spline interpolation. More... | |
class | InterpolateDataLinear |
Represent a piecewise linear interpolation. More... | |
class | InterpolateDataSpline |
Represent a cubic spline interpolation. More... | |
class | InterpolateLinear |
Represent a linear interpolation. More... | |
class | IsoParticleType |
class | KaonNucleonRatios |
Calculate and store isospin ratios for K N -> K Delta reactions. More... | |
struct | Line |
Line consists of a line number and the contents of that line. More... | |
class | ListModus |
class | ModusDefault |
struct | NeighborLookup |
A strust containing the informations needed to search the neighboring cell. More... | |
struct | Nucleoncustom |
Contains data for one nucleon that is read in from the list. More... | |
class | Nucleus |
A nucleus is a collection of particles that are initialized, before the beginning of the simulation and all have the same velocity. More... | |
class | OscarOutput |
class | OutputInterface |
Abstraction of generic output. More... | |
struct | OutputParameters |
Helper structure for Experiment to hold output options and parameters. More... | |
struct | pair_hash |
Hash a pair of integers. More... | |
class | ParticleData |
class | Particles |
class | ParticleType |
class | ParticleTypePtr |
class | PauliBlocker |
A class that stores parameters needed for Pauli blocking, tabulates necessary integrals and computes phase-space density. More... | |
class | PdgCode |
class | Potentials |
A class that stores parameters of potentials, calculates potentials and their gradients. More... | |
struct | PrintParticleListDetailed |
class | ProcessBranch |
class | QuantumNumbers |
class | RectangularLattice |
A container class to hold all the arrays on the lattice and access them. More... | |
class | RenamingFilePtr |
A RAII type to replace std::FILE * . More... | |
class | Result |
The result type returned from integrations, containing the value and an error. More... | |
class | RootOutput |
class | ScatterAction |
class | ScatterActionPhoton |
class | ScatterActionsFinder |
class | SphereModus |
class | StringProcess |
String excitation processes used in SMASH. More... | |
class | Tabulation |
A class for storing a one-dimensional lookup table of floating-point values. More... | |
class | ThermalizationAction |
class | ThermLatticeNode |
The ThermLatticeNode class is intended to compute thermodynamical quantities in a cell given a set of particles. More... | |
class | ThermodynamicOutput |
Writes the thermodynamic quantities at a specified point versus time. More... | |
class | ThreeBodyDecay |
ThreeBodyDecay represents a decay type with three final-state particles. More... | |
class | ThreeBodyDecayDilepton |
ThreeBodyDecayDilepton represents a decay type with three final-state particles, two of which are leptons. More... | |
class | ThreeVector |
class | TimeStampCounter |
A low-overhead timer for benchmarking small regions of code. More... | |
class | TwoBodyDecay |
TwoBodyDecay represents a decay type with two final-state particles. More... | |
class | TwoBodyDecayDilepton |
TwoBodyDecayDilepton represents a decay with a lepton and its antilepton as the final-state particles. More... | |
class | TwoBodyDecaySemistable |
TwoBodyDecaySemistable represents a decay type with two final-state particles, one of which is stable and the other is unstable. More... | |
class | TwoBodyDecayStable |
TwoBodyDecayStable represents a decay type with two stable final-state particles. More... | |
class | TwoBodyDecayUnstable |
TwoBodyDecayUnstable represents a decay type with two unstable final-state particles. More... | |
class | UniformClock |
Clock with uniformly spaced time steps. More... | |
class | VtkOutput |
class | WallCrossActionsFinder |
class | WallcrossingAction |
Typedefs | |
using | SystemTimePoint = std::chrono::time_point< std::chrono::system_clock > |
Type (alias) that is used to store the current time. More... | |
using | SystemClock = std::chrono::system_clock |
Type (alias) used to obtain the current time via SystemClock:Now(). More... | |
using | SystemTimeSpan = SystemClock::duration |
The time duration type (alias) used for measuring run times. More... | |
typedef RectangularLattice< DensityOnLattice > | DensityLattice |
Conveniency typedef for lattice of density. More... | |
using | FilePtr = std::unique_ptr< std::FILE, FileDeleter > |
A RAII type to replace std::FILE * . More... | |
using | Permutation = std::vector< size_t > |
Represent a permutation. More... | |
Functions | |
std::vector< ActionPtr > & | operator+= (std::vector< ActionPtr > &lhs, std::vector< ActionPtr > &&rhs) |
Append vector of action pointers. More... | |
std::ostream & | operator<< (std::ostream &out, const ActionPtr &action) |
std::ostream & | operator<< (std::ostream &out, const ActionList &actions) |
template<typename Iterator > | |
static bool | enforce_periodic_boundaries (Iterator begin, const Iterator &end, typename std::iterator_traits< Iterator >::value_type length) |
Enforces periodic boundaries on the given collection of values. More... | |
template<typename Container , typename UnaryPredicate > | |
bool | all_of (Container &&c, UnaryPredicate &&p) |
Convenience wrapper for std::all_of that operates on a complete container. More... | |
template<typename Container , typename UnaryFunction > | |
UnaryFunction | for_each (Container &&c, UnaryFunction &&f) |
Convenience wrapper for std::for_each that operates on a complete container. More... | |
std::ostream & | operator<< (std::ostream &out, const Angles &a) |
template<typename T > | |
std::pair< std::vector< T >, std::vector< T > > | dedup_avg (const std::vector< T > &x, const std::vector< T > &y) |
Remove duplicates from data (x, y) by averaging y. More... | |
double | clebsch_gordan (const int j_a, const int j_b, const int j_c, const int m_a, const int m_b, const int m_c) |
Calculate Clebsch-Gordan coefficient \((-1)^{j_a - j_b + m_c} \sqrt{(2 j_c + 1)} \cdot [Wigner 3J symbol] \). More... | |
double | isospin_clebsch_gordan_sqr_2to1 (const ParticleType &p_a, const ParticleType &p_b, const ParticleType &Res) |
Calculate the squared isospin Clebsch-Gordan coefficient for two particles p_a and p_b coupling to a resonance Res. More... | |
double | isospin_clebsch_gordan_sqr_3to1 (const ParticleType &p_a, const ParticleType &p_b, const ParticleType &p_c, const ParticleType &Res) |
Calculate the squared isospin Clebsch-Gordan coefficient for three particles p_a, p_b and p_c coupling to a resonance Res. More... | |
double | isospin_clebsch_gordan_sqr_2to2 (const ParticleType &p_a, const ParticleType &p_b, const ParticleType &p_c, const ParticleType &p_d, const int I=-1) |
Calculate the squared isospin Clebsch-Gordan coefficient for a 2-to-2 reaction A + B -> C + D. More... | |
template<typename T , typename... Args> | |
std::unique_ptr< T > | make_unique (Args &&... args) |
Definition for make_unique Is in C++14's standard library; necessary for older compilers. More... | |
double | y_l_0 (int l, double cosx) |
Spherical harmonics Y_2_0 and Y_4_0. More... | |
std::ostream & | operator<< (std::ostream &os, DensityType dt) |
Create the output operator for the densities. More... | |
double | density_factor (const ParticleType &type, DensityType dens_type) |
Get the factor that determines how much a particle contributes to the density type that is computed. More... | |
double | smearing_factor_norm (const double two_sigma_sqr) |
Norm of the Gaussian smearing function. More... | |
double | smearing_factor_rcut_correction (const double rcut_in_sigma) |
Gaussians used for smearing are cut at radius \(r_{cut} = a \sigma \) for calculation speed-up. More... | |
std::pair< double, ThreeVector > | unnormalized_smearing_factor (const ThreeVector &r, const FourVector &p, const double m_inv, const DensityParameters &dens_par, const bool compute_gradient=false) |
Implements gaussian smearing for any quantity. More... | |
std::tuple< double, FourVector, ThreeVector, ThreeVector, ThreeVector > | current_eckart (const ThreeVector &r, const ParticleList &plist, const DensityParameters &par, DensityType dens_type, bool compute_gradient, bool smearing) |
Calculates Eckart rest frame density and 4-current of a given density type and optionally the gradient of the density in an arbitary frame, the curl of the 3-current and the time derivative of the 3-current. More... | |
std::tuple< double, FourVector, ThreeVector, ThreeVector, ThreeVector > | current_eckart (const ThreeVector &r, const Particles &plist, const DensityParameters &par, DensityType dens_type, bool compute_gradient, bool smearing) |
convenience overload of the above (ParticleList -> Particles) More... | |
template<typename T > | |
void | update_lattice (RectangularLattice< T > *lat, const LatticeUpdate update, const DensityType dens_type, const DensityParameters &par, const Particles &particles, const bool compute_gradient=false) |
Updates the contents on the lattice. More... | |
double | breit_wigner (double m, double pole, double width) |
Returns a relativistic Breit-Wigner distribution. More... | |
double | breit_wigner_nonrel (double m, double pole, double width) |
Returns a non-relativistic Breit-Wigner distribution, which is essentially a Cauchy distribution with half width. More... | |
double | cauchy (double x, double pole, double width) |
Returns a Cauchy distribution (sometimes also called Lorentz or non-relativistic Breit-Wigner distribution) with the given parameters. More... | |
double | density_integrand (const double energy, const double momentum_sqr, const double temperature) |
Returns the Maxwell-Boltzmann distribution. More... | |
double | density_integrand_mass (const double energy, const double momentum_sqr, const double temperature) |
density_integrand_mass - off_equilibrium distribution for massive particles More... | |
double | density_integrand_1M_IC (const double energy, const double momentum_sqr, const double temperature) |
density integrand - 1M_IC massless particles for expanding metric initialization, see Bazow:2016oky [6] More... | |
double | density_integrand_2M_IC (const double energy, const double momentum_sqr, const double temperature) |
density integrand - 2M_IC massless particles for expanding metric initialization, see Bazow:2016oky [6] More... | |
double | juttner_distribution_func (const double momentum_radial, const double mass, const double temperature, const double baryon_chemical_potential, const double lam) |
Relativistic Juttner distribution function. More... | |
double | sample_momenta_non_eq_mass (const double temperature, const double mass) |
Samples a momentum via rejection method from the non-equilibrium distribution. More... | |
double | sample_momenta_1M_IC (const double temperature, const double mass) |
Samples a momentum from the non-equilibrium distribution 1M_IC from Bazow:2016oky [6]. More... | |
double | sample_momenta_2M_IC (const double temperature, const double mass) |
Samples a momentum from the non-equilibrium distribution 2M_IC from Bazow:2016oky [6]. More... | |
double | sample_momenta_from_thermal (const double temperature, const double mass) |
Samples a momentum from the Maxwell-Boltzmann (thermal) distribution in a faster way, given by Scott Pratt (see Pratt:2014vja [35]) APPENDIX: ALGORITHM FOR GENERATING PARTICLES math trick: for \( x^{n-1}e^{-x} \) distribution, sample x by: \( x = -ln(r_1 r_2 r_3 ... r_n) \) where \( r_i \) are uniform random numbers between [0,1) for \( T/m > 0.6 \): \( p^2 e^{-E/T} = p^2 e^{-p/T} * e^{(p-E)/T} \), where \( e^{(p-E)/T}\) is used as rejection weight. More... | |
double | sample_momenta_IC_ES (const double temperature) |
Sample momenta according to the momentum distribution in Bazow:2016oky [6]. More... | |
std::ostream & | operator<< (std::ostream &, const EnergyMomentumTensor &) |
EnergyMomentumTensor | operator+ (EnergyMomentumTensor a, const EnergyMomentumTensor &b) |
Direct addition operator. More... | |
EnergyMomentumTensor | operator- (EnergyMomentumTensor a, const EnergyMomentumTensor &b) |
Direct subtraction operator. More... | |
EnergyMomentumTensor | operator* (EnergyMomentumTensor a, const double b) |
Direct multiplication operator. More... | |
EnergyMomentumTensor | operator* (const double a, EnergyMomentumTensor b) |
Direct multiplication operator. More... | |
EnergyMomentumTensor | operator/ (EnergyMomentumTensor a, const double b) |
Direct division operator. More... | |
template<typename Modus > | |
std::ostream & | operator<< (std::ostream &out, const Experiment< Modus > &e) |
Creates a verbose textual description of the setup of the Experiment. More... | |
ExperimentParameters | create_experiment_parameters (Configuration config) |
Gathers all general Experiment parameters. More... | |
const std::string | hline (113, '-') |
String representing a horizontal line. More... | |
std::string | format_measurements (const Particles &particles, uint64_t scatterings_this_interval, const QuantumNumbers &conserved_initial, SystemTimePoint time_start, double time, double E_mean_field, double E_mean_field_initial) |
Generate the tabulated string which will be printed to the screen when SMASH is running. More... | |
double | calculate_mean_field_energy (const Potentials &potentials, RectangularLattice< smash::DensityOnLattice > &jmu_B_lat, const ExperimentParameters ¶meters) |
Calculate the total mean field energy of the system; this will be printed to the screen when SMASH is running. More... | |
void | check_interactions_total (uint64_t interactions_total) |
Make sure interactions_total can be represented as a 32-bit integer. More... | |
FilePtr | fopen (const bf::path &filename, const std::string &mode) |
Open a file with given mode. More... | |
double | blatt_weisskopf_sqr (const double p_ab, const int L) |
double | post_ff_sqr (double m, double M0, double srts0, double L) |
An additional form factor for unstable final states as used in GiBUU, according to M. More... | |
double | em_form_factor_ps (PdgCode pdg, double mass) |
double | em_form_factor_sqr_vec (PdgCode pdg, double mass) |
double | form_factor_delta (double m) |
FourVector | operator+ (FourVector a, const FourVector &b) |
add two FourVectors More... | |
FourVector | operator- (FourVector a, const FourVector &b) |
subtract two FourVectors More... | |
FourVector | operator* (FourVector a, double b) |
multiply a vector with a scalar More... | |
FourVector | operator* (double b, FourVector a) |
multiply a vector with a scalar More... | |
FourVector | operator/ (FourVector a, const double &b) |
divide a vector by a scalar More... | |
std::ostream & | operator<< (std::ostream &os, const FourVector &vec) |
bool | enable_float_traps (int) |
Fallback that fails to set the trap. More... | |
void | setup_default_float_traps () |
Setup the floating-point traps used throughout SMASH. More... | |
template<typename F > | |
void | without_float_traps (F &&f) |
Convenience function to create a scope where all floating point traps are disabled. More... | |
std::ostream & | operator<< (std::ostream &s, const ThermLatticeNode &node) |
This operator writes all the thermodynamic quantities at a certain position to the file out. More... | |
std::string | build_error_string (std::string message, const Line &line) |
Builds a meaningful error message. More... | |
build_vector_< Line > | line_parser (const std::string &input) |
Helper function for parsing particles.txt and decaymodes.txt. More... | |
void | ensure_all_read (std::istream &input, const Line &line) |
Makes sure that nothing is left to read from this line. More... | |
std::string | read_all (std::istream &&input) |
Utility function to read a complete input stream (e.g. More... | |
bool | has_crlf_line_ending (const std::string in) |
Check if a line in the string ends with \r\n. More... | |
template<typename T , typename Cmp > | |
Permutation | generate_sort_permutation (std::vector< T > const &v, Cmp compare) |
Calculate the permutations necessary for sorting a vector. More... | |
template<typename T > | |
std::vector< T > | apply_permutation (const std::vector< T > &v, const Permutation &p) |
Apply a permutation to a vector. More... | |
template<typename T > | |
void | check_duplicates (const std::vector< T > &x, const std::string &error_position) |
Check whether two components have the same value in a sorted vector x. More... | |
template<typename T > | |
size_t | find_index (const std::vector< T > &v, T x) |
Find the index in v that corresponds to the last value strictly smaller than x. More... | |
template<int w = 9, int p = w - 3, typename CharT , typename Traits > | |
std::basic_ostream< CharT, Traits > & | field (std::basic_ostream< CharT, Traits > &s) |
double | center_of_velocity_v (double s, double ma, double mb) |
double | fixed_target_projectile_v (double s, double ma, double mb) |
template<typename T > | |
T | pCM_sqr_from_s (const T s, const T mass_a, const T mass_b) noexcept |
template<typename T > | |
T | pCM_from_s (const T s, const T mass_a, const T mass_b) noexcept |
template<typename T > | |
T | pCM (const T sqrts, const T mass_a, const T mass_b) noexcept |
template<typename T > | |
T | pCM_sqr (const T sqrts, const T mass_a, const T mass_b) noexcept |
template<typename T > | |
std::array< T, 2 > | get_t_range (const T sqrts, const T m1, const T m2, const T m3, const T m4) |
Get the range of Mandelstam-t values allowed in a particular 2->2 process, see PDG 2014 booklet, eq. More... | |
static void | check_energy (double mandelstam_s, double m_sum) |
Helper function for plab_from_s. More... | |
static void | check_radicand (double mandelstam_s, double radicand) |
Helper function for plab_from_s. More... | |
double | plab_from_s (double mandelstam_s, double mass) |
Convert Mandelstam-s to p_lab in a fixed-target collision. More... | |
double | plab_from_s (double mandelstam_s) |
Convert Mandelstam-s to p_lab in a fixed-target collision. More... | |
double | plab_from_s (double mandelstam_s, double m_projectile, double m_target) |
Convert Mandelstam-s to p_lab in a fixed-target collision. More... | |
double | s_from_Ekin (double e_kin, double m_P, double m_T) |
Convert E_kin to Mandelstam-s for a fixed-target setup, with a projectile of mass m_P and a kinetic energy e_kin and a target of mass m_T at rest. More... | |
double | s_from_plab (double plab, double m_P, double m_T) |
Convert p_lab to Mandelstam-s for a fixed-target setup, with a projectile of mass m_P and momentum plab and a target of mass m_T at rest. More... | |
void | create_all_loggers (Configuration config) |
Called from main() right after the Configuration object is fully set up to create all logger objects (as defined by LogArea::AreaTuple) with the correct area names and log levels. More... | |
einhard::LogLevel | default_loglevel () |
void | set_default_loglevel (einhard::LogLevel level) |
Set the default log level (what will be returned from subsequent default_loglevel calls). More... | |
template<typename T > | |
FormattingHelper< T > | format (const T &value, const char *unit, int width=-1, int precision=-1) |
Acts as a stream modifier for std::ostream to output an object with an optional suffix string and with a given field width and precision. More... | |
template<typename T > | |
std::vector< T > | smooth (const std::vector< T > &x, const std::vector< T > &y, T span=2./3, size_t iter=3, T delta=0) |
Apply the LOWESS smoother (see the reference below) to the given data (x, y). More... | |
template<typename N > | |
bool | almost_equal (const N x, const N y) |
Checks two numbers for relative approximate equality. More... | |
template<typename N > | |
bool | almost_equal_physics (const N x, const N y) |
Same as smash::almost_equal, but for physical checks like energy-momentum conservation small_number is enough precision-wise. More... | |
std::unique_ptr< OutputInterface > | create_oscar_output (const std::string &format, const std::string &content, const bf::path &path, const OutputParameters &out_par) |
double | xs_high_energy (double mandelstam_s, bool is_opposite_charge, double ma, double mb, double P, double R1, double R2) |
total hadronic cross sections at high energies parametrized in the 2016 PDG book(http://pdg.lbl.gov/2016/reviews/rpp2016-rev-cross-section-plots.pdf) More... | |
double | pp_high_energy (double mandelstam_s) |
pp total cross section at high energies More... | |
double | ppbar_high_energy (double mandelstam_s) |
ppbar total cross section at high energies More... | |
double | np_high_energy (double mandelstam_s) |
np total cross section at high energies More... | |
double | npbar_high_energy (double mandelstam_s) |
npbar total cross section at high energies More... | |
double | piplusp_high_energy (double mandelstam_s) |
pi+p total cross section at high energies More... | |
double | piminusp_high_energy (double mandelstam_s) |
pi-p total cross section at high energies More... | |
double | xs_ppbar_annihilation (double mandelstam_s) |
parametrized cross-section for proton-antiproton annihilation used in the UrQMD model More... | |
double | xs_string_hard (double mandelstam_s, double xs_0, double e_0, double lambda_pow) |
Utility function called by specific other parametrizations Parametrized hard scattering cross section (with partonic scattering) This parametrization is a direct fit to cross sections in PYTHIA See Sjostrand:1987su [40]. More... | |
double | NN_string_hard (double mandelstam_s) |
nucleon-nucleon hard scattering cross section (with partonic scattering) More... | |
double | Npi_string_hard (double mandelstam_s) |
nucleon-pion hard scattering cross section (with partonic scattering) More... | |
double | pipi_string_hard (double mandelstam_s) |
pion-pion hard scattering cross section (with partonic scattering) More... | |
double | piplusp_elastic_high_energy (double mandelstam_s, double m1, double m2) |
pi+p elactic cross section parametrization. More... | |
double | piplusp_elastic_AQM (double mandelstam_s, double m1, double m2) |
An overload of piplusp_elastic_high_energy in which the very low part is replaced by a flat 5 mb cross section; used for meson-meson interactions. More... | |
double | piplusp_elastic (double mandelstam_s) |
pi+p elastic cross section parametrization, PDG data. More... | |
double | piplusp_sigmapluskplus_pdg (double mandelstam_s) |
pi+ p to Sigma+ K+ cross section parametrization, PDG data. More... | |
double | piminusp_elastic (double mandelstam_s) |
pi-p elastic cross section parametrization Source: GiBUU:parametrizationBarMes_HighEnergy.f90 More... | |
double | piminusp_lambdak0_pdg (double mandelstam_s) |
pi- p -> Lambda K0 cross section parametrization, PDG data. More... | |
double | piminusp_sigmaminuskplus_pdg (double mandelstam_s) |
pi- p -> Sigma- K+ cross section parametrization, PDG data. More... | |
double | piminusp_sigma0k0_res (double mandelstam_s) |
pi- p -> Sigma0 K0 cross section parametrization, resonance contribution. More... | |
double | pp_elastic (double mandelstam_s) |
pp elastic cross section parametrization Source: Weil:2013mya [46], eq. More... | |
double | pp_elastic_high_energy (double mandelstam_s, double m1, double m2) |
pp elastic cross section parametrization, with only the high energy part generalized to all energy regimes (used for AQM) Source: Weil:2013mya [46], eq. More... | |
double | pp_total (double mandelstam_s) |
pp total cross section parametrization Sources: low-p: Cugnon:1996kh [14] highest-p: Buss:2011mx [10] More... | |
double | np_elastic (double mandelstam_s) |
np elastic cross section parametrization Source: Weil:2013mya [46], eq. More... | |
double | np_total (double mandelstam_s) |
np total cross section parametrization Sources: low-p: Cugnon:1996kh [14] highest-p: Buss:2011mx [10] More... | |
double | ppbar_elastic (double mandelstam_s) |
ppbar elastic cross section parametrization Source: Bass:1998ca [4] More... | |
double | ppbar_total (double mandelstam_s) |
ppbar total cross section parametrization Source: Bass:1998ca [4] More... | |
double | deuteron_pion_elastic (double mandelstam_s) |
Deuteron pion elastic cross-section [mb] parametrized to fit pi-d elastic scattering data (the data collection was be obtained from SAID data base, gwdac.phys.gwu.edu) More... | |
double | deuteron_nucleon_elastic (double mandelstam_s) |
Deuteron nucleon elastic cross-section [mb] parametrized by Oh:2009gx [31]. More... | |
double | kplusp_elastic_background (double mandelstam_s) |
K+ p elastic background cross section parametrization. More... | |
double | kplusn_elastic_background (double mandelstam_s) |
K+ n elastic background cross section parametrization sigma(K+n->K+n) = sigma(K+n->K0p) = 0.5 * sigma(K+p->K+p) Source: Buss:2011mx [10], B.3.8. More... | |
double | kplusn_k0p (double mandelstam_s) |
K+ n charge exchange cross section parametrization. More... | |
double | kminusp_elastic_background (double mandelstam_s) |
K- p elastic background cross section parametrization Source: Buss:2011mx [10], B.3.9. More... | |
double | kminusn_elastic_background (double mandelstam_s) |
K- n elastic background cross section parametrization Source: Buss:2011mx [10], B.3.9. More... | |
double | k0p_elastic_background (double mandelstam_s) |
K0 p elastic background cross section parametrization Source: Buss:2011mx [10], B.3.9. More... | |
double | k0n_elastic_background (double mandelstam_s) |
K0 n elastic background cross section parametrization Source: Buss:2011mx [10], B.3.9. More... | |
double | kbar0p_elastic_background (double mandelstam_s) |
Kbar0 p elastic background cross section parametrization Source: Buss:2011mx [10], B.3.9. More... | |
double | kbar0n_elastic_background (double mandelstam_s) |
Kbar0 n elastic background cross section parametrization Source: Buss:2011mx [10], B.3.9. More... | |
double | kplusp_inelastic_background (double mandelstam_s) |
K+ p inelastic background cross section parametrization Source: Buss:2011mx [10], B.3.8. More... | |
double | kplusn_inelastic_background (double mandelstam_s) |
K+ n inelastic background cross section parametrization Source: Buss:2011mx [10], B.3.8. More... | |
double | kminusp_kbar0n (double mandelstam_s) |
K- p <-> Kbar0 n cross section parametrization. More... | |
double | kminusp_piminussigmaplus (double sqrts) |
K- p <-> pi- Sigma+ cross section parametrization Taken from UrQMD (Graef:2014mra [19]). More... | |
double | kminusp_piplussigmaminus (double sqrts) |
K- p <-> pi+ Sigma- cross section parametrization Taken from UrQMD (Graef:2014mra [19]). More... | |
double | kminusp_pi0sigma0 (double sqrts) |
K- p <-> pi0 Sigma0 cross section parametrization Fit to Landolt-Börnstein instead of UrQMD values. More... | |
double | kminusp_pi0lambda (double sqrts) |
K- p <-> pi0 Lambda cross section parametrization Fit to Landolt-Börnstein instead of UrQMD values. More... | |
double | kminusn_piminussigma0 (double sqrts) |
K- n <-> pi- Sigma0 cross section parametrization Follow from the parametrization with the same strange product via isospin symmetry. More... | |
double | kminusn_pi0sigmaminus (double sqrts) |
K- n <-> pi0 Sigma- cross section parametrization Follow from the parametrization with the same strange product via isospin symmetry. More... | |
double | kminusn_piminuslambda (double sqrts) |
K- n <-> pi- Lambda cross section parametrization Follow from the parametrization with the same strange product via isospin symmetry. More... | |
double | lambdalambda_ximinusp (double sqrts_sqrts0, double p_N, double p_lambda) |
Lambda Lambda <-> Xi- p cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]). More... | |
double | lambdalambda_xi0n (double sqrts_sqrts0, double p_N, double p_lambda) |
Lambda Lambda <-> Xi0 n cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]). More... | |
double | lambdasigmaplus_xi0p (double sqrts_sqrts0) |
Lambda Sigma+ <-> Xi0 p cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]). More... | |
double | lambdasigmaminus_ximinusn (double sqrts_sqrts0) |
Lambda Sigma- <-> Xi- n cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]). More... | |
double | lambdasigma0_ximinusp (double sqrts_sqrts0) |
Lambda Sigma0 <-> Xi- p cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]). More... | |
double | lambdasigma0_xi0n (double sqrts_sqrts0) |
Lambda Sigma0 <-> Xi0 n cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]). More... | |
double | sigma0sigma0_ximinusp (double sqrts_sqrts0) |
Sigma0 Sigma0 <-> Xi- p cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]). More... | |
double | sigma0sigma0_xi0n (double sqrts_sqrts0) |
Sigma0 Sigma0 <-> Xi0 n cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]). More... | |
double | sigmaplussigmaminus_xi0p (double sqrts_sqrts0) |
Sigma+ Sigma- <-> Xi0 p cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]). More... | |
double | sigma0sigmaminus_ximinusn (double sqrts_sqrts0) |
Sigma0 Sigma- <-> Xi- n cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]). More... | |
double | sigmaplussigmaminus_ximinusp (double sqrts_sqrts0) |
Sigma+ Sigma- <-> Xi- p cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]). More... | |
double | sigmaplussigmaminus_xi0n (double sqrts_sqrts0) |
Sigma+ Sigma- <-> Xi0 n cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]). More... | |
std::ostream & | operator<< (std::ostream &s, const ParticleData &p) |
std::ostream & | operator<< (std::ostream &out, const ParticleList &particle_list) |
PrintParticleListDetailed | detailed (const ParticleList &list) |
std::ostream & | operator<< (std::ostream &out, const PrintParticleListDetailed &particle_list) |
Parity | operator- (Parity p) |
Parity | operator* (Parity x, Parity y) |
void | operator*= (Parity &x, Parity y) |
std::istream & | operator>> (std::istream &is, PdgCode &code) |
Sets the PDG code from the textual representation in the input stream. More... | |
std::ostream & | operator<< (std::ostream &is, const PdgCode &code) |
bool | is_dilepton (const PdgCode pdg1, const PdgCode pdg2) |
bool | has_lepton_pair (const PdgCode pdg1, const PdgCode pdg2, const PdgCode pdg3) |
constexpr uint64_t | pack (int32_t x, int32_t y) |
Pack two int32_t into an uint64_t. More... | |
template<class T > | |
constexpr T | pow_int (const T base, unsigned const exponent) |
Efficient template for calculating integer powers using squaring. More... | |
template<class T > | |
constexpr T | square (const T base) |
Efficient template for calculating the square. More... | |
bool | is_string_soft_process (ProcessType p) |
Check if a given process type is a soft string excitation. More... | |
std::ostream & | operator<< (std::ostream &os, ProcessType process_type) |
std::ostream & | operator<< (std::ostream &os, const CollisionBranch &cbranch) |
double | calc_hubble (double time, const ExpansionProperties &metric) |
Calculate the Hubble parameter \(H(t)\), which describes how large the expansion flow is. More... | |
double | propagate_straight_line (Particles *particles, double to_time, const std::vector< FourVector > &beam_momentum) |
Propagates the positions of all particles on a straight line to a given moment. More... | |
void | expand_space_time (Particles *particles, const ExperimentParameters ¶meters, const ExpansionProperties &metric) |
Modifies positions and momentum of all particles to account for space-time deformation. More... | |
void | update_momenta (Particles *particles, double dt, const Potentials &pot, RectangularLattice< std::pair< ThreeVector, ThreeVector >> *FB_lat, RectangularLattice< std::pair< ThreeVector, ThreeVector >> *FI3_lat) |
Updates the momenta of all particles at the current time step according to the equations of motion: More... | |
std::pair< std::string, std::string > | load_particles_and_decaymodes (const char *particles_file, const char *decaymodes_file) |
Loads particles and decaymodes from provided files particles_file and decaymodes_file. More... | |
void | load_default_particles_and_decaymodes () |
Loads default smash particle list and decaymodes. More... | |
std::string | trim (const std::string &s) |
Strip leading and trailing whitespaces. More... | |
void | remove_substr (std::string &s, const std::string &p) |
Remove all instances of a substring p in a string s. More... | |
void | isoclean (std::string &s) |
Remove ⁺, ⁻, ⁰ from string. More... | |
std::vector< std::string > | split (const std::string &s, char delim) |
Split string by delimiter. More... | |
double | spec_func_integrand_1res (double resonance_mass, double sqrts, double stable_mass, const ParticleType &type) |
Spectral function integrand for GSL integration, with one resonance in the final state (the second particle is stable). More... | |
double | spec_func_integrand_2res (double sqrts, double res_mass_1, double res_mass_2, const ParticleType &t1, const ParticleType &t2) |
Spectral function integrand for GSL integration, with two resonances in the final state. More... | |
Tabulation | spectral_integral_semistable (Integrator &integrate, const ParticleType &resonance, const ParticleType &stable, double range) |
Create a table for the spectral integral of a resonance and a stable particle. More... | |
Tabulation | spectral_integral_unstable (Integrator2dCuhre &integrate2d, const ParticleType &res1, const ParticleType &res2, double range) |
Create a table for the spectral integral of two resonances. More... | |
std::ostream & | operator<< (std::ostream &, const ThreeVector &) |
ThreeVector | operator+ (ThreeVector a, const ThreeVector &b) |
ThreeVector | operator- (ThreeVector a, const ThreeVector &b) |
ThreeVector | operator* (ThreeVector a, const double &b) |
multiply a three-vector by constant factor \( b \vec{a} \). More... | |
ThreeVector | operator* (const double &a, ThreeVector b) |
multiply a three-vector by constant factor \( a \vec{b} \). More... | |
double | operator* (ThreeVector a, const ThreeVector &b) |
ThreeVector | operator/ (ThreeVector a, const double &b) |
divide a three-vector by constant factor \( \vec{a} / b \). More... | |
std::ostream & | operator<< (std::ostream &out, const TimeStampCounter &tsc) |
std::ostream & | operator<< (std::ostream &out, const BoxModus &m) |
static double | isospin_clebsch_gordan_2to1 (const ParticleType &p_a, const ParticleType &p_b, const int I_tot, const int I_z) |
Calculate isospin Clebsch-Gordan coefficient for two particles p_a and p_b coupling to a total isospin. More... | |
std::ostream & | operator<< (std::ostream &out, const ColliderModus &m) |
static double | detailed_balance_factor_stable (double s, const ParticleType &a, const ParticleType &b, const ParticleType &c, const ParticleType &d) |
Helper function: Calculate the detailed balance factor R such that. More... | |
static double | detailed_balance_factor_RK (double sqrts, double pcm, const ParticleType &a, const ParticleType &b, const ParticleType &c, const ParticleType &d) |
Helper function: Calculate the detailed balance factor R such that. More... | |
static double | detailed_balance_factor_RR (double sqrts, double pcm, const ParticleType &a, const ParticleType &b, const ParticleType &c, const ParticleType &d) |
Helper function: Calculate the detailed balance factor R such that. More... | |
static void | append_list (CollisionBranchList &main_list, CollisionBranchList in_list, double weight=1.) |
Helper function: Append a list of processes to another (main) list of processes. More... | |
static double | sum_xs_of (CollisionBranchList &list) |
Helper function: Sum all cross sections of the given process list. More... | |
static int | min_angular_momentum (int s0, int s1, int s2) |
static int | min_angular_momentum (int s0, int s1, int s2, int s3) |
static double | integrand_rho_Manley_1res (double sqrts, double mass, double stable_mass, ParticleTypePtr type, int L) |
static double | integrand_rho_Manley_2res (double sqrts, double m1, double m2, ParticleTypePtr t1, ParticleTypePtr t2, int L) |
static ParticleTypePtrList & | arrange_particles (ParticleTypePtrList &part_types) |
Rearrange the particle list such that the first particle is the stable one. More... | |
static ParticleTypePtrList | sort_particles (ParticleTypePtrList part_types) |
sort the particle list More... | |
template<typename T > | |
std::tuple< double, FourVector, ThreeVector, ThreeVector, ThreeVector > | current_eckart_impl (const ThreeVector &r, const T &plist, const DensityParameters &par, DensityType dens_type, bool compute_gradient, bool smearing) |
Calculates Eckart rest frame density and 4-current of a given density type and optionally the gradient of the density in an arbitary frame, the curl of the 3-current and the time derivative of the 3-current. More... | |
static IsoParticleType * | try_find_private (const std::string &name) |
Helper function for IsoParticleType::try_find and friends. More... | |
static std::string | multiplet_name (std::string name) |
Construct the name-string for an isospin multiplet from the given name-string for the particle. More... | |
static bf::path | generate_tabulation_path (const bf::path &dir, const std::string &prefix, const std::string &res_name) |
void | cache_integral (std::unordered_map< std::string, Tabulation > &tabulations, const bf::path &dir, sha256::Hash hash, const IsoParticleType &part, const IsoParticleType &res, const IsoParticleType *antires, bool unstable) |
std::ostream & | operator<< (std::ostream &out, const ListModus &m) |
template<int index, int stop = 0> | |
constexpr std::enable_if<(index==stop), int >::type | find_longest_logger_name () |
template<int index, int stop = 0, int mid = (index + stop) / 2> | |
constexpr std::enable_if<(index > stop), int >::type | find_longest_logger_name () |
template<std::size_t index, int > | |
std::enable_if<(index==0)>::type | create_all_loggers_impl (Configuration &) |
template<std::size_t index, int longest_name = find_longest_logger_name<index - 1>()> | |
std::enable_if<(index !=0)>::type | create_all_loggers_impl (Configuration &config) |
std::ostream & | operator<< (std::ostream &out, const Nucleus &n) |
static double | piplusp_elastic_pdg (double mandelstam_s) |
static double | piminusp_elastic_pdg (double mandelstam_s) |
static double | kminusp_elastic_pdg (double mandelstam_s) |
static void | initialize (std::unordered_map< std::pair< uint64_t, uint64_t >, double, pair_hash > &ratios) |
Calculate and store isospin ratios for K N -> K Delta reactions. More... | |
std::ostream & | operator<< (std::ostream &out, const Particles &particles) |
static std::string | antiname (const std::string &name, PdgCode code) |
Construct an antiparticle name-string from the given name-string for the particle and its PDG code. More... | |
static std::string | chargestr (int charge) |
Construct a charge string, given the charge as integer. More... | |
std::ostream & | operator<< (std::ostream &out, const ParticleType &type) |
static double | Cugnon_bpp (double plab) |
Computes the B coefficients from the Cugnon parametrization of the angular distribution in elastic pp scattering. More... | |
static double | Cugnon_bnp (double plab) |
Computes the B coefficients from the Cugnon parametrization of the angular distribution in elastic np scattering. More... | |
static void | deduplicate (std::vector< FinalStateCrossSection > &final_state_xs) |
Deduplicate the final-state cross sections by summing. More... | |
std::ostream & | operator<< (std::ostream &out, const SphereModus &m) |
template<typename Out > | |
void | split (const std::string &s, char delim, Out result) |
Split string by delimiter. More... | |
static void | swrite (std::ofstream &stream, double x) |
Write binary representation to stream. More... | |
static double | sread_double (std::ifstream &stream) |
Read binary representation of a double. More... | |
static void | swrite (std::ofstream &stream, size_t x) |
Write binary representation to stream. More... | |
static size_t | sread_size (std::ifstream &stream) |
Read binary representation of a size_t. More... | |
static void | swrite (std::ofstream &stream, const std::vector< double > x) |
Write binary representation to stream. More... | |
static std::vector< double > | sread_vector (std::ifstream &stream) |
Read binary representation of a vector of doubles. More... | |
static void | swrite (std::ofstream &stream, sha256::Hash x) |
Write binary representation to stream. More... | |
static sha256::Hash | sread_hash (std::ifstream &stream) |
Read binary representation of a SHA256 hash. More... | |
Variables | |
static constexpr int | LAction = LogArea::Action::id |
static constexpr int | LClock = LogArea::Clock::id |
constexpr double | hbarc = 0.197327053 |
GeV <-> fm conversion factor. More... | |
constexpr double | fm2_mb = 0.1 |
mb <-> fm^2 conversion factor. More... | |
constexpr double | gev2_mb = hbarc * hbarc / fm2_mb |
GeV^-2 <-> mb conversion factor. More... | |
constexpr double | mev_to_gev = 1.e-3 |
MeV to GeV conversion factor. More... | |
constexpr double | really_small = 1.0e-6 |
Numerical error tolerance. More... | |
constexpr double | twopi = 2. * M_PI |
\( 2\pi \). More... | |
constexpr double | nuclear_density = 0.168 |
Ground state density of symmetric nuclear matter [fm^-3]. More... | |
constexpr double | small_number = 1.0e-4 |
Physical error tolerance. More... | |
constexpr double | nucleon_mass = 0.938 |
Nucleon mass in GeV. More... | |
constexpr double | pion_mass = 0.138 |
Pion mass in GeV. More... | |
constexpr double | kaon_mass = 0.494 |
Kaon mass in GeV. More... | |
constexpr double | omega_mass = 0.783 |
omega mass in GeV. More... | |
constexpr double | a1_mass = 1.26 |
a1 mass in GeV. More... | |
constexpr double | delta_mass = 1.232 |
Delta mass in GeV. More... | |
constexpr double | deuteron_mass = 1.8756 |
Deuteron mass in GeV. More... | |
constexpr double | fine_structure = 7.2973525698e-3 |
Fine-struture constant, approximately 1/137. More... | |
constexpr double | maximum_cross_section = 200. |
The maximal cross section (in mb) for which it is guaranteed that all collisions with this cross section will be found. More... | |
constexpr int | maximum_rndm_seed_in_pythia = 900000000 |
The maximum value of the random seed used in PYTHIA. More... | |
constexpr double | minimum_sqrts_pythia_can_handle = 10.0 |
Energy in GeV, below which hard reactions via pythia are impossible. More... | |
constexpr std::uint32_t | ID_PROCESS_PHOTON |
Process ID for any photon process. More... | |
const std::initializer_list< double > | BREMS_SQRTS |
Center-of-mass energy. More... | |
const std::initializer_list< double > | BREMS_K |
photon momentum More... | |
const std::initializer_list< double > | BREMS_THETA |
theta angle with respect to collision axis of incoming pions More... | |
const std::initializer_list< double > | BREMS_PIPI_PIPI_OPP_SIG |
Total π+- + π-+ -> π+- + π-+ + γ cross section. More... | |
const std::initializer_list< double > | BREMS_PIPI_PIPI_OPP_DIFF_SIG_K |
dSigma/dk for π+- + π-+ -> π+- + π-+ + γ More... | |
const std::initializer_list< double > | BREMS_PIPI_PIPI_OPP_DIFF_SIG_THETA |
dSigma/dtheta for π+- + π-+ -> π+- + π-+ + γ More... | |
const std::initializer_list< double > | BREMS_PIPI_PIPI_SAME_SIG |
Total π+ + π+ -> π+ + π+ + γ or π- + π- -> π- + π- + γ cross section. More... | |
const std::initializer_list< double > | BREMS_PIPI_PIPI_SAME_DIFF_SIG_K |
dSigma/dk for π+ + π+ -> π+ + π+ + γ or π- + π- -> π- + π- + γ More... | |
const std::initializer_list< double > | BREMS_PIPI_PIPI_SAME_DIFF_SIG_THETA |
dSigma/dtheta for π+ + π+ -> π+ + π+ + γ or π- + π- -> π- + π- + γ More... | |
const std::initializer_list< double > | BREMS_PIPI0_PIPI0_SIG |
Total π0 + π -> π0 + π + γ cross section. More... | |
const std::initializer_list< double > | BREMS_PIPI0_PIPI0_DIFF_SIG_K |
dSigma/dk for π0 + π -> π0 + π + γ More... | |
const std::initializer_list< double > | BREMS_PIPI0_PIPI0_DIFF_SIG_THETA |
dSigma/dtheta for π0 + π -> π0 + π + γ More... | |
const std::initializer_list< double > | BREMS_PIPI_PI0PI0_SIG |
Total π+- + π-+ -> π0 + π0 + γ cross section. More... | |
const std::initializer_list< double > | BREMS_PIPI_PI0PI0_DIFF_SIG_K |
dSigma/dk for π+- + π-+ -> π0 + π0 + γ More... | |
const std::initializer_list< double > | BREMS_PIPI_PI0PI0_DIFF_SIG_THETA |
dSigma/dtheta for π+- + π-+ -> π0 + π0 + γ More... | |
const std::initializer_list< double > | BREMS_PI0PI0_PIPI_SIG |
Total π0 + π0 -> π+- + π-+ + γ cross section. More... | |
const std::initializer_list< double > | BREMS_PI0PI0_PIPI_DIFF_SIG_K |
dSigma/dk for π0 + π0 -> π+- + π-+ + γ More... | |
const std::initializer_list< double > | BREMS_PI0PI0_PIPI_DIFF_SIG_THETA |
dSigma/dtheta for π0 + π0 -> π+- + π-+ + γ More... | |
static constexpr int | LDensity = LogArea::Density::id |
static constexpr int | LMain = LogArea::Main::id |
static constexpr int | LInitialConditions = LogArea::InitialConditions::id |
static constexpr int | LLattice = LogArea::Lattice::id |
std::array< einhard::Logger<>, std::tuple_size< LogArea::AreaTuple >::value > | logg |
An array that stores all pre-configured Logger objects. More... | |
static constexpr int | LExperiment = LogArea::Experiment::id |
KaonNucleonRatios | kaon_nucleon_ratios |
const std::initializer_list< double > | KMINUSP_ELASTIC_P_LAB |
PDG data on K- p elastic cross section: momentum in lab frame. More... | |
const std::initializer_list< double > | KMINUSP_ELASTIC_SIG |
PDG data on K- p elastic cross section: cross section. More... | |
static std::unique_ptr< InterpolateDataLinear< double > > | kminusp_elastic_interpolation = nullptr |
An interpolation that gets lazily filled using the KMINUSP_ELASTIC data. More... | |
const std::initializer_list< double > | KMINUSP_TOT_PLAB |
PDG data on K- p total cross section: momentum in lab frame. More... | |
const std::initializer_list< double > | KMINUSP_TOT_SIG |
PDG data on K- p total cross section: cross section. More... | |
const std::initializer_list< double > | KMINUSP_RES_SQRTS |
Center-of-mass energy list for K̅⁻ N⁺ More... | |
const std::initializer_list< double > | KMINUSP_RES_SIG |
Elastic K̅⁻ N⁺ cross section contributions from decays. More... | |
static std::unique_ptr< InterpolateDataSpline > | kminusp_elastic_res_interpolation = nullptr |
An interpolation that gets lazily filled using the KMINUSP_RES data. More... | |
const std::initializer_list< double > | KPLUSN_TOT_PLAB |
PDG data on K+ n total cross section: momentum in lab frame. More... | |
const std::initializer_list< double > | KPLUSN_TOT_SIG |
PDG data on K+ n total cross section: cross section. More... | |
static std::unique_ptr< InterpolateDataLinear< double > > | kplusn_total_interpolation = nullptr |
An interpolation that gets lazily filled using the KPLUSN_TOT data. More... | |
const std::initializer_list< double > | KPLUSP_TOT_PLAB |
PDG data on K+ p total cross section: momentum in lab frame. More... | |
const std::initializer_list< double > | KPLUSP_TOT_SIG |
PDG data on K+ p total cross section: cross section. More... | |
static std::unique_ptr< InterpolateDataLinear< double > > | kplusp_total_interpolation = nullptr |
An interpolation that gets lazily filled using the KPLUSP_TOT data. More... | |
const std::initializer_list< double > | PIMINUSP_ELASTIC_P_LAB |
PDG data on pi- p elastic cross section: momentum in lab frame. More... | |
const std::initializer_list< double > | PIMINUSP_ELASTIC_SIG |
PDG data on pi- p elastic cross section: cross section. More... | |
static std::unique_ptr< InterpolateDataLinear< double > > | piminusp_elastic_interpolation = nullptr |
An interpolation that gets lazily filled using the PIMINUSP_ELASTIC data. More... | |
const std::initializer_list< double > | PIMINUSP_LAMBDAK0_P_LAB |
PDG data on pi- p to Lambda K0 cross section: momentum in lab frame. More... | |
const std::initializer_list< double > | PIMINUSP_LAMBDAK0_SIG |
PDG data on pi- p to Lambda K0 cross section: cross section. More... | |
static std::unique_ptr< InterpolateDataLinear< double > > | piminusp_lambdak0_interpolation = nullptr |
An interpolation that gets lazily filled using the PIMINUSP_LAMBDAK0 data. More... | |
const std::initializer_list< double > | PIMINUSP_SIGMAMINUSKPLUS_P_LAB |
PDG data on pi- p to Sigma- K+ cross section: momentum in lab frame. More... | |
const std::initializer_list< double > | PIMINUSP_SIGMAMINUSKPLUS_SIG |
PDG data on pi- p to Sigma- K+ cross section: cross section. More... | |
static std::unique_ptr< InterpolateDataLinear< double > > | piminusp_sigmaminuskplus_interpolation = nullptr |
An interpolation that gets lazily filled using the PIMINUSP_SIGMAMINUSKPLUS data. More... | |
const std::initializer_list< double > | PIMINUSP_SIGMA0K0_RES_SQRTS |
pi- p to Sigma0 K0 cross section: square root s More... | |
const std::initializer_list< double > | PIMINUSP_SIGMA0K0_RES_SIG |
pi- p to Sigma0 K0 cross section: cross section More... | |
static std::unique_ptr< InterpolateDataLinear< double > > | piminusp_sigma0k0_interpolation = nullptr |
An interpolation that gets lazily filled using the PIMINUSP_SIGMA0K0_RES data. More... | |
const std::initializer_list< double > | PIMINUSP_RES_SQRTS |
Center-of-mass energy. More... | |
const std::initializer_list< double > | PIMINUSP_RES_SIG |
Elastic π⁻N⁺ cross section contributions from decays. More... | |
static std::unique_ptr< InterpolateDataSpline > | piminusp_elastic_res_interpolation = nullptr |
An interpolation that gets lazily filled using the PIMINUSP_RES data. More... | |
const std::initializer_list< double > | PIPLUSP_ELASTIC_P_LAB |
PDG data on pi+ p elastic cross section: momentum in lab frame. More... | |
const std::initializer_list< double > | PIPLUSP_ELASTIC_SIG |
PDG data on pi+ p elastic cross section: cross section. More... | |
static std::unique_ptr< InterpolateDataLinear< double > > | piplusp_elastic_interpolation = nullptr |
An interpolation that gets lazily filled using the PIPLUSP_ELASTIC_SIG data. More... | |
const std::initializer_list< double > | PIPLUSP_SIGMAPLUSKPLUS_P_LAB |
PDG data on pi+ p to Sigma+ K+ cross section: momentum in lab frame. More... | |
const std::initializer_list< double > | PIPLUSP_SIGMAPLUSKPLUS_SIG |
PDG data on pi+ p to Sigma+ K+ section: cross section. More... | |
static std::unique_ptr< InterpolateDataLinear< double > > | piplusp_sigmapluskplus_interpolation = nullptr |
An interpolation that gets lazily filled using the PIPLUSP_SIGMAPLUSKPLUS_SIG data. More... | |
const std::initializer_list< double > | PIPLUSP_RES_SQRTS |
Center-of-mass energy. More... | |
const std::initializer_list< double > | PIPLUSP_RES_SIG |
Elastic π⁺N⁺ cross section contributions from decays. More... | |
static std::unique_ptr< InterpolateDataSpline > | piplusp_elastic_res_interpolation = nullptr |
A null interpolation that gets filled using the PIPLUSP_RES data. More... | |
RectangularLattice< FourVector > * | UB_lat_pointer = nullptr |
Pointer to the skyrme potential on the lattice. More... | |
RectangularLattice< FourVector > * | UI3_lat_pointer = nullptr |
Pointer to the symmmetry potential on the lattice. More... | |
Potentials * | pot_pointer = nullptr |
Pointer to a Potential class. More... | |
static constexpr int | LPythia = LogArea::Pythia::id |
static constexpr int | LPauliBlocking = LogArea::PauliBlocking::id |
static constexpr int | HyperSurfaceCrossing = LogArea::HyperSurfaceCrossing::id |
static constexpr int | LBox = LogArea::Box::id |
static constexpr int | LScatterAction = LogArea::ScatterAction::id |
static constexpr int | LResonances = LogArea::Resonances::id |
static constexpr int | LCollider = LogArea::Collider::id |
static constexpr int | LCrossSections = LogArea::CrossSections::id |
static constexpr int | LScatterAction = LogArea::ScatterAction::id |
static constexpr int | LCollider = LogArea::Collider::id |
static constexpr int | LDecayModes = LogArea::DecayModes::id |
static constexpr int | LDecayModes = LogArea::DecayModes::id |
std::vector< DecayTypePtr > * | all_decay_types = nullptr |
Global pointer to the decay types list. More... | |
constexpr size_t | num_tab_pts = 200 |
Number of tabulation points. More... | |
static Integrator | integrate |
static Integrator2dCuhre | integrate2d (1E7) |
static constexpr int | LDistributions = LogArea::Distributions::id |
static constexpr int | LTmn = LogArea::Tmn::id |
static constexpr int | LFpe = LogArea::Fpe::id |
static constexpr int | LGrandcanThermalizer = LogArea::GrandcanThermalizer::id |
static constexpr int | LGrid = LogArea::Grid::id |
static const std::initializer_list< GridBase::SizeType > | ZERO {0} |
static const std::initializer_list< GridBase::SizeType > | ZERO_ONE {0, 1} |
static const std::initializer_list< GridBase::SizeType > | MINUS_ONE_ZERO {-1, 0} |
static const std::initializer_list< GridBase::SizeType > | MINUS_ONE_ZERO_ONE |
static constexpr int | LResonances = LogArea::Resonances::id |
static constexpr int | LHyperSurfaceCrossing = LogArea::HyperSurfaceCrossing::id |
static constexpr int | LHyperSurfaceCrossing = LogArea::HyperSurfaceCrossing::id |
static constexpr int | LInputParser = LogArea::InputParser::id |
static constexpr int | LParticleType = LogArea::ParticleType::id |
static IsoParticleTypeList | iso_type_list |
static std::vector< const IsoParticleType * > | iso_baryon_resonances |
static Integrator | integrate |
static Integrator2dCuhre | integrate2d |
static std::unordered_map< std::string, Tabulation > | NR_tabulations |
Tabulation of all N R integrals. More... | |
static std::unordered_map< std::string, Tabulation > | piR_tabulations |
Tabulation of all pi R integrals. More... | |
static std::unordered_map< std::string, Tabulation > | RK_tabulations |
Tabulation of all K R integrals. More... | |
static std::unordered_map< std::string, Tabulation > | DeltaR_tabulations |
Tabulation of all Delta R integrals. More... | |
static std::unordered_map< std::string, Tabulation > | rhoR_tabulations |
Tabulation of all rho rho integrals. More... | |
static constexpr int | LList = LogArea::List::id |
static einhard::LogLevel | global_default_loglevel = einhard::ALL |
The default logging level is ALL. More... | |
static constexpr int | LNucleus = LogArea::Nucleus::id |
static constexpr int | LHyperSurfaceCrossing = LogArea::HyperSurfaceCrossing::id |
static constexpr int | LOutput = LogArea::Output::id |
static constexpr int | LParticleType = LogArea::ParticleType::id |
static constexpr int | LResonances = LogArea::Resonances::id |
static constexpr int | LPauliBlocking = LogArea::PauliBlocking::id |
static constexpr int | LOutput = LogArea::Output::id |
static constexpr int | LPropagation = LogArea::Propagation::id |
static constexpr int | LGrandcanThermalizer = LogArea::GrandcanThermalizer::id |
static constexpr int | LHyperSurfaceCrossing = LogArea::HyperSurfaceCrossing::id |
static constexpr int | LScatterAction = LogArea::ScatterAction::id |
static constexpr int | LScatterAction = LogArea::ScatterAction::id |
static constexpr int | LFindScatter = LogArea::FindScatter::id |
static constexpr int | LSphere = LogArea::Sphere::id |
static constexpr int | LOutput = LogArea::Output::id |
Interpolation objects for π+- + π-+ -> π+- + π-+ + γ processes | |
(opposite charge incoming pions, charged pions in final state) | |
static std::unique_ptr< InterpolateDataLinear< double > > | pipi_pipi_opp_interpolation = nullptr |
static std::unique_ptr< InterpolateData2DSpline > | pipi_pipi_opp_dsigma_dk_interpolation = nullptr |
static std::unique_ptr< InterpolateData2DSpline > | pipi_pipi_opp_dsigma_dtheta_interpolation = nullptr |
Interpolation objects for π+ + π+ -> π+ + π+ + γ and | |
or π- + π- -> π- + π- + γ processes (same charge incoming pions) | |
static std::unique_ptr< InterpolateDataLinear< double > > | pipi_pipi_same_interpolation = nullptr |
static std::unique_ptr< InterpolateData2DSpline > | pipi_pipi_same_dsigma_dk_interpolation = nullptr |
static std::unique_ptr< InterpolateData2DSpline > | pipi_pipi_same_dsigma_dtheta_interpolation = nullptr |
Interpolation objects for π + π0 -> π + π0 + γ processes | |
static std::unique_ptr< InterpolateDataLinear< double > > | pipi0_pipi0_interpolation = nullptr |
static std::unique_ptr< InterpolateData2DSpline > | pipi0_pipi0_dsigma_dk_interpolation = nullptr |
static std::unique_ptr< InterpolateData2DSpline > | pipi0_pipi0_dsigma_dtheta_interpolation = nullptr |
Interpolation objects for π+- + π-+ -> π0 + π0 + γ processes | |
static std::unique_ptr< InterpolateDataLinear< double > > | pipi_pi0pi0_interpolation = nullptr |
static std::unique_ptr< InterpolateData2DSpline > | pipi_pi0pi0_dsigma_dk_interpolation = nullptr |
static std::unique_ptr< InterpolateData2DSpline > | pipi_pi0pi0_dsigma_dtheta_interpolation = nullptr |
Interpolation objects for π0 + π0 -> π+- + π-+ + γ processes | |
static std::unique_ptr< InterpolateDataLinear< double > > | pi0pi0_pipi_interpolation = nullptr |
static std::unique_ptr< InterpolateData2DSpline > | pi0pi0_pipi_dsigma_dk_interpolation = nullptr |
static std::unique_ptr< InterpolateData2DSpline > | pi0pi0_pipi_dsigma_dtheta_interpolation = nullptr |
using smash::SystemTimePoint = typedef std::chrono::time_point<std::chrono::system_clock> |
using smash::SystemClock = typedef std::chrono::system_clock |
using smash::SystemTimeSpan = typedef SystemClock::duration |
using smash::FilePtr = typedef std::unique_ptr<std::FILE, FileDeleter> |
A RAII type to replace std::FILE *
.
This is an alias type for std::unique_ptr to automatically free the std::FILE resource after the last reference goes out of scope. It is important to use a custom deleter type, and therefore SMASH code should never use std::unique_ptr directly with std::FILE.
using smash::Permutation = typedef std::vector<size_t> |
Represent a permutation.
Definition at line 104 of file interpolation.h.
|
strong |
Calculation method for the cross sections.
It has only one member at the moment. In the future there will be more options.
Enumerator | |
---|---|
Analytic |
Definition at line 21 of file crosssectionsphoton.h.
|
strong |
|
strong |
Specifier to classify the different hadron species according to their quantum numbers.
Definition at line 143 of file grandcan_thermalizer.h.
|
strong |
Identifies the mode of the Grid.
Enumerator | |
---|---|
Normal | Without ghost cells. |
PeriodicBoundaries | With ghost cells for periodic boundaries. |
|
strong |
|
strong |
Enumerator option for lattice updates.
Updating the lattice is a costly operation and should be performed only if necessary. Possible needs are:
Enumerator | |
---|---|
AtOutput | |
EveryTimestep | |
EveryFixedInterval |
|
strong |
Represent the parity of a particle type.
Enumerator | |
---|---|
Pos | Positive parity. |
Neg | Negative parity. |
Definition at line 24 of file particletype.h.
|
strong |
Decide which decay mode widths are returned in get partical widths.
Enumerator | |
---|---|
All | All decay mode widths. |
Hadronic | Ignore dilepton decay modes widths. |
Dileptons | Only return dilepton decays widths. |
Definition at line 32 of file particletype.h.
|
strong |
Process Types are used to identify the type of the process.
Corresponding integer numbers are given explicitly, because they appear in the output.
Enumerator | |
---|---|
None | nothing |
Elastic | elastic scattering: particles remain the same, only momenta change |
TwoToOne | resonance formation (2->1) |
TwoToTwo | 2->2 inelastic scattering |
Decay | resonance decays |
Wall | box wall crossing |
Thermalization | forced thermalization, many particles are replaced by a thermalized ensemble |
HyperSurfaceCrossing | Hypersurface crossing Particles are removed from the evolution and printed to a separate output to serve as initial conditions for hybrid models. |
Bremsstrahlung | bremsstrahlung process: a + b -> a + b + photon |
StringSoftSingleDiffractiveAX | (41-45) soft string excitations. Here "soft" means that the process does not involve quark or gluon scattering. A string is formed by quark and antiquark, or quark and diquark, in its ends. Then this string decays. Depending on which quark and anti- (or di-)quarks are selected for string formation, the process has one of the following types. single diffractive AB->AX. Both quark and anti-/di-quark taken from B. |
StringSoftSingleDiffractiveXB | single diffractive AB->XB. Both quark and anti-/di-quark taken from A. It makes sense to distinguish it from AB->AX, because A and B can be particles of different types, for example, a pion and a proton. It matters then, whether the pion creates a string or the proton. |
StringSoftDoubleDiffractive | double diffractive. Two strings are formed, one from A and one from B. |
StringSoftAnnihilation | a special case of baryon-antibaryon annihilation. One pair qqbar annihilates immediately and then two strings are formed. |
StringSoftNonDiffractive | non-diffractive. Two strings are formed both have ends in A and B. |
StringHard | hard string process involving 2->2 QCD process by PYTHIA. Here quarks do not simply form a string. They actually scatter on parton level first. |
Definition at line 25 of file processbranch.h.
|
strong |
The kind of extrapolation used by the tabulation.
Enumerator | |
---|---|
Zero | |
Const | |
Linear |
Definition at line 26 of file tabulation.h.
|
strong |
The options determining what to do if a particle flies out of the grids PlusLength: Used if a periodic boundary condition is applied and a particle passes through the lower bound of the grid.
No: Used if the boundary condition is not periodic. MinusLength: Used if a periodic boundary condition is applied and a particle passes through the upper bound of the grid.
Enumerator | |
---|---|
PlusLength | |
No | |
MinusLength |
Definition at line 329 of file grid.cc.
|
inline |
Append vector of action pointers.
[in] | lhs | vector of action pointers that is appended to |
[in] | rhs | vector of action pointers that is appended |
|
static |
Enforces periodic boundaries on the given collection of values.
The values in an arbitrary container, starting from begin
and ending at end
, will be checked. If the value is less than 0, length
will be added to it. If the value is greater than or equal to length
, length
will be subtracted from it.
The implementation therefore assumes that the values are at most one length
away from the 0 to length
range.
Iterator | Type of the iterator. |
begin | Iterator pointing to the first value to check. |
end | End iterator. |
length | The length of the valid interval. |
Definition at line 53 of file algorithms.h.
|
inline |
Convenience wrapper for std::all_of
that operates on a complete container.
Container | Type of the container. |
UnaryPredicate | Type of the predicate. |
c | A container of elements to examine. |
p | Unary predicate. |
c
return true
when passed to p
. Definition at line 80 of file algorithms.h.
|
inline |
Convenience wrapper for std::for_each
that operates on a complete container.
Container | Type of the container. |
UnaryFunction | Type of the function. |
c | A container of elements on which to perform the function f |
f | A function to apply on all elements of the container c |
Definition at line 96 of file algorithms.h.
std::pair<std::vector<T>, std::vector<T> > smash::dedup_avg | ( | const std::vector< T > & | x, |
const std::vector< T > & | y | ||
) |
Remove duplicates from data (x, y) by averaging y.
Assumes (x, y) is sorted.
T | Type of the values (should be floating point). |
x | x-values. |
y | y-values. |
Definition at line 65 of file average.h.
double smash::clebsch_gordan | ( | const int | j_a, |
const int | j_b, | ||
const int | j_c, | ||
const int | m_a, | ||
const int | m_b, | ||
const int | m_c | ||
) |
Calculate Clebsch-Gordan coefficient \((-1)^{j_a - j_b + m_c} \sqrt{(2 j_c + 1)} \cdot [Wigner 3J symbol] \).
[in] | j_a | spin of first particle |
[in] | j_b | spin of second particle |
[in] | j_c | spin of resonance |
[in] | m_a | isospin of first particle |
[in] | m_b | isospin of second particle |
[in] | m_c | isospin of resonance |
Note that the calculation assumes that the spin/isospin values (j/m) have been multiplied by two (in order to be integer).
Definition at line 18 of file clebschgordan.cc.
|
inline |
Calculate the squared isospin Clebsch-Gordan coefficient for two particles p_a and p_b coupling to a resonance Res.
[in] | p_a | Information on spin/isospin of particle a |
[in] | p_b | Information on spin/isospin of particle b |
[in] | Res | Information on spin/isospin of resonance |
Definition at line 42 of file clebschgordan.h.
double smash::isospin_clebsch_gordan_sqr_3to1 | ( | const ParticleType & | p_a, |
const ParticleType & | p_b, | ||
const ParticleType & | p_c, | ||
const ParticleType & | Res | ||
) |
Calculate the squared isospin Clebsch-Gordan coefficient for three particles p_a, p_b and p_c coupling to a resonance Res.
[in] | p_a | Information on spin/isospin of particle a |
[in] | p_b | Information on spin/isospin of particle b |
[in] | p_c | Information on spin/isospin of particle c |
[in] | Res | Information on spin/isospin of resonance |
Definition at line 51 of file clebschgordan.cc.
double smash::isospin_clebsch_gordan_sqr_2to2 | ( | const ParticleType & | p_a, |
const ParticleType & | p_b, | ||
const ParticleType & | p_c, | ||
const ParticleType & | p_d, | ||
const int | I = -1 |
||
) |
Calculate the squared isospin Clebsch-Gordan coefficient for a 2-to-2 reaction A + B -> C + D.
If a total isospin value I is given (doubled in order to be integer), then only contributions with that total isospin will be counted.
[in] | p_a | Information on spin/isospin of particle a |
[in] | p_b | Information on spin/isospin of particle b |
[in] | p_c | Information on spin/isospin of particle c |
[in] | p_d | Information on spin/isospin of particle d |
[in] | I | total isospin of the reaction |
Definition at line 84 of file clebschgordan.cc.
|
inline |
Definition for make_unique Is in C++14's standard library; necessary for older compilers.
Definition at line 25 of file cxx14compat.h.
double smash::y_l_0 | ( | int | l, |
double | cosx | ||
) |
Spherical harmonics Y_2_0 and Y_4_0.
[in] | l | Angular momentum value (2 and 4 are supported) |
[in] | cosx | Cosine of the polar angle |
domain_error | if unsupported l is encountered |
Definition at line 292 of file deformednucleus.cc.
std::ostream & smash::operator<< | ( | std::ostream & | os, |
DensityType | dt | ||
) |
Create the output operator for the densities.
[out] | os | Output operator for the densities |
[in] | dt | Type of density (e.g. baryon density) |
Definition at line 163 of file density.cc.
double smash::density_factor | ( | const ParticleType & | type, |
DensityType | dens_type | ||
) |
Get the factor that determines how much a particle contributes to the density type that is computed.
E.g. positive pion contributes with factor 1 to total particle density and with factor 0 to baryon density. Proton contributes with factor 1 to baryon density, anti-proton - with factor -1 to baryon density, and so on.
[in] | type | type of the particle to be tested |
[in] | dens_type | The density type |
Definition at line 17 of file density.cc.
|
inline |
|
inline |
Gaussians used for smearing are cut at radius \(r_{cut} = a \sigma \) for calculation speed-up.
In the limit of \(a \to \infty \) smearing factor is normalized to 1:
\[ \frac{4 \pi}{(2 \pi \sigma^2)^{3/2}} \int_0^{\infty} e^{-r^2/2 \sigma^2} r^2 dr = 1 \]
However, for finite \( a\) integral is less than one:
\[ g(a) \equiv \frac{4 \pi}{(2 \pi \sigma^2)^{3/2}} \int_0^{a \sigma} e^{-r^2/2 \sigma^2} r^2 dr = -\sqrt{\frac{2}{\pi}} a e^{-a^2/2} + Erf[a/\sqrt{2}] \]
This \( g(a) \) is typically close to 1. For example, for \(r_{cut} = 3 \sigma \), and thus \( a=3 \), g(3) = 0.9707; g(4) = 0.9987. The aim of this function is to compensate for this factor.
[in] | rcut_in_sigma | \( a = r_{cut} / \sigma\) |
Definition at line 98 of file density.h.
std::pair< double, ThreeVector > smash::unnormalized_smearing_factor | ( | const ThreeVector & | r, |
const FourVector & | p, | ||
const double | m_inv, | ||
const DensityParameters & | dens_par, | ||
const bool | compute_gradient = false |
||
) |
Implements gaussian smearing for any quantity.
Computes smearing factor taking Lorentz contraction into account. Integral of unnormalized smearing factor over space should be \( (2 \pi \sigma^2)^{3/2} \). Division over norm is split for efficiency: it is not nice to recalculate the same constant norm at every call.
[in] | r | vector from the particle to the point of interest [fm] |
[in] | p | particle 4-momentum to account for Lorentz contraction [GeV] |
[in] | m_inv | particle mass, \( (E^2 - p^2)^{-1/2} \) [GeV] |
[in] | dens_par | object containing precomputed parameters for density calculation. |
[in] | compute_gradient | option, true - compute gradient, false - no |
Definition at line 38 of file density.cc.
std::tuple< double, FourVector, ThreeVector, ThreeVector, ThreeVector > smash::current_eckart | ( | const ThreeVector & | r, |
const ParticleList & | plist, | ||
const DensityParameters & | par, | ||
DensityType | dens_type, | ||
bool | compute_gradient, | ||
bool | smearing | ||
) |
Calculates Eckart rest frame density and 4-current of a given density type and optionally the gradient of the density in an arbitary frame, the curl of the 3-current and the time derivative of the 3-current.
\[j^{\mu} = (\sqrt{2\pi} \sigma )^{-3} \sum_{i=1}^N C_i u^{\mu}_i exp \left(- \frac{(\vec r -\vec r_i + \frac{\gamma_i^2}{1 + \gamma_i} \vec \beta_i (\vec \beta_i, \vec r - \vec r_i))^2}{2\sigma^2} \right)\]
\[ \rho^{Eckart} = \sqrt{j^{\mu} j_{\mu}} \]
Here \( C_i \) is a corresponding value of "charge". If baryon current option is selected then \( C_i \) is 1 for baryons, -1 for antibaryons and 0 otherwise. For proton/neutron current \( C_i = 1\) for proton/neutron and 0 otherwise.
To avoid the problems with Eckart frame definition, densities for positive and negative charges, \(\rho_+ \) and \( \rho_-\), are computed separately and final density is \(\rho_+ - \rho_-\).
[in] | r | Arbitrary space point where 4-current is calculated [fm]; ignored if smearing is false |
[in] | plist | List of all particles to be used in \(j^{\mu}\) calculation. If smearing is false or if the distance between particle and calculation point r, \( |r-r_i| > r_{cut} \) then particle input to density will be ignored. |
Next four values are taken from ExperimentalParameters structure:
[in] | par | Set of parameters packed in one structure. From them the cutting radius r_cut \( r_{cut} / \sigma \), number of test-particles ntest and the gaussian width gs_sigma are needed. |
[in] | dens_type | type of four-currect to be calculated: baryon, proton or neutron options are currently available |
[in] | compute_gradient | true - compute gradient, false - no |
[in] | smearing | whether to use gaussian smearing or not. If false, this parameter will use ALL particles equally to calculate the current, and that as such it will not be normalized wrt volume. This should be true for any internal calculation of any quantity and only makes sense to turn off for output purposes in a box. |
Definition at line 149 of file density.cc.
std::tuple< double, FourVector, ThreeVector, ThreeVector, ThreeVector > smash::current_eckart | ( | const ThreeVector & | r, |
const Particles & | plist, | ||
const DensityParameters & | par, | ||
DensityType | dens_type, | ||
bool | compute_gradient, | ||
bool | smearing | ||
) |
convenience overload of the above (ParticleList -> Particles)
Definition at line 156 of file density.cc.
void smash::update_lattice | ( | RectangularLattice< T > * | lat, |
const LatticeUpdate | update, | ||
const DensityType | dens_type, | ||
const DensityParameters & | par, | ||
const Particles & | particles, | ||
const bool | compute_gradient = false |
||
) |
Updates the contents on the lattice.
[out] | lat | The lattice on which the content will be updated |
[in] | update | tells if called for update at printout or at timestep |
[in] | dens_type | density type to be computed on the lattice |
[in] | par | a structure containing testparticles number and gaussian smearing parameters. |
[in] | particles | the particles vector |
[in] | compute_gradient | Whether to compute the gradients |
T | LatticeType |
Definition at line 401 of file density.h.
double smash::breit_wigner | ( | double | m, |
double | pole, | ||
double | width | ||
) |
Returns a relativistic Breit-Wigner distribution.
The normalization is such that the integration over \( \sqrt{s} \) from 0 to infinity yields one.
[in] | m | Argument of the Breit-Wigner function (off-shell mass m in GeV) |
[in] | pole | Resonance pole mass \( m_0 \) in GeV |
[in] | width | Resonance width \( \Gamma \) in GeV |
Definition at line 24 of file distributions.cc.
double smash::breit_wigner_nonrel | ( | double | m, |
double | pole, | ||
double | width | ||
) |
Returns a non-relativistic Breit-Wigner distribution, which is essentially a Cauchy distribution with half width.
[in] | m | Argument of the Breit-Wigner function (off-shell mass m in GeV) |
[in] | pole | resonance pole mass \( m_0 \) in GeV |
[in] | width | resonance width \( \Gamma \) in GeV |
Definition at line 31 of file distributions.cc.
double smash::cauchy | ( | double | x, |
double | pole, | ||
double | width | ||
) |
Returns a Cauchy distribution (sometimes also called Lorentz or non-relativistic Breit-Wigner distribution) with the given parameters.
The normalization is such that integrating over x from -infinity to +infinity yields one.
x | Argument of the Cauchy function in GeV. |
pole | Pole parameter \( m_0 \) of the Cauchy function in GeV, i.e. location of the peak. |
width | Width parameter \( \Gamma \) of the Cauchy function in GeV, determining the sharpness of the peak. |
Definition at line 36 of file distributions.cc.
double smash::density_integrand | ( | const double | energy, |
const double | momentum_sqr, | ||
const double | temperature | ||
) |
Returns the Maxwell-Boltzmann distribution.
[in] | energy | \(E\) (in GeV) |
[in] | momentum_sqr | squared \(p\) (in GeV \(^2\)) |
[in] | temperature | \(T\) (in GeV) |
Definition at line 42 of file distributions.cc.
double smash::density_integrand_mass | ( | const double | energy, |
const double | momentum_sqr, | ||
const double | temperature | ||
) |
density_integrand_mass - off_equilibrium distribution for massive particles
[in] | energy | \(E\) (in GeV) |
[in] | momentum_sqr | squared \(p\) (in GeV \(^2\)) |
[in] | temperature | \(T\) (in GeV) |
\[f=pe^{-\frac{\sqrt{m^2+p^2}}{T_0}}\]
Definition at line 47 of file distributions.cc.
double smash::density_integrand_1M_IC | ( | const double | energy, |
const double | momentum_sqr, | ||
const double | temperature | ||
) |
density integrand - 1M_IC massless particles for expanding metric initialization, see Bazow:2016oky [6]
[in] | energy | \(E\) (in GeV) |
[in] | momentum_sqr | squared \(p\) (in GeV \(^2\)) |
[in] | temperature | \(T\) (in GeV) |
Definition at line 53 of file distributions.cc.
double smash::density_integrand_2M_IC | ( | const double | energy, |
const double | momentum_sqr, | ||
const double | temperature | ||
) |
density integrand - 2M_IC massless particles for expanding metric initialization, see Bazow:2016oky [6]
[in] | energy | \(E\) (in GeV) |
[in] | momentum_sqr | squared \(p\) (in GeV \(^2\)) |
[in] | temperature | \(T\) (in GeV) |
Definition at line 60 of file distributions.cc.
double smash::juttner_distribution_func | ( | const double | momentum_radial, |
const double | mass, | ||
const double | temperature, | ||
const double | baryon_chemical_potential, | ||
const double | lam | ||
) |
Relativistic Juttner distribution function.
[in] | momentum_radial | \(|\vec{p}|\) in units of [GeV] |
[in] | mass | Mass of the particle: in units of [GeV] |
[in] | temperature | Temperature of the system \(T\) in units of [GeV] |
[in] | baryon_chemical_potential | \(n*\mu_{B}\) default = 0 |
[in] | lam | +/-1 or 0 to determine the distribution type lam=0, for Juttner distribution lam=-1, for Bose-Einstein distribution lam=1, for Fermi-Dirac distribution |
Definition at line 71 of file distributions.cc.
double smash::sample_momenta_non_eq_mass | ( | const double | temperature, |
const double | mass | ||
) |
Samples a momentum via rejection method from the non-equilibrium distribution.
\[f=pe^{-\frac{\sqrt{m^2+p^2}}{T_0}}\]
[in] | temperature | Temperature \(T\) [GeV] |
[in] | mass | Mass of the particle: \(m = \sqrt{E^2 - p^2}\) [GeV] |
Definition at line 82 of file distributions.cc.
double smash::sample_momenta_1M_IC | ( | const double | temperature, |
const double | mass | ||
) |
Samples a momentum from the non-equilibrium distribution 1M_IC from Bazow:2016oky [6].
[in] | temperature | Temperature \(T\) [GeV] |
[in] | mass | Mass of the particle: \(m = \sqrt{E^2 - p^2}\) [GeV] |
Definition at line 116 of file distributions.cc.
double smash::sample_momenta_2M_IC | ( | const double | temperature, |
const double | mass | ||
) |
Samples a momentum from the non-equilibrium distribution 2M_IC from Bazow:2016oky [6].
[in] | temperature | Temperature \(T\) [GeV] |
[in] | mass | Mass of the particle: \(m = \sqrt{E^2 - p^2}\) [GeV] |
Definition at line 153 of file distributions.cc.
double smash::sample_momenta_from_thermal | ( | const double | temperature, |
const double | mass | ||
) |
Samples a momentum from the Maxwell-Boltzmann (thermal) distribution in a faster way, given by Scott Pratt (see Pratt:2014vja [35]) APPENDIX: ALGORITHM FOR GENERATING PARTICLES math trick: for \( x^{n-1}e^{-x} \) distribution, sample x by: \( x = -ln(r_1 r_2 r_3 ... r_n) \) where \( r_i \) are uniform random numbers between [0,1) for \( T/m > 0.6 \): \( p^2 e^{-E/T} = p^2 e^{-p/T} * e^{(p-E)/T} \), where \( e^{(p-E)/T}\) is used as rejection weight.
Since \(T/m > 0.6 \), \( e^{(p-E)/T}\) is close to 1. for \( T/m < 0.6 \), there are many rejections another manipulation is used: \( p^2 e^{-E/T} dp = dE \frac{E}{p} p^2 e^{-E/T} \) \( = dK \frac{p}{E} (K+m)^2 e^{-K/T} e^{-m/T} \) \( = dK (K^2 + 2mK + m^2) e^{-K/T} \frac{p}{E}\) where \( \frac{p}{E} \) is used as rejection weight.
[in] | temperature | Temperature \(T\) [GeV] |
[in] | mass | Mass of the particle: \(m = \sqrt{E^2 - p^2}\) [GeV] |
Definition at line 190 of file distributions.cc.
double smash::sample_momenta_IC_ES | ( | const double | temperature | ) |
Sample momenta according to the momentum distribution in Bazow:2016oky [6].
[in] | temperature | The temperature for the distribution [GeV] |
Definition at line 239 of file distributions.cc.
|
inline |
Direct addition operator.
Definition at line 162 of file energymomentumtensor.h.
|
inline |
Direct subtraction operator.
Definition at line 176 of file energymomentumtensor.h.
|
inline |
Direct multiplication operator.
Definition at line 189 of file energymomentumtensor.h.
|
inline |
Direct multiplication operator.
Definition at line 194 of file energymomentumtensor.h.
|
inline |
Direct division operator.
Definition at line 206 of file energymomentumtensor.h.
std::ostream & smash::operator<< | ( | std::ostream & | out, |
const Experiment< Modus > & | e | ||
) |
Creates a verbose textual description of the setup of the Experiment.
Writes the initial state for the Experiment to the output stream. It automatically appends the output of the current Modus.
Definition at line 569 of file experiment.h.
ExperimentParameters smash::create_experiment_parameters | ( | Configuration | config | ) |
Gathers all general Experiment parameters.
[in,out] | config | Configuration element |
Definition at line 328 of file experiment.cc.
const std::string smash::hline | ( | 113 | , |
'-' | |||
) |
String representing a horizontal line.
std::string smash::format_measurements | ( | const Particles & | particles, |
uint64_t | scatterings_this_interval, | ||
const QuantumNumbers & | conserved_initial, | ||
SystemTimePoint | time_start, | ||
double | time, | ||
double | E_mean_field, | ||
double | E_mean_field_initial | ||
) |
Generate the tabulated string which will be printed to the screen when SMASH is running.
[in] | particles | The interacting particles. Their information will be used to check the conservation of the total energy and momentum. the total number of the particles will be used and printed as well. |
[in] | scatterings_this_interval | Number of the scatterings occur within the current timestep. |
[in] | conserved_initial | Initial quantum numbers needed to check the conservations. |
[in] | time_start | Moment in the REAL WORLD when SMASH starts to run [s]. |
[in] | time | Current moment in SMASH [fm/c]. |
[in] | E_mean_field | Value of the mean-field contribution to the total energy of the system at the current time. |
[in] | E_mean_field_initial | Value of the mean-field contribution to the total energy of the system at t=0. |
Definition at line 449 of file experiment.cc.
double smash::calculate_mean_field_energy | ( | const Potentials & | potentials, |
RectangularLattice< smash::DensityOnLattice > & | jmu_B_lat, | ||
const ExperimentParameters & | parameters | ||
) |
Calculate the total mean field energy of the system; this will be printed to the screen when SMASH is running.
Using the baryon density lattice is necessary.
[in] | potentials | Parameters of the potentials used in the simulation. |
[in] | jmu_B_lat | Lattice of baryon density and baryon current values as well as their gradients at each lattice node. |
[in] | parameters | Parameters of the experiment, needed for the access to the number of testparticles. |
Definition at line 496 of file experiment.cc.
|
inline |
Make sure interactions_total
can be represented as a 32-bit integer.
This is necessary for converting to a id_process
. The latter is 32-bit integer, because it is written like this to binary output.
[in] | interactions_total | Total interaction number |
Definition at line 1743 of file experiment.h.
FilePtr smash::fopen | ( | const bf::path & | filename, |
const std::string & | mode | ||
) |
Open a file with given mode.
This wraps std::fopen but uses FileDeleter to automatically close the file.
[in] | filename | Path to the file. |
[in] | mode | The mode in which the file should be opened (see std::fopen ). |
FilePtr
. Definition at line 14 of file file.cc.
|
inline |
p_ab | Momentum of outgoing particles A and B in center-of-mass frame [GeV] |
L | Angular momentum of outgoing particles A and B. |
This is used as a standard form factor for all hadronic decays. Note that all the Blatt-Weisskopf functions approach one for large p_ab and behave like p_ab**L for small p_ab
. They are increasing monotonically with p_ab
.
Definition at line 33 of file formfactors.h.
|
inline |
An additional form factor for unstable final states as used in GiBUU, according to M.
Post, see eq. (174) in Buss:2011mx [10] or eq. (13) in Post:2003hu [34].
m | Actual mass of the decaying resonance [GeV]. |
M0 | Pole mass of the decaying resonance [GeV]. |
srts0 | Threshold of the reaction, i.e. minimum possible sqrt(s) [GeV]. |
L | Lambda parameter of the form factor [GeV]. This is a cut-off parameter that can be different for baryons and mesons. |
This form factor is equal to one at m=M0 and m=srts0. For decreasing values of L, the form factor results in a stronger and stronger suppression of the high-mass tail (m > M0) and a corresponding enhancement of the low-mass tail (m < M0).
Definition at line 75 of file formfactors.h.
|
inline |
For the π⁰ see Landsberg:1986fd [26]. For the η the Lambda parameter is fitted to NA60 data, see Arnaldi:2009aa [3].
pdg | PDG code of the decaying meson. |
mass | Invariant dilepton mass [GeV]. |
Definition at line 97 of file formfactors.h.
|
inline |
For the ω, see Bratkovskaya:1996qe [9].
pdg | PDG code of the decaying meson. |
mass | Invariant dilepton mass [GeV]. |
Definition at line 120 of file formfactors.h.
|
inline |
m
.m | Invariant dilepton mass [GeV]. |
Currently assumed to be constant, normalized at the real-photon point.
Definition at line 144 of file formfactors.h.
|
inline |
add two FourVectors
[in] | a | The first FourVector to add |
[in] | b | The second FourVector to add |
Definition at line 366 of file fourvector.h.
|
inline |
subtract two FourVectors
[in] | a | The FourVector from which to subtract |
[in] | b | The FourVector to subtract |
Definition at line 387 of file fourvector.h.
|
inline |
multiply a vector with a scalar
[in] | a | The FourVector to multiply |
[in] | b | The value with which to multiply |
Definition at line 408 of file fourvector.h.
|
inline |
multiply a vector with a scalar
[in] | b | The value with which to multiply |
[in] | a | The FourVector to multiply |
Definition at line 419 of file fourvector.h.
|
inline |
divide a vector by a scalar
[in] | a | The FourVector to divide |
[in] | b | The value with which to divide |
Definition at line 441 of file fourvector.h.
|
inline |
Fallback that fails to set the trap.
Definition at line 40 of file fpenvironment.h.
void smash::setup_default_float_traps | ( | ) |
Setup the floating-point traps used throughout SMASH.
If possible, this function additionally installs a signal handler that prints what kind of condition triggered the trap. This requires POSIX.1-2001 to work.
Definition at line 69 of file fpenvironment.cc.
void smash::without_float_traps | ( | F && | f | ) |
Convenience function to create a scope where all floating point traps are disabled.
Example:
f | A functor (e.g. lambda) that is executed in the cleared floating point environment. |
F | type of the functor |
Definition at line 129 of file fpenvironment.h.
std::ostream & smash::operator<< | ( | std::ostream & | s, |
const ThermLatticeNode & | node | ||
) |
This operator writes all the thermodynamic quantities at a certain position to the file out.
[in] | s | location of the output |
[in] | node | position on the lattice, where the output is generated |
Definition at line 91 of file grandcan_thermalizer.cc.
|
inline |
Builds a meaningful error message.
Takes the message and quotes the Line where the error occurs
[in] | message | Error message |
[in] | line | Line object containing line number and line content. |
Definition at line 42 of file inputfunctions.h.
std::vector< Line > smash::line_parser | ( | const std::string & | input | ) |
Helper function for parsing particles.txt and decaymodes.txt.
This function goes through an input stream line by line and removes comments and empty lines. The remaining lines will be returned as a vector of strings and linenumber pairs (Line).
[in] | input | an lvalue reference to an input stream |
Definition at line 21 of file inputfunctions.cc.
|
inline |
Makes sure that nothing is left to read from this line.
Definition at line 59 of file inputfunctions.h.
|
inline |
Utility function to read a complete input stream (e.g.
file) into one string.
[in] | input | The input stream. Since it reads until EOF und thus "uses up the whole input stream" the function takes an rvalue reference to the stream object (just pass a temporary). |
Definition at line 80 of file inputfunctions.h.
|
inline |
Check if a line in the string ends with \r\n.
This may happen when a file was edited on Windows.
[in] | in | Input string |
Definition at line 91 of file inputfunctions.h.
Permutation smash::generate_sort_permutation | ( | std::vector< T > const & | v, |
Cmp | compare | ||
) |
Calculate the permutations necessary for sorting a vector.
Cmp | Type of comparison function. |
v | Vector to be sorted. |
compare | Comparison function (see std::sort ). |
Definition at line 115 of file interpolation.h.
std::vector<T> smash::apply_permutation | ( | const std::vector< T > & | v, |
const Permutation & | p | ||
) |
Apply a permutation to a vector.
T | Type of values to be permuted. |
v | Vector to be permuted. |
p | Permutation to be applied. |
Definition at line 132 of file interpolation.h.
void smash::check_duplicates | ( | const std::vector< T > & | x, |
const std::string & | error_position | ||
) |
Check whether two components have the same value in a sorted vector x.
Throws an exception if duplicates are encountered.
T | Type of values to be checked for duplicates. |
x | Vector to be checked for duplicates. |
error_position | String used in the error message, indicating where the error originated. |
Definition at line 151 of file interpolation.h.
size_t smash::find_index | ( | const std::vector< T > & | v, |
T | x | ||
) |
Find the index in v that corresponds to the last value strictly smaller than x.
If no such value exists, the first value is returned.
This assumes v is sorted and uses a binary search.
T | Type of values to be compared to x. |
v | Vector to be searched. |
x | Upper bound for indexed value. |
Example:
std::vector<int> x = { 0, 2, 4, 6, 8, 10 }; find_index(x, 2)
0
find_index(x, 3)
1
Definition at line 198 of file interpolation.h.
|
inline |
[in] | s | Mandelstam s of the collision [GeV^2] |
[in] | ma | Mass of the first particle [GeV] |
[in] | mb | Mass of the second particle [GeV] |
Definition at line 26 of file kinematics.h.
|
inline |
[in] | s | Mandelstam s of the collision [GeV^2] |
[in] | ma | Mass of the projectile [GeV] |
[in] | mb | Mass of the target [GeV] |
Definition at line 39 of file kinematics.h.
|
noexcept |
[in] | s | Mandelstam s of the process [GeV^2]. |
[in] | mass_a | Mass of first particle [GeV]. |
[in] | mass_b | Mass of second particle [GeV]. |
Definition at line 52 of file kinematics.h.
|
noexcept |
[in] | s | Mandelstam s of the process [GeV^2]. |
[in] | mass_a | Mass of first particle [GeV]. |
[in] | mass_b | Mass of second particle [GeV]. |
Definition at line 66 of file kinematics.h.
|
noexcept |
[in] | sqrts | sqrt(s) of the process [GeV]. |
[in] | mass_a | Mass of first particle [GeV]. |
[in] | mass_b | Mass of second particle [GeV]. |
Definition at line 79 of file kinematics.h.
|
noexcept |
[in] | sqrts | sqrt(s) of the process [GeV]. |
[in] | mass_a | Mass of first particle [GeV]. |
[in] | mass_b | Mass of second particle [GeV]. |
Definition at line 91 of file kinematics.h.
std::array<T, 2> smash::get_t_range | ( | const T | sqrts, |
const T | m1, | ||
const T | m2, | ||
const T | m3, | ||
const T | m4 | ||
) |
Get the range of Mandelstam-t values allowed in a particular 2->2 process, see PDG 2014 booklet, eq.
(46.34).
[in] | sqrts | sqrt(s) of the process [GeV]. |
[in] | m1 | Mass of first incoming particle [GeV]. |
[in] | m2 | Mass of second incoming particle [GeV]. |
[in] | m3 | Mass of first outgoing particle [GeV]. |
[in] | m4 | Mass of second outgoing particle [GeV]. |
Note that both t_min and t_max are negative, with |t_min| < |t_max|, i.e. t_min > t_max.
Definition at line 109 of file kinematics.h.
|
inlinestatic |
Helper function for plab_from_s.
[in] | mandelstam_s | The Mandelstam variable s [GeV^2] |
[in] | m_sum | Sum of masses of target and projectile [GeV] \( m_1 + m_2 \) |
Definition at line 127 of file kinematics.h.
|
inlinestatic |
Helper function for plab_from_s.
[in] | mandelstam_s | The Mandelstam variable s [GeV^2] |
[in] | radicand | \( (s - (m_1 + m_2)^2) * (s - (m_1 - m_2)^2) \) where \( m_1 \) and \( m_2 \) are masses of incoming particles [GeV^4] |
Definition at line 142 of file kinematics.h.
|
inline |
Convert Mandelstam-s to p_lab in a fixed-target collision.
This assumes both particles have the given mass.
[in] | mandelstam_s | The Mandelstam variable s [GeV^2] |
[in] | mass | Mass of projectile and target [GeV] |
Definition at line 157 of file kinematics.h.
|
inline |
Convert Mandelstam-s to p_lab in a fixed-target collision.
This assumes both particles have the mass of a nucleon.
[in] | mandelstam_s | The Mandelstam variable s [GeV^2] |
Definition at line 173 of file kinematics.h.
|
inline |
Convert Mandelstam-s to p_lab in a fixed-target collision.
The mass of the projectile and the mass of the target have to be given.
[in] | mandelstam_s | the Mandelstam variable s [GeV^2] |
[in] | m_projectile | mass of the projectile [GeV] |
[in] | m_target | mass of the target [GeV] |
Definition at line 185 of file kinematics.h.
|
inline |
Convert E_kin to Mandelstam-s for a fixed-target setup, with a projectile of mass m_P and a kinetic energy e_kin and a target of mass m_T at rest.
[in] | e_kin | kinetic energy of the projectile in the lab frame [GeV] |
[in] | m_P | mass of the projectile [GeV] |
[in] | m_T | mass of the target [GeV] |
Definition at line 211 of file kinematics.h.
|
inline |
Convert p_lab to Mandelstam-s for a fixed-target setup, with a projectile of mass m_P and momentum plab and a target of mass m_T at rest.
[in] | plab | Momentum of the projectile in the lab frame [GeV] |
[in] | m_P | Mass of the projectile [GeV] |
[in] | m_T | Mass of the target [GeV] |
Definition at line 224 of file kinematics.h.
std::vector<T> smash::smooth | ( | const std::vector< T > & | x, |
const std::vector< T > & | y, | ||
T | span = 2. / 3 , |
||
size_t | iter = 3 , |
||
T | delta = 0 |
||
) |
Apply the LOWESS smoother (see the reference below) to the given data (x, y).
x | x-values. |
y | y-values. |
span | The smoother span. This gives the proportion of points in the plot which influence the smoothness at each value. Larger values give more smoothness. |
iter | The number of robustifying iterations which should be performed. Using smaller values of iter will make lowess run faster. |
delta | Values of x which lie within delta of each other replaced by a single value in the output from lowess. For delta = 0, delta will be calculated. |
References:
Definition at line 289 of file lowess.h.
bool smash::almost_equal | ( | const N | x, |
const N | y | ||
) |
Checks two numbers for relative approximate equality.
N | Number type. |
x | Left-hand side. |
y | Right-hand side. |
\[|x - y| \stackrel{?}{\le} \delta \mbox{ or } |x - y| \stackrel{?}{\le} \frac{|x| + |y|}{2} \cdot \delta\]
Definition at line 42 of file numerics.h.
bool smash::almost_equal_physics | ( | const N | x, |
const N | y | ||
) |
Same as smash::almost_equal, but for physical checks like energy-momentum conservation small_number is enough precision-wise.
N | Number type. |
x | Left-hand side. |
y | Right-hand side. |
Definition at line 62 of file numerics.h.
double smash::xs_high_energy | ( | double | mandelstam_s, |
bool | is_opposite_charge, | ||
double | ma, | ||
double | mb, | ||
double | P, | ||
double | R1, | ||
double | R2 | ||
) |
total hadronic cross sections at high energies parametrized in the 2016 PDG book(http://pdg.lbl.gov/2016/reviews/rpp2016-rev-cross-section-plots.pdf)
This function is a utility function called from specific parametrizations.
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
[in] | is_opposite_charge | whether the particles being collided have opposite charges |
[in] | ma | mass of first particle [GeV] |
[in] | mb | mass of second particle [GeV] |
[in] | P | Pomeranchuk's constant term [mb] |
[in] | R1 | intensity of the first Regge pole contribution [mb] |
[in] | R2 | intensity of the second Regge pole contribution [mb] |
Definition at line 30 of file parametrizations.cc.
double smash::pp_high_energy | ( | double | mandelstam_s | ) |
pp total cross section at high energies
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 44 of file parametrizations.cc.
double smash::ppbar_high_energy | ( | double | mandelstam_s | ) |
ppbar total cross section at high energies
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 48 of file parametrizations.cc.
double smash::np_high_energy | ( | double | mandelstam_s | ) |
np total cross section at high energies
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 52 of file parametrizations.cc.
double smash::npbar_high_energy | ( | double | mandelstam_s | ) |
npbar total cross section at high energies
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 56 of file parametrizations.cc.
double smash::piplusp_high_energy | ( | double | mandelstam_s | ) |
pi+p total cross section at high energies
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 60 of file parametrizations.cc.
double smash::piminusp_high_energy | ( | double | mandelstam_s | ) |
pi-p total cross section at high energies
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 64 of file parametrizations.cc.
double smash::xs_ppbar_annihilation | ( | double | mandelstam_s | ) |
parametrized cross-section for proton-antiproton annihilation used in the UrQMD model
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 68 of file parametrizations.cc.
double smash::xs_string_hard | ( | double | mandelstam_s, |
double | xs_0, | ||
double | e_0, | ||
double | lambda_pow | ||
) |
Utility function called by specific other parametrizations Parametrized hard scattering cross section (with partonic scattering) This parametrization is a direct fit to cross sections in PYTHIA See Sjostrand:1987su [40].
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
[in] | xs_0 | a fit parameter [mb] |
[in] | e_0 | a fit parameter [GeV] |
[in] | lambda_pow | a fit parameter |
Definition at line 80 of file parametrizations.cc.
double smash::NN_string_hard | ( | double | mandelstam_s | ) |
nucleon-nucleon hard scattering cross section (with partonic scattering)
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 91 of file parametrizations.cc.
double smash::Npi_string_hard | ( | double | mandelstam_s | ) |
nucleon-pion hard scattering cross section (with partonic scattering)
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 95 of file parametrizations.cc.
double smash::pipi_string_hard | ( | double | mandelstam_s | ) |
pion-pion hard scattering cross section (with partonic scattering)
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 99 of file parametrizations.cc.
double smash::piplusp_elastic_high_energy | ( | double | mandelstam_s, |
double | m1, | ||
double | m2 | ||
) |
pi+p elactic cross section parametrization.
Source: GiBUU:parametrizationBarMes_HighEnergy.f90 Elastic contributions from decays are not subtracted, high energy parametrization used at all energies (useful for AQM)
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
[in] | m1 | the mass of the first particle [GeV] |
[in] | m2 | the mass of the second particle [GeV] |
Definition at line 123 of file parametrizations.cc.
double smash::piplusp_elastic_AQM | ( | double | mandelstam_s, |
double | m1, | ||
double | m2 | ||
) |
An overload of piplusp_elastic_high_energy in which the very low part is replaced by a flat 5 mb cross section; used for meson-meson interactions.
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
[in] | m1 | the mass of the first particle [GeV] |
[in] | m2 | the mass of the second particle [GeV] |
Definition at line 130 of file parametrizations.cc.
double smash::piplusp_elastic | ( | double | mandelstam_s | ) |
pi+p elastic cross section parametrization, PDG data.
Source: GiBUU:parametrizationBarMes_HighEnergy.f90
The parametrizations of the elastic pion+nucleon cross sections are still under tuning. The parametrizaton is employed to give a non-zero cross section at high energies. To make sure it doesn't affect the cross section at the low energies, I truncate the parametrization at p_lab = 8 GeV, which correspons to square root of s equal to 4 GeV.
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 140 of file parametrizations.cc.
double smash::piplusp_sigmapluskplus_pdg | ( | double | mandelstam_s | ) |
pi+ p to Sigma+ K+ cross section parametrization, PDG data.
The PDG data is smoothed using the LOWESS algorithm. If more than one cross section was given for one p_lab value, the corresponding cross sections are averaged.
Definition at line 174 of file parametrizations.cc.
double smash::piminusp_elastic | ( | double | mandelstam_s | ) |
pi-p elastic cross section parametrization Source: GiBUU:parametrizationBarMes_HighEnergy.f90
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 209 of file parametrizations.cc.
double smash::piminusp_lambdak0_pdg | ( | double | mandelstam_s | ) |
pi- p -> Lambda K0 cross section parametrization, PDG data.
The PDG data is smoothed using the LOWESS algorithm. If more than one cross section was given for one p_lab value, the corresponding cross sections are averaged.
Definition at line 255 of file parametrizations.cc.
double smash::piminusp_sigmaminuskplus_pdg | ( | double | mandelstam_s | ) |
pi- p -> Sigma- K+ cross section parametrization, PDG data.
The PDG data is smoothed using the LOWESS algorithm. If more than one cross section was given for one p_lab value, the corresponding cross sections are averaged.
Definition at line 275 of file parametrizations.cc.
double smash::piminusp_sigma0k0_res | ( | double | mandelstam_s | ) |
pi- p -> Sigma0 K0 cross section parametrization, resonance contribution.
The data is smoothed using the LOWESS algorithm. If more than one cross section was given for one sqrts value, the corresponding cross sections are averaged.
Definition at line 295 of file parametrizations.cc.
double smash::pp_elastic | ( | double | mandelstam_s | ) |
pp elastic cross section parametrization Source: Weil:2013mya [46], eq.
(44)
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 310 of file parametrizations.cc.
double smash::pp_elastic_high_energy | ( | double | mandelstam_s, |
double | m1, | ||
double | m2 | ||
) |
pp elastic cross section parametrization, with only the high energy part generalized to all energy regimes (used for AQM) Source: Weil:2013mya [46], eq.
(44)
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
[in] | m1 | the mass of the first particle [GeV] |
[in] | m2 | the mass of the second particle [GeV] |
Definition at line 329 of file parametrizations.cc.
double smash::pp_total | ( | double | mandelstam_s | ) |
pp total cross section parametrization Sources: low-p: Cugnon:1996kh [14] highest-p: Buss:2011mx [10]
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 337 of file parametrizations.cc.
double smash::np_elastic | ( | double | mandelstam_s | ) |
np elastic cross section parametrization Source: Weil:2013mya [46], eq.
(45)
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 353 of file parametrizations.cc.
double smash::np_total | ( | double | mandelstam_s | ) |
np total cross section parametrization Sources: low-p: Cugnon:1996kh [14] highest-p: Buss:2011mx [10]
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 372 of file parametrizations.cc.
double smash::ppbar_elastic | ( | double | mandelstam_s | ) |
ppbar elastic cross section parametrization Source: Bass:1998ca [4]
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 388 of file parametrizations.cc.
double smash::ppbar_total | ( | double | mandelstam_s | ) |
ppbar total cross section parametrization Source: Bass:1998ca [4]
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 401 of file parametrizations.cc.
double smash::deuteron_pion_elastic | ( | double | mandelstam_s | ) |
Deuteron pion elastic cross-section [mb] parametrized to fit pi-d elastic scattering data (the data collection was be obtained from SAID data base, gwdac.phys.gwu.edu)
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 414 of file parametrizations.cc.
double smash::deuteron_nucleon_elastic | ( | double | mandelstam_s | ) |
Deuteron nucleon elastic cross-section [mb] parametrized by Oh:2009gx [31].
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 419 of file parametrizations.cc.
double smash::kplusp_elastic_background | ( | double | mandelstam_s | ) |
K+ p elastic background cross section parametrization.
sigma(K+n->K+n) = sigma(K+n->K0p) = 0.5 * sigma(K+p->K+p) Source: Buss:2011mx [10], B.3.8
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 425 of file parametrizations.cc.
double smash::kplusn_elastic_background | ( | double | mandelstam_s | ) |
K+ n elastic background cross section parametrization sigma(K+n->K+n) = sigma(K+n->K0p) = 0.5 * sigma(K+p->K+p) Source: Buss:2011mx [10], B.3.8.
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 438 of file parametrizations.cc.
double smash::kplusn_k0p | ( | double | mandelstam_s | ) |
K+ n charge exchange cross section parametrization.
sigma(K+n->K+n) = sigma(K+n->K0p) = 0.5 * sigma(K+p->K+p) Source: Buss:2011mx [10], B.3.8
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 442 of file parametrizations.cc.
double smash::kminusp_elastic_background | ( | double | mandelstam_s | ) |
K- p elastic background cross section parametrization Source: Buss:2011mx [10], B.3.9.
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 466 of file parametrizations.cc.
double smash::kminusn_elastic_background | ( | double | mandelstam_s | ) |
K- n elastic background cross section parametrization Source: Buss:2011mx [10], B.3.9.
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 510 of file parametrizations.cc.
double smash::k0p_elastic_background | ( | double | mandelstam_s | ) |
K0 p elastic background cross section parametrization Source: Buss:2011mx [10], B.3.9.
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 512 of file parametrizations.cc.
double smash::k0n_elastic_background | ( | double | mandelstam_s | ) |
K0 n elastic background cross section parametrization Source: Buss:2011mx [10], B.3.9.
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 517 of file parametrizations.cc.
double smash::kbar0p_elastic_background | ( | double | mandelstam_s | ) |
Kbar0 p elastic background cross section parametrization Source: Buss:2011mx [10], B.3.9.
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 522 of file parametrizations.cc.
double smash::kbar0n_elastic_background | ( | double | mandelstam_s | ) |
Kbar0 n elastic background cross section parametrization Source: Buss:2011mx [10], B.3.9.
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 527 of file parametrizations.cc.
double smash::kplusp_inelastic_background | ( | double | mandelstam_s | ) |
K+ p inelastic background cross section parametrization Source: Buss:2011mx [10], B.3.8.
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 532 of file parametrizations.cc.
double smash::kplusn_inelastic_background | ( | double | mandelstam_s | ) |
K+ n inelastic background cross section parametrization Source: Buss:2011mx [10], B.3.8.
This interpolates the experimental data of the total cross section and subtracts the elastic and charge exchange cross section.
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 548 of file parametrizations.cc.
double smash::kminusp_kbar0n | ( | double | mandelstam_s | ) |
K- p <-> Kbar0 n cross section parametrization.
Source: Buss:2011mx [10], B.3.9
[in] | mandelstam_s | the rest frame total energy squared [GeV^2] |
Definition at line 670 of file parametrizations.cc.
double smash::kminusp_piminussigmaplus | ( | double | sqrts | ) |
K- p <-> pi- Sigma+ cross section parametrization Taken from UrQMD (Graef:2014mra [19]).
[in] | sqrts | the rest frame total energy [GeV] |
Definition at line 683 of file parametrizations.cc.
double smash::kminusp_piplussigmaminus | ( | double | sqrts | ) |
K- p <-> pi+ Sigma- cross section parametrization Taken from UrQMD (Graef:2014mra [19]).
[in] | sqrts | the rest frame total energy [GeV] |
Definition at line 687 of file parametrizations.cc.
double smash::kminusp_pi0sigma0 | ( | double | sqrts | ) |
K- p <-> pi0 Sigma0 cross section parametrization Fit to Landolt-Börnstein instead of UrQMD values.
[in] | sqrts | the rest frame total energy [GeV] |
Definition at line 691 of file parametrizations.cc.
double smash::kminusp_pi0lambda | ( | double | sqrts | ) |
K- p <-> pi0 Lambda cross section parametrization Fit to Landolt-Börnstein instead of UrQMD values.
[in] | sqrts | the rest frame total energy [GeV] |
Definition at line 695 of file parametrizations.cc.
double smash::kminusn_piminussigma0 | ( | double | sqrts | ) |
K- n <-> pi- Sigma0 cross section parametrization Follow from the parametrization with the same strange product via isospin symmetry.
[in] | sqrts | the rest frame total energy [GeV] |
Definition at line 699 of file parametrizations.cc.
double smash::kminusn_pi0sigmaminus | ( | double | sqrts | ) |
K- n <-> pi0 Sigma- cross section parametrization Follow from the parametrization with the same strange product via isospin symmetry.
[in] | sqrts | the rest frame total energy [GeV] |
double smash::kminusn_piminuslambda | ( | double | sqrts | ) |
K- n <-> pi- Lambda cross section parametrization Follow from the parametrization with the same strange product via isospin symmetry.
[in] | sqrts | the rest frame total energy [GeV] |
Definition at line 704 of file parametrizations.cc.
double smash::lambdalambda_ximinusp | ( | double | sqrts_sqrts0, |
double | p_N, | ||
double | p_lambda | ||
) |
Lambda Lambda <-> Xi- p cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]).
[in] | sqrts_sqrts0 | the rest frame total energy minus threshold energy [GeV] |
[in] | p_N | momentum of outgoing nucleon in center of mass frame [GeV] |
[in] | p_lambda | momentum of incoming lambda in center of mass frame [GeV] |
Definition at line 710 of file parametrizations.cc.
double smash::lambdalambda_xi0n | ( | double | sqrts_sqrts0, |
double | p_N, | ||
double | p_lambda | ||
) |
Lambda Lambda <-> Xi0 n cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]).
[in] | sqrts_sqrts0 | the rest frame total energy minus threshold energy [GeV] |
[in] | p_N | momentum of outgoing nucleon in center of mass frame [GeV] |
[in] | p_lambda | momentum of incoming lambda in center of mass frame [GeV] |
Definition at line 716 of file parametrizations.cc.
double smash::lambdasigmaplus_xi0p | ( | double | sqrts_sqrts0 | ) |
Lambda Sigma+ <-> Xi0 p cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]).
[in] | sqrts_sqrts0 | the rest frame total energy minus threshold energy [GeV] |
Definition at line 720 of file parametrizations.cc.
double smash::lambdasigmaminus_ximinusn | ( | double | sqrts_sqrts0 | ) |
Lambda Sigma- <-> Xi- n cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]).
[in] | sqrts_sqrts0 | the rest frame total energy minus threshold energy [GeV] |
Definition at line 725 of file parametrizations.cc.
double smash::lambdasigma0_ximinusp | ( | double | sqrts_sqrts0 | ) |
Lambda Sigma0 <-> Xi- p cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]).
[in] | sqrts_sqrts0 | the rest frame total energy minus threshold energy [GeV] |
Definition at line 729 of file parametrizations.cc.
double smash::lambdasigma0_xi0n | ( | double | sqrts_sqrts0 | ) |
Lambda Sigma0 <-> Xi0 n cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]).
[in] | sqrts_sqrts0 | the rest frame total energy minus threshold energy [GeV] |
Definition at line 738 of file parametrizations.cc.
double smash::sigma0sigma0_ximinusp | ( | double | sqrts_sqrts0 | ) |
Sigma0 Sigma0 <-> Xi- p cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]).
[in] | sqrts_sqrts0 | the rest frame total energy minus threshold energy [GeV] |
Definition at line 742 of file parametrizations.cc.
double smash::sigma0sigma0_xi0n | ( | double | sqrts_sqrts0 | ) |
Sigma0 Sigma0 <-> Xi0 n cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]).
Note that there is a typo in the paper in equation (6): "Lambda Sigma0 -> Xi0 n" should be "Sigma0 Sigma0 -> Xi0 n".
[in] | sqrts_sqrts0 | the rest frame total energy minus threshold energy [GeV] |
Definition at line 751 of file parametrizations.cc.
double smash::sigmaplussigmaminus_xi0p | ( | double | sqrts_sqrts0 | ) |
Sigma+ Sigma- <-> Xi0 p cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]).
[in] | sqrts_sqrts0 | the rest frame total energy minus threshold energy [GeV] |
Definition at line 755 of file parametrizations.cc.
double smash::sigma0sigmaminus_ximinusn | ( | double | sqrts_sqrts0 | ) |
Sigma0 Sigma- <-> Xi- n cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]).
[in] | sqrts_sqrts0 | the rest frame total energy minus threshold energy [GeV] |
Definition at line 759 of file parametrizations.cc.
double smash::sigmaplussigmaminus_ximinusp | ( | double | sqrts_sqrts0 | ) |
Sigma+ Sigma- <-> Xi- p cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]).
[in] | sqrts_sqrts0 | the rest frame total energy minus threshold energy [GeV] |
Definition at line 763 of file parametrizations.cc.
double smash::sigmaplussigmaminus_xi0n | ( | double | sqrts_sqrts0 | ) |
Sigma+ Sigma- <-> Xi0 n cross section parametrization Two hyperon exchange, based on effective model by Feng Li, as in UrQMD (Graef:2014mra [19]).
[in] | sqrts_sqrts0 | the rest frame total energy minus threshold energy [GeV] |
Definition at line 767 of file parametrizations.cc.
x | Left-hand parity |
y | Right-hand parity |
x
and y
. Definition at line 62 of file particletype.h.
x | Left-hand parity |
y | Right-hand parity |
x
and y
. Definition at line 75 of file particletype.h.
std::istream & smash::operator>> | ( | std::istream & | is, |
PdgCode & | code | ||
) |
Sets the PDG code from the textual representation in the input stream.
istream >> PdgCode assigns the PDG Code from an istream.
[in] | is | input string |
[out] | code | PdgCode to be set |
Definition at line 14 of file pdgcode.cc.
|
constexpr |
Pack two int32_t into an uint64_t.
This is useful for switch statements on pairs.
x | First integer to be packed. |
y | Second integer to be packed. |
Definition at line 107 of file pdgcode_constants.h.
|
inlineconstexpr |
|
inlineconstexpr |
Efficient template for calculating the square.
T | Type that implements multiplication. |
[in] | base | value that gets squared |
Definition at line 38 of file pow.h.
bool smash::is_string_soft_process | ( | ProcessType | p | ) |
Check if a given process type is a soft string excitation.
[in] | p | The process type |
Definition at line 18 of file processbranch.cc.
double smash::calc_hubble | ( | double | time, |
const ExpansionProperties & | metric | ||
) |
Calculate the Hubble parameter \(H(t)\), which describes how large the expansion flow is.
The flow \(\vec v=H(t) \vec x\) Tindall:2016try [44]
[in] | time | time in the computational frame. [fm] |
[in] | metric | Struct containing the parameters needed to calculate the metric. |
Definition at line 21 of file propagation.cc.
double smash::propagate_straight_line | ( | Particles * | particles, |
double | to_time, | ||
const std::vector< FourVector > & | beam_momentum | ||
) |
Propagates the positions of all particles on a straight line to a given moment.
For each particle, the position is shifted:
\[ \vec x^\prime = \vec x + \vec v \Delta t \]
where \(\vec x\) is the current position, \(\vec v\) its velocity and \(\Delta t\) the duration of this timestep.
[out] | particles | The particle list in the event |
[in] | to_time | final time [fm] |
[in] | beam_momentum | This vector of 4-momenta should have non-zero size only if "frozen Fermi motion" is on. The the Fermi momenta are only used for collisions, but not for propagation. In this case beam_momentum is used for propagating the initial nucleons. [GeV] |
Definition at line 44 of file propagation.cc.
void smash::expand_space_time | ( | Particles * | particles, |
const ExperimentParameters & | parameters, | ||
const ExpansionProperties & | metric | ||
) |
Modifies positions and momentum of all particles to account for space-time deformation.
[out] | particles | All the particles in the event |
[in] | parameters | A struct containing the parameters from which we extract the time in the computational frame. |
[in] | metric | A struct containing the parameters need to calculate the metric |
Definition at line 86 of file propagation.cc.
void smash::update_momenta | ( | Particles * | particles, |
double | dt, | ||
const Potentials & | pot, | ||
RectangularLattice< std::pair< ThreeVector, ThreeVector >> * | FB_lat, | ||
RectangularLattice< std::pair< ThreeVector, ThreeVector >> * | FI3_lat | ||
) |
Updates the momenta of all particles at the current time step according to the equations of motion:
\[ \frac{dp}{dt} = \vec E + \vec v \times \vec B \]
[out] | particles | The particle list in the event |
[in] | dt | timestep |
[in] | pot | The potentials in the system |
[in] | FB_lat | Lattice for the electric and magnetic components of the Skyrme force |
[in] | FI3_lat | Lattice for the electric and magnetic components of the symmetry force |
Definition at line 111 of file propagation.cc.
std::pair< std::string, std::string > smash::load_particles_and_decaymodes | ( | const char * | particles_file, |
const char * | decaymodes_file | ||
) |
Loads particles and decaymodes from provided files particles_file and decaymodes_file.
In case if particles_file or decaymodes_file are nullptr, the defaults are taken
[in] | particles_file | a file containing particles list. See Particles. |
[in] | decaymodes_file | a file containing decay modes of the resonances. See Decay Modes. |
Definition at line 31 of file setup_particles_decaymodes.cc.
void smash::load_default_particles_and_decaymodes | ( | ) |
Loads default smash particle list and decaymodes.
Definition at line 72 of file setup_particles_decaymodes.cc.
std::string smash::trim | ( | const std::string & | s | ) |
Strip leading and trailing whitespaces.
s | String to be trimmed. |
Definition at line 75 of file stringfunctions.cc.
void smash::remove_substr | ( | std::string & | s, |
const std::string & | p | ||
) |
Remove all instances of a substring p in a string s.
[in,out] | s | String to be searched and modified. |
[in] | p | Substring to be removed. |
Definition at line 84 of file stringfunctions.cc.
void smash::isoclean | ( | std::string & | s | ) |
Remove ⁺, ⁻, ⁰ from string.
[in,out] | s | String to be cleaned. |
Definition at line 92 of file stringfunctions.cc.
std::vector< std::string > smash::split | ( | const std::string & | s, |
char | delim | ||
) |
Split string by delimiter.
[in] | s | String to be split. |
[in] | delim | Splitting delimiter. |
Definition at line 120 of file stringfunctions.cc.
|
inline |
Spectral function integrand for GSL integration, with one resonance in the final state (the second particle is stable).
The integrand is \( A(m) p_{cm}^f \), where \( m \) is the resonance mass, \( A(m) \) is the spectral function and \( p_{cm}^f \) is the center-of-mass momentum of the final state.
[in] | resonance_mass | Actual mass of the resonance [GeV]. |
[in] | sqrts | Center-of-mass Energy, i.e. sqrt of Mandelstam s [GeV]. |
[in] | stable_mass | Mass of the stable particle in the final state [GeV]. |
[in] | type | Type of the resonance. |
Definition at line 136 of file tabulation.h.
|
inline |
Spectral function integrand for GSL integration, with two resonances in the final state.
The integrand is \( A_1(m_1) A_2(m_2) p_{cm}^f \), where \( m_1 \) and \( m_2 \) are the resonance masses, \( A_1 \) and \( A_2 \) are the spectral functions and \( p_{cm}^f \) is the center-of-mass momentum of the final state.
[in] | sqrts | Center-of-mass energy, i.e. sqrt of Mandelstam s [GeV]. |
[in] | res_mass_1 | Actual mass of the first resonance [GeV]. |
[in] | res_mass_2 | Actual mass of the second resonance [GeV]. |
[in] | t1 | Type of the first resonance. |
[in] | t2 | Type of the second resonance. |
Definition at line 165 of file tabulation.h.
|
inline |
Create a table for the spectral integral of a resonance and a stable particle.
[in,out] | integrate | Numerical integrator. |
[in] | resonance | Type of the resonance particle. |
[in] | stable | Type of the stable particle. |
[in] | range | Distance between tabulation points [GeV]. |
Definition at line 189 of file tabulation.h.
|
inline |
Create a table for the spectral integral of two resonances.
[in,out] | integrate2d | Numerical integrator. |
[in] | res1 | Type of the first resonance particle. |
[in] | res2 | Type of the second resonance particle. |
[in] | range | Distance between tabulation points [GeV]. |
Definition at line 211 of file tabulation.h.
|
inline |
Definition at line 190 of file threevector.h.
|
inline |
Definition at line 203 of file threevector.h.
|
inline |
multiply a three-vector by constant factor \( b \vec{a} \).
Definition at line 216 of file threevector.h.
|
inline |
multiply a three-vector by constant factor \( a \vec{b} \).
Definition at line 222 of file threevector.h.
|
inline |
Definition at line 231 of file threevector.h.
|
inline |
divide a three-vector by constant factor \( \vec{a} / b \).
Definition at line 254 of file threevector.h.
std::ostream & smash::operator<< | ( | std::ostream & | out, |
const TimeStampCounter & | tsc | ||
) |
std::ostream& smash::operator<< | ( | std::ostream & | out, |
const BoxModus & | m | ||
) |
Console output on startup of box specific parameters; writes the initial state for the box to the output stream.
[in] | out | The ostream into which to output |
[in] | m | The BoxModus object to write into out |
Definition at line 38 of file boxmodus.cc.
|
static |
Calculate isospin Clebsch-Gordan coefficient for two particles p_a and p_b coupling to a total isospin.
[in] | p_a | Information of particle type for first particle |
[in] | p_b | Information of particle type for second particle |
[out] | I_tot | Total isospin of the reaction |
[out] | I_z | Total isospin 3 component of the reaction |
Definition at line 44 of file clebschgordan.cc.
std::ostream& smash::operator<< | ( | std::ostream & | out, |
const ColliderModus & | m | ||
) |
Writes the initial state for the ColliderModus to the output stream.
[in] | out | The ostream into which to output |
[in] | m | The ColliderModus object to write into out |
Definition at line 441 of file collidermodus.cc.
|
static |
Helper function: Calculate the detailed balance factor R such that.
\[ R = \sigma(AB \to CD) / \sigma(CD \to AB) \]
where \( A, B, C, D \) are stable.
Definition at line 30 of file crosssections.cc.
|
static |
Helper function: Calculate the detailed balance factor R such that.
\[ R = \sigma(AB \to CD) / \sigma(CD \to AB) \]
where \(A\) is unstable, \(B\) is a kaon and \(C, D\) are stable.
Definition at line 49 of file crosssections.cc.
|
static |
Helper function: Calculate the detailed balance factor R such that.
\[ R = \sigma(AB \to CD) / \sigma(CD \to AB) \]
where \(A\) and \(B\) are unstable, and \(C\) and \(D\) are stable.
Definition at line 72 of file crosssections.cc.
|
static |
Helper function: Append a list of processes to another (main) list of processes.
Definition at line 93 of file crosssections.cc.
|
static |
Helper function: Sum all cross sections of the given process list.
Definition at line 106 of file crosssections.cc.
|
static |
|
static |
Definition at line 149 of file decaymodes.cc.
|
static |
Definition at line 25 of file decaytype.cc.
|
static |
Definition at line 39 of file decaytype.cc.
|
static |
Rearrange the particle list such that the first particle is the stable one.
[in,out] | part_types | Particle list to be rearranged. |
Definition at line 113 of file decaytype.cc.
|
static |
sort the particle list
Definition at line 273 of file decaytype.cc.
std::tuple<double, FourVector, ThreeVector, ThreeVector, ThreeVector> smash::current_eckart_impl | ( | const ThreeVector & | r, |
const T & | plist, | ||
const DensityParameters & | par, | ||
DensityType | dens_type, | ||
bool | compute_gradient, | ||
bool | smearing | ||
) |
Calculates Eckart rest frame density and 4-current of a given density type and optionally the gradient of the density in an arbitary frame, the curl of the 3-current and the time derivative of the 3-current.
\[j^{\mu} = (\sqrt{2\pi} \sigma )^{-3} \sum_{i=1}^N C_i u^{\mu}_i exp \left(- \frac{(\vec r -\vec r_i + \frac{\gamma_i^2}{1 + \gamma_i} \vec \beta_i (\vec \beta_i, \vec r - \vec r_i))^2}{2\sigma^2} \right)\]
\[ \rho^{Eckart} = \sqrt{j^{\mu} j_{\mu}} \]
Here \( C_i \) is a corresponding value of "charge". If baryon current option is selected then \( C_i \) is 1 for baryons, -1 for antibaryons and 0 otherwise. For proton/neutron current \( C_i = 1\) for proton/neutron and 0 otherwise.
To avoid the problems with Eckart frame definition, densities for positive and negative charges, \(\rho_+ \) and \( \rho_-\), are computed separately and final density is \(\rho_+ - \rho_-\).
[in] | r | Arbitrary space point where 4-current is calculated [fm]; ignored if smearing is false |
[in] | plist | List of all particles to be used in \(j^{\mu}\) calculation. If smearing is false or if the distance between particle and calculation point r, \( |r-r_i| > r_{cut} \) then particle input to density will be ignored. |
Next four values are taken from ExperimentalParameters structure:
[in] | par | Set of parameters packed in one structure. From them the cutting radius r_cut \( r_{cut} / \sigma \), number of test-particles ntest and the gaussian width gs_sigma are needed. |
[in] | dens_type | type of four-currect to be calculated: baryon, proton or neutron options are currently available |
[in] | compute_gradient | true - compute gradient, false - no |
[in] | smearing | whether to use gaussian smearing or not. If false, this parameter will use ALL particles equally to calculate the current, and that as such it will not be normalized wrt volume. This should be true for any internal calculation of any quantity and only makes sense to turn off for output purposes in a box. |
Definition at line 67 of file density.cc.
|
static |
Helper function for IsoParticleType::try_find and friends.
Definition at line 46 of file isoparticletype.cc.
|
static |
Construct the name-string for an isospin multiplet from the given name-string for the particle.
[in] | name | name-string of the particle |
Definition at line 91 of file isoparticletype.cc.
|
static |
|
inline |
Definition at line 227 of file isoparticletype.cc.
std::ostream& smash::operator<< | ( | std::ostream & | out, |
const ListModus & | m | ||
) |
Writes the initial state for the List to the output stream.
[in] | out | The ostream into which to output |
[in] | m | The ListModus object to write into out |
Definition at line 135 of file listmodus.cc.
|
constexpr |
Recursively find the longest logger name at compile time.
Beginning of the recursion.
index | Recursion index. |
stop | Stopping index. |
Definition at line 53 of file logging.cc.
|
constexpr |
Recursively find the longest logger name at compile time.
All cases except for the beginning of the recursion.
index | Recursion index. |
stop | Stopping index. |
mid | Middle index. |
Definition at line 72 of file logging.cc.
|
inline |
Recurse over the log areas in the LogArea::AreaTuple type. Do nothing here to end the recursion (see also below).
Definition at line 85 of file logging.cc.
|
inline |
Recurse over the log areas in the LogArea::AreaTuple type. (The recursion is ended via the overload above.)
For every entry in the list the corresponding Logger object in logg is set up with area name and verbosity.
index | Recursion index. |
longest_name | Length of longest log area name. |
[in,out] | config | Configuration object. |
Definition at line 102 of file logging.cc.
std::ostream& smash::operator<< | ( | std::ostream & | out, |
const Nucleus & | n | ||
) |
Writes the state of the Nucleus object to the output stream.
Definition at line 513 of file nucleus.cc.
|
static |
Definition at line 108 of file parametrizations.cc.
|
static |
Definition at line 194 of file parametrizations.cc.
|
static |
Definition at line 451 of file parametrizations.cc.
|
static |
Calculate and store isospin ratios for K N -> K Delta reactions.
See the documentation of KaonNucleonRatios
for details.
[in] | ratios | An empty map where the ratios for K N -> K Delta reactions are stored. |
Definition at line 573 of file parametrizations.cc.
std::ostream& smash::operator<< | ( | std::ostream & | out, |
const Particles & | particles | ||
) |
Print effective mass and type name for all particles to the stream.
[in] | out | The ostream into which to output |
[in] | particles | The Particles object to write into out |
Definition at line 148 of file particles.cc.
|
static |
Construct an antiparticle name-string from the given name-string for the particle and its PDG code.
[in] | name | the name-string of the particle to convert |
[in] | code | the pdgcode of the particle to convert |
Definition at line 149 of file particletype.cc.
|
static |
Construct a charge string, given the charge as integer.
[in] | charge | charge of a particle |
runtime_error | if the charge is not an integer between -2 and 2 |
Definition at line 188 of file particletype.cc.
std::ostream& smash::operator<< | ( | std::ostream & | out, |
const ParticleType & | type | ||
) |
Writes all information about the particle type to the output stream.
[out] | out | The ostream into which to output |
[in] | type | The ParticleType object to write into out |
Definition at line 768 of file particletype.cc.
|
static |
Computes the B coefficients from the Cugnon parametrization of the angular distribution in elastic pp scattering.
See equation (8) in Cugnon:1996kh [14]. Note: The original Cugnon parametrization is only applicable for plab < 6 GeV and keeps rising above that. We add an upper limit of b <= 9, in order to be compatible with high-energy data (up to plab ~ 25 GeV).
[in] | plab | Lab momentum in GeV. |
Definition at line 218 of file scatteraction.cc.
|
static |
Computes the B coefficients from the Cugnon parametrization of the angular distribution in elastic np scattering.
See equation (10) in Cugnon:1996kh [14].
[in] | plab | Lab momentum in GeV. |
Definition at line 237 of file scatteraction.cc.
|
static |
Deduplicate the final-state cross sections by summing.
[in,out] | final_state_xs | Final-state cross sections. |
Definition at line 849 of file scatteractionsfinder.cc.
std::ostream& smash::operator<< | ( | std::ostream & | out, |
const SphereModus & | m | ||
) |
Writes the initial state for the Sphere to the output stream.
[in] | out | The ostream into which to output |
[in] | m | The SphereModus object to write into out |
Definition at line 189 of file spheremodus.cc.
void smash::split | ( | const std::string & | s, |
char | delim, | ||
Out | result | ||
) |
Split string by delimiter.
[in] | s | String to be split. |
[in] | delim | Splitting delimiter. |
[out] | result | Split string as iterator. |
Necessary for the next function
Definition at line 111 of file stringfunctions.cc.
|
static |
Write binary representation to stream.
stream | Output stream. |
x | Value to be written. |
Definition at line 62 of file tabulation.cc.
|
static |
Read binary representation of a double.
[in] | stream | Input stream. |
Definition at line 72 of file tabulation.cc.
|
static |
Write binary representation to stream.
stream | Output stream. |
x | Value to be written. |
Definition at line 84 of file tabulation.cc.
|
static |
Read binary representation of a size_t.
[in] | stream | Input stream. |
Definition at line 98 of file tabulation.cc.
|
static |
Write binary representation to stream.
stream | Output stream. |
x | Value to be written. |
Definition at line 113 of file tabulation.cc.
|
static |
Read binary representation of a vector of doubles.
[in] | stream | Input stream. |
Definition at line 127 of file tabulation.cc.
|
static |
Write binary representation to stream.
stream | Output stream. |
x | Value to be written. |
Definition at line 141 of file tabulation.cc.
|
static |
Read binary representation of a SHA256 hash.
[in] | stream | Input stream. |
Definition at line 153 of file tabulation.cc.
|
staticconstexpr |
|
staticconstexpr |
|
constexpr |
GeV <-> fm conversion factor.
Definition at line 25 of file constants.h.
|
constexpr |
mb <-> fm^2 conversion factor.
Definition at line 28 of file constants.h.
GeV^-2 <-> mb conversion factor.
Definition at line 31 of file constants.h.
|
constexpr |
MeV to GeV conversion factor.
Definition at line 34 of file constants.h.
|
constexpr |
Numerical error tolerance.
Definition at line 37 of file constants.h.
|
constexpr |
\( 2\pi \).
Definition at line 42 of file constants.h.
|
constexpr |
Ground state density of symmetric nuclear matter [fm^-3].
Definition at line 45 of file constants.h.
|
constexpr |
Physical error tolerance.
Definition at line 48 of file constants.h.
|
constexpr |
Nucleon mass in GeV.
Note that this should be the same as in particles.txt.
Definition at line 55 of file constants.h.
|
constexpr |
Pion mass in GeV.
Note that this should be the same as in particles.txt.
Definition at line 62 of file constants.h.
|
constexpr |
Kaon mass in GeV.
Note that this should be the same as in particles.txt.
Definition at line 69 of file constants.h.
|
constexpr |
omega mass in GeV.
Note that this should be the same as in particles.txt.
Definition at line 76 of file constants.h.
|
constexpr |
a1 mass in GeV.
Note that this should be the same as in particles.txt.
Definition at line 83 of file constants.h.
|
constexpr |
Delta mass in GeV.
Note that this should be the same as in particles.txt.
Definition at line 89 of file constants.h.
|
constexpr |
Deuteron mass in GeV.
Note that this should be the same as in particles.txt.
Definition at line 95 of file constants.h.
|
constexpr |
Fine-struture constant, approximately 1/137.
Definition at line 98 of file constants.h.
|
constexpr |
The maximal cross section (in mb) for which it is guaranteed that all collisions with this cross section will be found.
This means that all particle pairs, where the transverse distance is smaller or equal to \( \sqrt{200mb/\pi} \), will be checked for collions.
This maximum occurs in the Delta peak of the pi+p cross section. The only exception of physical cross sections going above 200 mb are the elastic NN and KN cross sections, which diverge at threshold.
Definition at line 111 of file constants.h.
|
constexpr |
The maximum value of the random seed used in PYTHIA.
Definition at line 116 of file constants.h.
|
constexpr |
Energy in GeV, below which hard reactions via pythia are impossible.
This constraint is technical and comes from the pythia model itself. At the same time, physics-wise, hard cross-sections at the low energies are so small, that this constrant is well justified.
Definition at line 124 of file constants.h.
|
constexpr |
Process ID for any photon process.
It is chosen such that it will not conflict with any other process.
Definition at line 131 of file constants.h.
const std::initializer_list<double> smash::BREMS_SQRTS |
Center-of-mass energy.
Definition at line 23 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_K |
photon momentum
Definition at line 41 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_THETA |
theta angle with respect to collision axis of incoming pions
Definition at line 61 of file crosssectionsbrems.h.
|
static |
Definition at line 80 of file crosssectionsbrems.h.
|
static |
Definition at line 82 of file crosssectionsbrems.h.
|
static |
Definition at line 84 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_PIPI_PIPI_OPP_SIG |
Total π+- + π-+ -> π+- + π-+ + γ cross section.
Definition at line 88 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_PIPI_PIPI_OPP_DIFF_SIG_K |
dSigma/dk for π+- + π-+ -> π+- + π-+ + γ
Definition at line 120 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_PIPI_PIPI_OPP_DIFF_SIG_THETA |
dSigma/dtheta for π+- + π-+ -> π+- + π-+ + γ
Definition at line 2552 of file crosssectionsbrems.h.
|
static |
Definition at line 4826 of file crosssectionsbrems.h.
|
static |
Definition at line 4828 of file crosssectionsbrems.h.
|
static |
Definition at line 4830 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_PIPI_PIPI_SAME_SIG |
Total π+ + π+ -> π+ + π+ + γ or π- + π- -> π- + π- + γ cross section.
Definition at line 4834 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_PIPI_PIPI_SAME_DIFF_SIG_K |
dSigma/dk for π+ + π+ -> π+ + π+ + γ or π- + π- -> π- + π- + γ
Definition at line 4866 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_PIPI_PIPI_SAME_DIFF_SIG_THETA |
dSigma/dtheta for π+ + π+ -> π+ + π+ + γ or π- + π- -> π- + π- + γ
Definition at line 7703 of file crosssectionsbrems.h.
|
static |
Definition at line 10429 of file crosssectionsbrems.h.
|
static |
Definition at line 10431 of file crosssectionsbrems.h.
|
static |
Definition at line 10433 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_PIPI0_PIPI0_SIG |
Total π0 + π -> π0 + π + γ cross section.
Definition at line 10437 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_PIPI0_PIPI0_DIFF_SIG_K |
dSigma/dk for π0 + π -> π0 + π + γ
Definition at line 10469 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_PIPI0_PIPI0_DIFF_SIG_THETA |
dSigma/dtheta for π0 + π -> π0 + π + γ
Definition at line 13306 of file crosssectionsbrems.h.
|
static |
Definition at line 16032 of file crosssectionsbrems.h.
|
static |
Definition at line 16034 of file crosssectionsbrems.h.
|
static |
Definition at line 16036 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_PIPI_PI0PI0_SIG |
Total π+- + π-+ -> π0 + π0 + γ cross section.
Definition at line 16040 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_PIPI_PI0PI0_DIFF_SIG_K |
dSigma/dk for π+- + π-+ -> π0 + π0 + γ
Definition at line 16068 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_PIPI_PI0PI0_DIFF_SIG_THETA |
dSigma/dtheta for π+- + π-+ -> π0 + π0 + γ
Definition at line 18500 of file crosssectionsbrems.h.
|
static |
Definition at line 21226 of file crosssectionsbrems.h.
|
static |
Definition at line 21228 of file crosssectionsbrems.h.
|
static |
Definition at line 21230 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_PI0PI0_PIPI_SIG |
Total π0 + π0 -> π+- + π-+ + γ cross section.
Definition at line 21234 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_PI0PI0_PIPI_DIFF_SIG_K |
dSigma/dk for π0 + π0 -> π+- + π-+ + γ
Definition at line 21262 of file crosssectionsbrems.h.
const std::initializer_list<double> smash::BREMS_PI0PI0_PIPI_DIFF_SIG_THETA |
dSigma/dtheta for π0 + π0 -> π+- + π-+ + γ
Definition at line 23694 of file crosssectionsbrems.h.
|
staticconstexpr |
|
staticconstexpr |
Definition at line 77 of file experiment.h.
|
staticconstexpr |
Definition at line 78 of file experiment.h.
|
staticconstexpr |
|
staticconstexpr |
Definition at line 19 of file outputparameters.h.
KaonNucleonRatios smash::kaon_nucleon_ratios |
Definition at line 668 of file parametrizations.cc.
const std::initializer_list<double> smash::KMINUSP_ELASTIC_P_LAB |
PDG data on K- p elastic cross section: momentum in lab frame.
Definition at line 20 of file parametrizations_data.h.
const std::initializer_list<double> smash::KMINUSP_ELASTIC_SIG |
PDG data on K- p elastic cross section: cross section.
Definition at line 68 of file parametrizations_data.h.
|
static |
An interpolation that gets lazily filled using the KMINUSP_ELASTIC data.
Definition at line 107 of file parametrizations_data.h.
const std::initializer_list<double> smash::KMINUSP_TOT_PLAB |
PDG data on K- p total cross section: momentum in lab frame.
Definition at line 110 of file parametrizations_data.h.
const std::initializer_list<double> smash::KMINUSP_TOT_SIG |
PDG data on K- p total cross section: cross section.
Definition at line 165 of file parametrizations_data.h.
const std::initializer_list<double> smash::KMINUSP_RES_SQRTS |
Center-of-mass energy list for K̅⁻ N⁺
Definition at line 210 of file parametrizations_data.h.
const std::initializer_list<double> smash::KMINUSP_RES_SIG |
Elastic K̅⁻ N⁺ cross section contributions from decays.
These need to be subtracted from the interpolation of the PDG data on elastic cross sections. This data was generated using the SMASH analysis suite and should be updated when strange resonances are changed or added.
Definition at line 226 of file parametrizations_data.h.
|
static |
An interpolation that gets lazily filled using the KMINUSP_RES data.
Definition at line 244 of file parametrizations_data.h.
const std::initializer_list<double> smash::KPLUSN_TOT_PLAB |
PDG data on K+ n total cross section: momentum in lab frame.
One data point is ignored because it is an outlier and messes up the smoothing.
Definition at line 252 of file parametrizations_data.h.
const std::initializer_list<double> smash::KPLUSN_TOT_SIG |
PDG data on K+ n total cross section: cross section.
One data point is ignored because it is an outlier and messes up the smoothing.
Definition at line 273 of file parametrizations_data.h.
|
static |
An interpolation that gets lazily filled using the KPLUSN_TOT data.
Definition at line 288 of file parametrizations_data.h.
const std::initializer_list<double> smash::KPLUSP_TOT_PLAB |
PDG data on K+ p total cross section: momentum in lab frame.
Definition at line 291 of file parametrizations_data.h.
const std::initializer_list<double> smash::KPLUSP_TOT_SIG |
PDG data on K+ p total cross section: cross section.
Definition at line 320 of file parametrizations_data.h.
|
static |
An interpolation that gets lazily filled using the KPLUSP_TOT data.
Definition at line 343 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIMINUSP_ELASTIC_P_LAB |
PDG data on pi- p elastic cross section: momentum in lab frame.
Definition at line 346 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIMINUSP_ELASTIC_SIG |
PDG data on pi- p elastic cross section: cross section.
Definition at line 365 of file parametrizations_data.h.
|
static |
An interpolation that gets lazily filled using the PIMINUSP_ELASTIC data.
Definition at line 384 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIMINUSP_LAMBDAK0_P_LAB |
PDG data on pi- p to Lambda K0 cross section: momentum in lab frame.
Definition at line 387 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIMINUSP_LAMBDAK0_SIG |
PDG data on pi- p to Lambda K0 cross section: cross section.
Definition at line 400 of file parametrizations_data.h.
|
static |
An interpolation that gets lazily filled using the PIMINUSP_LAMBDAK0 data.
Definition at line 415 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIMINUSP_SIGMAMINUSKPLUS_P_LAB |
PDG data on pi- p to Sigma- K+ cross section: momentum in lab frame.
Definition at line 418 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIMINUSP_SIGMAMINUSKPLUS_SIG |
PDG data on pi- p to Sigma- K+ cross section: cross section.
Definition at line 425 of file parametrizations_data.h.
|
static |
An interpolation that gets lazily filled using the PIMINUSP_SIGMAMINUSKPLUS data.
Definition at line 436 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIMINUSP_SIGMA0K0_RES_SQRTS |
pi- p to Sigma0 K0 cross section: square root s
Definition at line 439 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIMINUSP_SIGMA0K0_RES_SIG |
pi- p to Sigma0 K0 cross section: cross section
The experimental data is missing, so the cross section is obtained by running the simulation, and purely contributed by the resonances
Definition at line 457 of file parametrizations_data.h.
|
static |
An interpolation that gets lazily filled using the PIMINUSP_SIGMA0K0_RES data.
Definition at line 482 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIMINUSP_RES_SQRTS |
Center-of-mass energy.
Definition at line 485 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIMINUSP_RES_SIG |
Elastic π⁻N⁺ cross section contributions from decays.
These need to be subtracted from the interpolation of the PDG data on elastic cross sections. This data was generated using the SMASH analysis suite and should be updated when strange resonances are changed or added.
Definition at line 560 of file parametrizations_data.h.
|
static |
An interpolation that gets lazily filled using the PIMINUSP_RES data.
Definition at line 633 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIPLUSP_ELASTIC_P_LAB |
PDG data on pi+ p elastic cross section: momentum in lab frame.
Definition at line 636 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIPLUSP_ELASTIC_SIG |
PDG data on pi+ p elastic cross section: cross section.
Definition at line 656 of file parametrizations_data.h.
|
static |
An interpolation that gets lazily filled using the PIPLUSP_ELASTIC_SIG data.
Definition at line 672 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIPLUSP_SIGMAPLUSKPLUS_P_LAB |
PDG data on pi+ p to Sigma+ K+ cross section: momentum in lab frame.
Definition at line 675 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIPLUSP_SIGMAPLUSKPLUS_SIG |
PDG data on pi+ p to Sigma+ K+ section: cross section.
Definition at line 684 of file parametrizations_data.h.
|
static |
An interpolation that gets lazily filled using the PIPLUSP_SIGMAPLUSKPLUS_SIG data.
Definition at line 698 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIPLUSP_RES_SQRTS |
Center-of-mass energy.
Definition at line 701 of file parametrizations_data.h.
const std::initializer_list<double> smash::PIPLUSP_RES_SIG |
Elastic π⁺N⁺ cross section contributions from decays.
These need to be subtracted from the interpolation of the PDG data on elastic cross sections. This data was generated using the SMASH analysis suite and should be updated when strange resonances are changed or added.
Definition at line 757 of file parametrizations_data.h.
|
static |
A null interpolation that gets filled using the PIPLUSP_RES data.
Definition at line 819 of file parametrizations_data.h.
RectangularLattice< FourVector > * smash::UB_lat_pointer = nullptr |
Pointer to the skyrme potential on the lattice.
Definition at line 15 of file potential_globals.cc.
RectangularLattice< FourVector > * smash::UI3_lat_pointer = nullptr |
Pointer to the symmmetry potential on the lattice.
Definition at line 16 of file potential_globals.cc.
Potentials * smash::pot_pointer = nullptr |
Pointer to a Potential class.
Definition at line 17 of file potential_globals.cc.
|
staticconstexpr |
Definition at line 25 of file processstring.h.
|
staticconstexpr |
|
staticconstexpr |
Definition at line 23 of file binaryoutput.cc.
|
staticconstexpr |
Definition at line 35 of file boxmodus.cc.
|
staticconstexpr |
Definition at line 17 of file bremsstrahlungaction.cc.
|
staticconstexpr |
Definition at line 16 of file clebschgordan.cc.
|
staticconstexpr |
Definition at line 36 of file collidermodus.cc.
|
staticconstexpr |
Definition at line 21 of file crosssections.cc.
|
staticconstexpr |
Definition at line 22 of file crosssections.cc.
|
staticconstexpr |
Definition at line 22 of file customnucleus.cc.
|
staticconstexpr |
Definition at line 20 of file decayaction.cc.
|
staticconstexpr |
Definition at line 23 of file decaymodes.cc.
std::vector<DecayTypePtr>* smash::all_decay_types = nullptr |
Global pointer to the decay types list.
Definition at line 28 of file decaymodes.cc.
|
constexpr |
Number of tabulation points.
Definition at line 146 of file decaytype.cc.
|
static |
Definition at line 147 of file decaytype.cc.
|
static |
|
staticconstexpr |
Definition at line 21 of file distributions.cc.
|
staticconstexpr |
Definition at line 21 of file energymomentumtensor.cc.
|
staticconstexpr |
Definition at line 21 of file fpenvironment.cc.
|
staticconstexpr |
Definition at line 22 of file grandcan_thermalizer.cc.
|
staticconstexpr |
|
static |
|
static |
|
static |
|
static |
|
staticconstexpr |
Definition at line 28 of file hadgas_eos.cc.
|
staticconstexpr |
Definition at line 18 of file hypersurfacecrossingaction.cc.
|
staticconstexpr |
Definition at line 19 of file icoutput.cc.
|
staticconstexpr |
Definition at line 19 of file inputfunctions.cc.
|
staticconstexpr |
Definition at line 19 of file isoparticletype.cc.
|
static |
Definition at line 21 of file isoparticletype.cc.
|
static |
Definition at line 22 of file isoparticletype.cc.
|
static |
Definition at line 183 of file isoparticletype.cc.
|
static |
Definition at line 184 of file isoparticletype.cc.
|
static |
Tabulation of all N R integrals.
Keys are the multiplet names (which are unique).
Definition at line 191 of file isoparticletype.cc.
|
static |
Tabulation of all pi R integrals.
Keys are the multiplet names (which are unique).
Definition at line 198 of file isoparticletype.cc.
|
static |
Tabulation of all K R integrals.
Keys are the multiplet names (which are unique).
Definition at line 205 of file isoparticletype.cc.
|
static |
Tabulation of all Delta R integrals.
Keys are the pairs of multiplet names (which are unique).
Definition at line 212 of file isoparticletype.cc.
|
static |
Tabulation of all rho rho integrals.
Keys are the pairs of multiplet names (which are unique).
Definition at line 219 of file isoparticletype.cc.
|
staticconstexpr |
Definition at line 40 of file listmodus.cc.
|
static |
The default logging level is ALL.
Definition at line 20 of file logging.cc.
|
staticconstexpr |
Definition at line 27 of file nucleus.cc.
|
staticconstexpr |
Definition at line 24 of file oscaroutput.cc.
|
staticconstexpr |
Definition at line 25 of file oscaroutput.cc.
|
staticconstexpr |
Definition at line 37 of file particletype.cc.
|
staticconstexpr |
Definition at line 38 of file particletype.cc.
|
staticconstexpr |
Definition at line 15 of file pauliblocking.cc.
|
staticconstexpr |
Definition at line 19 of file processstring.cc.
|
staticconstexpr |
Definition at line 19 of file propagation.cc.
|
staticconstexpr |
|
staticconstexpr |
Definition at line 19 of file rootoutput.cc.
|
staticconstexpr |
Definition at line 31 of file scatteraction.cc.
|
staticconstexpr |
Definition at line 28 of file scatteractionphoton.cc.
|
staticconstexpr |
Definition at line 31 of file scatteractionsfinder.cc.
|
staticconstexpr |
Definition at line 34 of file spheremodus.cc.
|
staticconstexpr |
Definition at line 21 of file vtkoutput.cc.