Thermal-FIST  1.3
Package for hadron resonance gas model applications
SphericalBlastWaveEventGenerator.cpp
Go to the documentation of this file.
1 /*
2  * Thermal-FIST package
3  *
4  * Copyright (c) 2015-2019 Volodymyr Vovchenko
5  *
6  * GNU General Public License (GPLv3 or later)
7  */
9 
10 #include <algorithm>
11 
12 #include "HRGBase/xMath.h"
16 
17 namespace thermalfist {
18 
20  m_THM = NULL;
21  }
22 
24  {
25  SetConfiguration(TPS, config);
26 
28  }
29 
30 
31  SphericalBlastWaveEventGenerator::SphericalBlastWaveEventGenerator(ThermalModelBase *THM, double T, double beta, bool /*onlyStable*/, EventGeneratorConfiguration::ModelType EV, ThermalModelBase *THMEVVDW) : m_T(T), m_Beta(beta) {
34  if (THM->Ensemble() == ThermalModelBase::CE)
36  if (THM->Ensemble() == ThermalModelBase::SCE)
38  if (THM->Ensemble() == ThermalModelBase::CCE)
40 
42 
43  config.fEnsemble = ensemble;
44  config.fModelType = modeltype;
45  config.CFOParameters = THM->Parameters();
46  config.B = THM->Parameters().B;
47  config.Q = THM->Parameters().Q;
48  config.S = THM->Parameters().S;
49  config.C = THM->Parameters().C;
50 
51  config.bij.resize(THMEVVDW->ComponentsNumber());
52  for (size_t i = 0; i < config.bij.size(); ++i) {
53  config.bij[i].resize(THMEVVDW->ComponentsNumber());
54  for (size_t j = 0; j < config.bij.size(); ++j) {
55  config.bij[i][j] = THMEVVDW->VirialCoefficient(i, j);
56  }
57  }
58 
59  config.aij.resize(THMEVVDW->ComponentsNumber());
60  for (size_t i = 0; i < config.bij.size(); ++i) {
61  config.aij[i].resize(THMEVVDW->ComponentsNumber());
62  for (size_t j = 0; j < config.bij.size(); ++j) {
63  config.aij[i][j] = THMEVVDW->AttractionCoefficient(i, j);
64  }
65  }
66 
67  SetConfiguration(THM->TPS(), config);
68 
70  }
71 
73  m_T = T;
74  m_Beta = beta;
75 
77  }
78 
80  {
82  m_BWGens.resize(0);
83  if (m_THM != NULL) {
84  for (size_t i = 0; i < m_THM->TPS()->Particles().size(); ++i) {
85  const ThermalParticle& part = m_THM->TPS()->Particles()[i];
86  //m_MomentumGens.push_back(new RandomGenerators::SiemensRasmussenMomentumGeneratorGeneralized(m_T, m_Beta, m_THM->TPS()->Particles()[i].Mass()));
88 
89  double T = m_THM->Parameters().T;
90  double Mu = m_THM->FullIdealChemicalPotential(i);
93  else
95  }
96  }
97  }
98 
99 } // namespace thermalfist
Class for generating mass of resonance in accordance with the constant width Breit-Wigner distributio...
Abstract base class for an HRG model implementation.
std::vector< RandomGenerators::ParticleMomentumGenerator * > m_MomentumGens
Vector of momentum generators for each particle species.
ModelType
Enumerates the different interaction models.
virtual double AttractionCoefficient(int, int) const
QvdW mean field attraction coefficient .
const ThermalParticle & Particle(int id) const
ThermalParticle object corresponding to particle species with a provided 0-based index.
Ensemble fEnsemble
The statistical ensemble used.
Class containing the particle list.
Structure containing the thermal event generator configuration.
Energy-dependent Breit-Wigner scheme (eBW)
int B
The total values of conserved charges in the CE.
void SetConfiguration(ThermalParticleSystem *TPS, const EventGeneratorConfiguration &config)
Sets the event generator configuration.
Charm-canonical ensemble.
virtual double VirialCoefficient(int, int) const
Excluded volume coefficient .
virtual double FullIdealChemicalPotential(int i) const
Chemical potential entering the ideal gas expressions of particle species i.
Contains some extra mathematical functions used in the code.
ThermalModelEnsemble Ensemble()
The statistical ensemble of the current HRG model.
Class containing all information about a particle specie.
ModelType fModelType
The type of interaction model.
Header with helper excluded-volume class.
const std::vector< ThermalParticle > & Particles() const
Returns the vector of all particle species.
std::vector< std::vector< double > > bij
The matrix of excluded volume coefficients .
Ensemble
Enumerates the statistical ensembles.
double Mass() const
Particle&#39;s mass [GeV].
Strangeness-canonical ensemble.
ThermalModelParameters CFOParameters
The chemical freeze-out parameters.
std::vector< RandomGenerators::ThermalBreitWignerGenerator * > m_BWGens
A generalized class for generating the momentum of a particle in accordance with the Siemens-Rasmusse...
Energy-dependent Breit-Wigner scheme (eBW) with constant branching ratios when evaluating feeddown...
Class for generating mass of resonance in accordance with the energy-dependent Breit-Wigner distribut...
std::vector< std::vector< double > > aij
The matrix of van der Waals attraction coefficients .
void SetBlastWaveParameters(double Tkin, double beta)
Sets the momentum distribution parameters.
ThermalParticle::ResonanceWidthIntegration ResonanceWidthIntegrationType() const
const ThermalModelParameters & Parameters() const
void ClearMomentumGenerators()
Clears the momentum generators for all particles.
The main namespace where all classes and functions of the Thermal-FIST library reside.
int ComponentsNumber() const
Number of different particle species in the list.
ThermalParticleSystem * TPS()
int Statistics() const
Particle&#39;s statistics.