Thermal-FIST  1.3
Package for hadron resonance gas model applications
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
thermalfist::EventGeneratorBase Class Reference

Base class for generating events with the Thermal Event Generator. More...

#include <EventGeneratorBase.h>

Inheritance diagram for thermalfist::EventGeneratorBase:
thermalfist::CracowFreezeoutEventGenerator thermalfist::CylindricalBlastWaveEventGenerator thermalfist::SphericalBlastWaveEventGenerator

Public Member Functions

 EventGeneratorBase ()
 Constructor. More...
 
virtual ~EventGeneratorBase ()
 Destructor. More...
 
void ClearMomentumGenerators ()
 Clears the momentum generators for all particles. More...
 
void SetCollisionKineticEnergy (double ekin)
 Sets the projectile laboratory kinetic energy per nucleon of the collision. More...
 
void SetCollisionLabEnergy (double elab)
 Sets the projectile laboratory energy per nucleon of the collision. More...
 
void SetCollisionCMSEnergy (double ssqrt)
 Sets the center of mass energy \( \sqrt{s_{_{NN}}} \) of the collision. More...
 
double getYcm () const
 The y-pT acceptance map (not used by default). More...
 
std::pair< std::vector< int >, double > SampleYields () const
 Samples the primordial yields for each particle species. More...
 
virtual SimpleEvent SampleMomenta (const std::vector< int > &yields) const
 Samples the momenta of the particles and returns the sampled list of particles as an event. More...
 
virtual SimpleEvent GetEvent (bool PerformDecays=true) const
 Generates a single event. More...
 
void SetVolume (double V)
 Set system volume. More...
 
void RescaleCEMeans (double Vmod)
 Rescale the precalculated GCE means. More...
 

Static Public Member Functions

static SimpleEvent PerformDecays (const SimpleEvent &evtin, ThermalParticleSystem *TPS)
 Performs decays of all unstable particles until only stable ones left. More...
 

Static Public Attributes

static int fCEAccepted
 
static int fCETotal
 

Protected Member Functions

void SetConfiguration (ThermalParticleSystem *TPS, const EventGeneratorConfiguration &config)
 Sets the event generator configuration. More...
 
void PrepareMultinomials ()
 
std::vector< int > GenerateTotals () const
 
std::vector< int > GenerateTotalsGCE () const
 
std::vector< int > GenerateTotalsCE () const
 
std::vector< int > GenerateTotalsSCE () const
 
std::vector< int > GenerateTotalsSCESubVolume (double VolumeSC) const
 
std::vector< int > GenerateTotalsCCE () const
 
std::vector< int > GenerateTotalsCCESubVolume (double VolumeSC) const
 

Protected Attributes

EventGeneratorConfiguration m_Config
 
ThermalModelBasem_THM
 
std::vector< double > m_DensitiesIdeal
 Ideal gas densities used for sampling an interacting HRG. More...
 
std::vector< RandomGenerators::ParticleMomentumGenerator * > m_MomentumGens
 Vector of momentum generators for each particle species. More...
 
std::vector< RandomGenerators::ThermalBreitWignerGenerator * > m_BWGens
 

Detailed Description

Base class for generating events with the Thermal Event Generator.

Definition at line 89 of file EventGeneratorBase.h.

Constructor & Destructor Documentation

thermalfist::EventGeneratorBase::EventGeneratorBase ( )
inline

Constructor.

Definition at line 93 of file EventGeneratorBase.h.

thermalfist::EventGeneratorBase::~EventGeneratorBase ( )
virtual

Destructor.

Definition at line 30 of file EventGeneratorBase.cpp.

Member Function Documentation

void thermalfist::EventGeneratorBase::ClearMomentumGenerators ( )

Clears the momentum generators for all particles.

Definition at line 35 of file EventGeneratorBase.cpp.

std::vector< int > thermalfist::EventGeneratorBase::GenerateTotals ( ) const
protected

Samples the multiplicities of all the particle species from the given statistical ensemble

Returns
A vector of the sampled multiplicities

Definition at line 357 of file EventGeneratorBase.cpp.

std::vector< int > thermalfist::EventGeneratorBase::GenerateTotalsCCE ( ) const
protected

Samples the multiplicities of all the particle species from the charm-canonical ensemble

Takes into account the case when the strangeness correlation volume is different from the total volume

Returns
A vector of the sampled multiplicities

Definition at line 729 of file EventGeneratorBase.cpp.

std::vector< int > thermalfist::EventGeneratorBase::GenerateTotalsCCESubVolume ( double  VolumeSC) const
protected

Samples the multiplicities of all the particle species from the charm-canonical ensemble with the specified (sub)system volume

Parameters
VolumeSCThe (canonical) system volume
Returns
A vector of the sampled multiplicities

Definition at line 857 of file EventGeneratorBase.cpp.

std::vector< int > thermalfist::EventGeneratorBase::GenerateTotalsCE ( ) const
protected

Samples the multiplicities of all the particle species from the canonical ensemble

Uses rejection sampling, and the multi-step procedure from F. Becattini, L. Ferroni, Eur. Phys. J. C38, 225 (2004) [hep-ph/0407117]

Returns
A vector of the sampled multiplicities

Definition at line 918 of file EventGeneratorBase.cpp.

std::vector< int > thermalfist::EventGeneratorBase::GenerateTotalsGCE ( ) const
protected

Samples the multiplicities of all the particle species from the grand canonical ensemble

Returns
A vector of the sampled multiplicities

Definition at line 521 of file EventGeneratorBase.cpp.

std::vector< int > thermalfist::EventGeneratorBase::GenerateTotalsSCE ( ) const
protected

Samples the multiplicities of all the particle species from the strangeness-canonical ensemble

