Version: SMASH-1.5
spheremodus.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013-2018
3  * SMASH Team
4  *
5  * GNU General Public License (GPLv3 or later)
6  */
7 #ifndef SRC_INCLUDE_SPHEREMODUS_H_
8 #define SRC_INCLUDE_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 
76  private:
78  double radius_;
82  const double start_time_ = 0.;
87  const bool use_thermal_ = false;
92  const double mub_;
97  const double mus_;
102  const std::map<PdgCode, int> init_multipl_;
107  std::map<PdgCode, double> average_multipl_;
119  friend std::ostream &operator<<(std::ostream &, const SphereModus &);
120 };
121 } // namespace smash
122 #endif // SRC_INCLUDE_SPHEREMODUS_H_
double radius_
Sphere radius (in fm/c)
Definition: spheremodus.h:78
const SphereInitialCondition init_distr_
Initialization scheme for momenta in the sphere; used for expanding metric setup. ...
Definition: spheremodus.h:112
double sphere_temperature_
Temperature for momentum distribution (in GeV)
Definition: spheremodus.h:80
Interface to the SMASH configuration files.
const double start_time_
Starting time for the Sphere.
Definition: spheremodus.h:82
std::map< PdgCode, double > average_multipl_
Average multiplicities in case of thermal initialization.
Definition: spheremodus.h:107
Base class for Modus classes that provides default function implementations.
Definition: modusdefault.h:44
SphereModus: Provides a modus for expanding matter calculations.
Definition: spheremodus.h:47
SphereInitialCondition
Initial condition for a particle in a sphere.
const bool use_thermal_
Whether to use a thermal initialization for all particles instead of specific numbers.
Definition: spheremodus.h:87
const double mus_
Strange chemical potential for thermal initialization; only used if use_thermal_ is true...
Definition: spheremodus.h:97
SphereModus(Configuration modus_config, const ExperimentParameters &parameters)
Constructor.
Definition: spheremodus.cc:133
const double mub_
Baryon chemical potential for thermal initialization; only used if use_thermal_ is true...
Definition: spheremodus.h:92
const std::map< PdgCode, int > init_multipl_
Particle multiplicities at initialization; required if use_thermal_ is false.
Definition: spheremodus.h:102
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:167
The Particles class abstracts the storage and manipulation of particles.
Definition: particles.h:33
Helper structure for Experiment.
friend std::ostream & operator<<(std::ostream &, const SphereModus &)
Writes the initial state for the Sphere to the output stream.
Definition: spheremodus.cc:150
Definition: action.h:24