Version: SMASH-2.1
spheremodus.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013-2021
3  * SMASH Team
4  *
5  * GNU General Public License (GPLv3 or later)
6  */
7 #ifndef SRC_INCLUDE_SMASH_SPHEREMODUS_H_
8 #define SRC_INCLUDE_SMASH_SPHEREMODUS_H_
9 
10 #include <stdint.h>
11 #include <cmath>
12 #include <list>
13 #include <map>
14 
15 #include "forwarddeclarations.h"
16 #include "modusdefault.h"
17 
18 namespace smash {
19 
47 class SphereModus : public ModusDefault {
48  public:
60  explicit SphereModus(Configuration modus_config,
61  const ExperimentParameters &parameters);
62 
73  double initial_conditions(Particles *particles,
74  const ExperimentParameters &parameters);
75 
77  bool is_sphere() const { return true; }
79  double radius() const { return radius_; }
80 
81  private:
83  double radius_;
87  const double start_time_ = 0.;
92  const bool use_thermal_ = false;
97  const double mub_;
102  const double mus_;
107  const double muq_;
118  const std::map<PdgCode, int> init_multipl_;
123  std::map<PdgCode, double> average_multipl_;
134  const bool insert_jet_ = false;
143  const double jet_mom_;
150  friend std::ostream &operator<<(std::ostream &out, const SphereModus &m);
151 };
152 } // namespace smash
153 #endif // SRC_INCLUDE_SMASH_SPHEREMODUS_H_
Interface to the SMASH configuration files.
Base class for Modus classes that provides default function implementations.
Definition: modusdefault.h:44
The Particles class abstracts the storage and manipulation of particles.
Definition: particles.h:33
PdgCode stores a Particle Data Group Particle Numbering Scheme particle type number.
Definition: pdgcode.h:108
SphereModus: Provides a modus for expanding matter calculations.
Definition: spheremodus.h:47
const bool account_for_resonance_widths_
In case of thermal initialization: true – account for resonance spectral functions,...
Definition: spheremodus.h:113
const bool use_thermal_
Whether to use a thermal initialization for all particles instead of specific numbers.
Definition: spheremodus.h:92
const double muq_
Charge chemical potential for thermal initialization; only used if use_thermal_ is true.
Definition: spheremodus.h:107
double sphere_temperature_
Temperature for momentum distribution (in GeV)
Definition: spheremodus.h:85
double radius() const
Definition: spheremodus.h:79
const double start_time_
Starting time for the Sphere.
Definition: spheremodus.h:87
const bool insert_jet_
Whether to insert a single high energy particle at the center of the expanding sphere (0,...
Definition: spheremodus.h:134
const PdgCode jet_pdg_
Pdg of the particle to use as a jet; necessary if insert_jet_ is true, unused otherwise.
Definition: spheremodus.h:139
bool is_sphere() const
Definition: spheremodus.h:77
const SphereInitialCondition init_distr_
Initialization scheme for momenta in the sphere; used for expanding metric setup.
Definition: spheremodus.h:128
SphereModus(Configuration modus_config, const ExperimentParameters &parameters)
Constructor.
Definition: spheremodus.cc:168
double initial_conditions(Particles *particles, const ExperimentParameters &parameters)
Generates initial state of the particles in the system according to specified parameters: number of p...
Definition: spheremodus.cc:237
std::map< PdgCode, double > average_multipl_
Average multiplicities in case of thermal initialization.
Definition: spheremodus.h:123
const double mub_
Baryon chemical potential for thermal initialization; only used if use_thermal_ is true.
Definition: spheremodus.h:97
const double jet_mom_
Initial momentum of the jet particle; only used if insert_jet_ is true.
Definition: spheremodus.h:143
const std::map< PdgCode, int > init_multipl_
Particle multiplicities at initialization; required if use_thermal_ is false.
Definition: spheremodus.h:118
const double mus_
Strange chemical potential for thermal initialization; only used if use_thermal_ is true.
Definition: spheremodus.h:102
double radius_
Sphere radius (in fm/c)
Definition: spheremodus.h:83
SphereInitialCondition
Initial condition for a particle in a sphere.
friend std::ostream & operator<<(std::ostream &out, const SphereModus &m)
Writes the initial state for the Sphere to the output stream.
Definition: spheremodus.cc:194
Definition: action.h:24
Helper structure for Experiment.