25 m_T(T), m_BetaS(betas), m_EtaMax(etamax), m_n(npow), m_Rperp(Rperp)
34 m_T(T), m_BetaS(betas), m_EtaMax(etamax), m_n(npow), m_Rperp(6.5) {
47 config.fModelType = modeltype;
55 for (
size_t i = 0; i < config.bij.size(); ++i) {
57 for (
size_t j = 0; j < config.bij.size(); ++j) {
63 for (
size_t i = 0; i < config.bij.size(); ++i) {
65 for (
size_t j = 0; j < config.bij.size(); ++j) {
87 m_BetaS = (2. + m_n) / 2. * betaT;
102 for (
size_t i = 0; i <
m_THM->TPS()->Particles().size(); ++i) {
106 double T =
m_THM->Parameters().T;
107 double Mu =
m_THM->FullIdealChemicalPotential(i);
119 m_THM->SetBaryonChemicalPotential(
m_Config.CFOParameters.muB);
120 m_THM->SetElectricChemicalPotential(
m_Config.CFOParameters.muQ);
121 m_THM->SetStrangenessChemicalPotential(
m_Config.CFOParameters.muS);
123 if (
m_Config.CFOParameters.gammaq != 1.0)
126 if (
m_Config.CFOParameters.gammaS != 1.0)
129 if (
m_Config.CFOParameters.gammaC != 1.0)
132 double Veff =
m_Config.CFOParameters.V;
134 m_THM->CalculatePrimordialDensities();
135 double totB =
m_THM->BaryonDensity() * Veff;
136 double totQ =
m_THM->ElectricChargeDensity() * Veff;
137 double totS =
m_THM->StrangenessDensity() * Veff;
138 double totC =
m_THM->CharmDensity() * Veff;
142 cout <<
"Integrated values of conserved charges:" << endl;
143 cout <<
"B = " << totB << endl;
144 cout <<
"Q = " << totQ << endl;
145 cout <<
"S = " << totS << endl;
146 cout <<
"C = " << totC << endl;
151 if (abs(totB) > 1.e-6) {
152 Vcorr = round(totB) / totB;
154 cout <<
"Volume rescaling factor Vcorr = " << Vcorr << endl;
155 cout <<
"B: " << totB <<
" -> " << round(totB) << endl;
162 cout <<
"Q: " << totQ * Vcorr <<
" -> " << round(totQ * Vcorr) << endl;
167 cout <<
"S: " << totS * Vcorr <<
" -> " << round(totS * Vcorr) << endl;
172 cout <<
"C: " << totC * Vcorr <<
" -> " << round(totC * Vcorr) << endl;
177 m_THM->SetVolume(Veff);
178 m_THM->SetCanonicalVolume(Veff);
183 double CylindricalBlastWaveEventGenerator::GetVeffIntegral()
const
187 std::vector<double> xleg, wleg;
190 for (
int iint = 0; iint < xleg.size(); ++iint) {
191 double zeta = xleg[iint];
192 double w = wleg[iint];
194 ret += w * zeta / sqrt(1. - betar * betar);
double GetBetaSurface() const
void SetMeanBetaT(double betaT)
Set the mean transverse flow velocity.
virtual void SetMomentumGenerators()
CylindricalBlastWaveEventGenerator(ThermalParticleSystem *TPS=NULL, const EventGeneratorConfiguration &config=EventGeneratorConfiguration(), double T=0.120, double betas=0.5, double etamax=0.5, double npow=1., double Rperp=6.5)
Construct a new CylindricalBlastWaveEventGenerator object.
void RecalculateTotalConservedNumbers()
Implements the cylindrically symmetric blast-wave model parametrization.
std::vector< RandomGenerators::ThermalBreitWignerGenerator * > m_BWGens
EventGeneratorBase()
Constructor.
std::vector< RandomGenerators::ParticleMomentumGenerator * > m_MomentumGens
Vector of momentum generators for each particle species.
void ClearMomentumGenerators()
Clears the momentum generators for all particles.
void PrepareMultinomials()
EventGeneratorConfiguration m_Config
void SetConfiguration(ThermalParticleSystem *TPS, const EventGeneratorConfiguration &config)
Sets the event generator configuration.
virtual void SetParameters()
Sets up the event generator ready for production.
Class for generating momentum of a particle in accordance with a longitudinally boost invariant and a...
Class for generating mass of resonance in accordance with the constant width Breit-Wigner distributio...
Class for generating mass of resonance in accordance with the energy-dependent Breit-Wigner distribut...
Abstract base class for an HRG model implementation.
virtual double AttractionCoefficient(int, int) const
QvdW mean field attraction coefficient .
int ComponentsNumber() const
Number of different particle species in the list.
virtual double VirialCoefficient(int, int) const
Excluded volume coefficient .
const ThermalModelParameters & Parameters() const
@ SCE
Strangeness-canonical ensemble.
@ CCE
Charm-canonical ensemble.
Class containing all information about a particle specie.
int Statistics() const
Particle's statistics.
double Mass() const
Particle's mass [GeV].
@ eBWconstBR
Energy-dependent Breit-Wigner scheme (eBW) with constant branching ratios when evaluating feeddown.
@ eBW
Energy-dependent Breit-Wigner scheme (eBW)
Class containing the particle list.
void GetCoefsIntegrateLegendre32(double a, double b, std::vector< double > *x, std::vector< double > *w)
constexpr double Pi()
Pi constant.
The main namespace where all classes and functions of the Thermal-FIST library reside.
Structure containing the thermal event generator configuration.
Ensemble fEnsemble
The statistical ensemble used.
Ensemble
Enumerates the statistical ensembles.
@ SCE
Strangeness-canonical.
ModelType
Enumerates the different interaction models.
Contains some extra mathematical functions used in the code.