Version: SMASH-3.1
spheremodus.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013-2023
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 
12 #include <cmath>
13 #include <list>
14 #include <map>
15 
16 #include "forwarddeclarations.h"
17 #include "modusdefault.h"
18 
19 namespace smash {
20 
49 class SphereModus : public ModusDefault {
50  public:
62  explicit SphereModus(Configuration modus_config,
63  const ExperimentParameters &parameters);
64 
75  double initial_conditions(Particles *particles,
76  const ExperimentParameters &parameters);
77 
79  bool is_sphere() const { return true; }
81  double radius() const { return radius_; }
82 
83  private:
85  double radius_;
89  const double start_time_ = 0.;
94  const bool use_thermal_ = false;
99  const double mub_;
104  const double mus_;
109  const double muq_;
120  const std::map<PdgCode, int> init_multipl_;
125  std::map<PdgCode, double> average_multipl_;
136  const double radial_velocity_;
144  const std::optional<PdgCode> jet_pdg_;
148  const double jet_mom_;
155  friend std::ostream &operator<<(std::ostream &out, const SphereModus &m);
156 };
157 } // namespace smash
158 #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:43
The Particles class abstracts the storage and manipulation of particles.
Definition: particles.h:33
SphereModus: Provides a modus for expanding matter calculations.
Definition: spheremodus.h:49
const bool account_for_resonance_widths_
In case of thermal initialization: true – account for resonance spectral functions,...
Definition: spheremodus.h:115
const bool use_thermal_
Whether to use a thermal initialization for all particles instead of specific numbers.
Definition: spheremodus.h:94
const double muq_
Charge chemical potential for thermal initialization; only used if use_thermal_ is true.
Definition: spheremodus.h:109
double sphere_temperature_
Temperature for momentum distribution (in GeV)
Definition: spheremodus.h:87
double radius() const
Definition: spheremodus.h:81
const double start_time_
Starting time for the Sphere.
Definition: spheremodus.h:89
bool is_sphere() const
Definition: spheremodus.h:79
const SphereInitialCondition init_distr_
Initialization scheme for momenta in the sphere; used for expanding metric setup.
Definition: spheremodus.h:130
const std::optional< PdgCode > jet_pdg_
Optional PDG code of the particle to use as a jet, i.e.
Definition: spheremodus.h:144
SphereModus(Configuration modus_config, const ExperimentParameters &parameters)
Constructor.
Definition: spheremodus.cc:37
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:115
std::map< PdgCode, double > average_multipl_
Average multiplicities in case of thermal initialization.
Definition: spheremodus.h:125
const double mub_
Baryon chemical potential for thermal initialization; only used if use_thermal_ is true.
Definition: spheremodus.h:99
const double jet_mom_
Initial momentum of the jet particle; only used if jet_pdg_ is not nullopt.
Definition: spheremodus.h:148
const std::map< PdgCode, int > init_multipl_
Particle multiplicities at initialization; required if use_thermal_ is false.
Definition: spheremodus.h:120
const double mus_
Strange chemical potential for thermal initialization; only used if use_thermal_ is true.
Definition: spheremodus.h:104
const double radial_velocity_
Wether to add a constant radial velocity profile to the momenta of the particles in the sphere.
Definition: spheremodus.h:136
double radius_
Sphere radius (in fm)
Definition: spheremodus.h:85
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:72
Definition: action.h:24
Helper structure for Experiment.