Takes into account the case when the strangeness correlation volume is different from the total volume

Returns
A vector of the sampled multiplicities

Definition at line 538 of file EventGeneratorBase.cpp.

std::vector< int > thermalfist::EventGeneratorBase::GenerateTotalsSCESubVolume ( double  VolumeSC) const
protected

Samples the multiplicities of all the particle species from the strangeness-canonical ensemble with the specified (sub)system volume

Parameters
VolumeSCThe system volume
Returns
A vector of the sampled multiplicities

Definition at line 662 of file EventGeneratorBase.cpp.

SimpleEvent thermalfist::EventGeneratorBase::GetEvent ( bool  PerformDecays = true) const
virtual

Generates a single event.

Parameters
PerformDecaysIf set to true, the decays of all particles marked unstable are performed until only stable particles remain. Otherwise only primordial particles are generated and appear in the output
Returns
SimpleEvent The generated event
Examples:
cpc4-mcHRG.cpp.

Definition at line 1203 of file EventGeneratorBase.cpp.

double thermalfist::EventGeneratorBase::getYcm ( ) const
inline

The y-pT acceptance map (not used by default).

Read the acceptance map from file. The center-of-mass longitudinal rapidity relative to the lab frame.

Definition at line 127 of file EventGeneratorBase.h.

SimpleEvent thermalfist::EventGeneratorBase::PerformDecays ( const SimpleEvent evtin,
ThermalParticleSystem TPS 
)
static

Performs decays of all unstable particles until only stable ones left.

Parameters
evtinAn event structure contains the list of all the primordial particles.
TPSPointer to the particle list instance that contains all the decay properties.
Returns
A SimpleEvent instance containing all particles after resonance decays.

Definition at line 1352 of file EventGeneratorBase.cpp.

void thermalfist::EventGeneratorBase::PrepareMultinomials ( )
protected

Prepares the parameters of multinomial distribution used for sampling the yields in the canonical ensemble

Definition at line 260 of file EventGeneratorBase.cpp.

void thermalfist::EventGeneratorBase::RescaleCEMeans ( double  Vmod)

Rescale the precalculated GCE means.

Called when the system volume is changed

Definition at line 1469 of file EventGeneratorBase.cpp.

SimpleEvent thermalfist::EventGeneratorBase::SampleMomenta ( const std::vector< int > &  yields) const
virtual

Samples the momenta of the particles and returns the sampled list of particles as an event.

The sampled SimpleEvent is assigned the weight of unity. This weight should be overriden if importance sampling is used.

Parameters
yieldsVector of yields for each particle species for the given event. Make sure the indices match the particle list pointed to by m_THM.
Returns
SimpleEvent The generated event containing the primordial particles.

Definition at line 1158 of file EventGeneratorBase.cpp.

std::pair< std::vector< int >, double > thermalfist::EventGeneratorBase::SampleYields ( ) const

Samples the primordial yields for each particle species.

Returns
pair< std::vector<int>, double > The sampled yields. The first element is a vector of the sampled yields. The second element is the weight.

Definition at line 1150 of file EventGeneratorBase.cpp.

void thermalfist::EventGeneratorBase::SetCollisionCMSEnergy ( double  ssqrt)
inline

Sets the center of mass energy \( \sqrt{s_{_{NN}}} \) of the collision.

Definition at line 112 of file EventGeneratorBase.h.

void thermalfist::EventGeneratorBase::SetCollisionKineticEnergy ( double  ekin)
inline

Sets the projectile laboratory kinetic energy per nucleon of the collision.

Definition at line 102 of file EventGeneratorBase.h.

void thermalfist::EventGeneratorBase::SetCollisionLabEnergy ( double  elab)
inline

Sets the projectile laboratory energy per nucleon of the collision.

Definition at line 107 of file EventGeneratorBase.h.

void thermalfist::EventGeneratorBase::SetConfiguration ( ThermalParticleSystem TPS,
const EventGeneratorConfiguration config 
)
protected

Sets the event generator configuration.

Must be called before generating any events.

Parameters
TPSPointer to a particle list object
configEvent generator configuration

Definition at line 51 of file EventGeneratorBase.cpp.

void thermalfist::EventGeneratorBase::SetVolume ( double  V)

Set system volume.

Can be used to include volume fluctuations

Definition at line 1459 of file EventGeneratorBase.cpp.

Member Data Documentation

int thermalfist::EventGeneratorBase::fCEAccepted
static

Helper variable to monitor the Acceptance rate of the rejection sampling used for canonical ensemble and/or eigenvolumes.

Definition at line 175 of file EventGeneratorBase.h.

int thermalfist::EventGeneratorBase::fCETotal
static

Definition at line 175 of file EventGeneratorBase.h.

std::vector<RandomGenerators::ThermalBreitWignerGenerator*> thermalfist::EventGeneratorBase::m_BWGens
protected

Vector of particle mass generators for each particle species Used if finite resonance widths are considered

Definition at line 269 of file EventGeneratorBase.h.

EventGeneratorConfiguration thermalfist::EventGeneratorBase::m_Config
protected

Definition at line 258 of file EventGeneratorBase.h.

std::vector<double> thermalfist::EventGeneratorBase::m_DensitiesIdeal
protected

Ideal gas densities used for sampling an interacting HRG.

Definition at line 262 of file EventGeneratorBase.h.

std::vector<RandomGenerators::ParticleMomentumGenerator*> thermalfist::EventGeneratorBase::m_MomentumGens
protected

Vector of momentum generators for each particle species.

Definition at line 265 of file EventGeneratorBase.h.

ThermalModelBase* thermalfist::EventGeneratorBase::m_THM
protected

Definition at line 259 of file EventGeneratorBase.h.


The documentation for this class was generated from the following files: