Thermal-FIST 1.6
Package for hadron resonance gas model applications
Loading...
Searching...
No Matches
thermalfist::RandomGenerators::HypersurfaceMomentumGenerator Class Reference

Class for generating momentum of a particle from a hypersurface. More...

#include <HypersurfaceSampler.h>

Inheritance diagram for thermalfist::RandomGenerators::HypersurfaceMomentumGenerator:
thermalfist::RandomGenerators::ParticleMomentumGenerator

Classes

struct  HypersurfaceMomentumGeneratorConfiguration
 Configuration structure for the HypersurfaceMomentumGenerator. More...
 

Public Member Functions

 HypersurfaceMomentumGenerator (const ParticlizationHypersurface *hypersurface=NULL, const ThermalParticle *particle=NULL, const VolumeElementSampler *positionsampler=NULL, const HypersurfaceMomentumGeneratorConfiguration &config=HypersurfaceMomentumGeneratorConfiguration())
 Construct a new BoostInvariantMomentumGenerator object.
 
virtual ~HypersurfaceMomentumGenerator ()
 BoostInvariantMomentumGenerator desctructor.
 
double EtaSmear () const
 
double Mass () const
 
bool ShearCorrection () const
 
bool BulkCorrection () const
 
double SpeedOfSoundSquared () const
 
virtual std::vector< double > GetMomentum (double mass=-1.) const
 
- Public Member Functions inherited from thermalfist::RandomGenerators::ParticleMomentumGenerator
 ParticleMomentumGenerator ()
 Default constructor.
 
virtual ~ParticleMomentumGenerator ()
 Destructor.
 

Static Public Member Functions

static std::vector< double > SamplePhaseSpaceCoordinateFromElement (const ParticlizationHypersurfaceElement *elem, const ThermalParticle *particle, const double &mass=-1., const double &etasmear=0., const bool shear_correction=false, const bool bulk_correction=false, const double speed_of_sound_squared=0.15)
 Samples the Cartesian phase-space coordinates of a particle emmited from a hypersurface element.
 

Detailed Description

Class for generating momentum of a particle from a hypersurface.

First chooses the hypersurface element multinomially, then sample the momentum from it. Stricly valid only for the ideal gas equation of state, but may be a sufficient approximation for interacting models in some cases as well.

Definition at line 59 of file HypersurfaceSampler.h.

Constructor & Destructor Documentation

◆ HypersurfaceMomentumGenerator()

thermalfist::RandomGenerators::HypersurfaceMomentumGenerator::HypersurfaceMomentumGenerator ( const ParticlizationHypersurface * hypersurface = NULL,
const ThermalParticle * particle = NULL,
const VolumeElementSampler * positionsampler = NULL,
const HypersurfaceMomentumGeneratorConfiguration & config = HypersurfaceMomentumGeneratorConfiguration() )

Construct a new BoostInvariantMomentumGenerator object.

Parameters
hypersurfacePointer to a ParticlizationHypersurface object. Not deleted on destruction!
particlePointer to a ThermalParticle object. Not deleted on destruction!
positionsamplerPointer to a VolumeElementSampler object. Not deleted on destruction!
configConfiguration object for the HypersurfaceMomentumGenerator

Definition at line 72 of file HypersurfaceSampler.cpp.

◆ ~HypersurfaceMomentumGenerator()

virtual thermalfist::RandomGenerators::HypersurfaceMomentumGenerator::~HypersurfaceMomentumGenerator ( )
inlinevirtual

BoostInvariantMomentumGenerator desctructor.

Will free the memory used by the object pointed to by m_FreezeoutModel

Definition at line 127 of file HypersurfaceSampler.h.

Member Function Documentation

◆ BulkCorrection()

bool thermalfist::RandomGenerators::HypersurfaceMomentumGenerator::BulkCorrection ( ) const
inline

Definition at line 132 of file HypersurfaceSampler.h.

◆ EtaSmear()

double thermalfist::RandomGenerators::HypersurfaceMomentumGenerator::EtaSmear ( ) const
inline

Definition at line 129 of file HypersurfaceSampler.h.

◆ GetMomentum()

std::vector< double > thermalfist::RandomGenerators::HypersurfaceMomentumGenerator::GetMomentum ( double mass = -1.) const
virtual

Samples the 3-momentum of a particle

Parameters
massThe mass of a particle. If negative value provided, defaults to the pole/vacuum mass
Returns
std::vector<double> A vector containing the sampled \(p_x\), \(p_y\), \(p_z\) components of the three-momentum, and, additionally, the space-time Cartesian coordinates \(r_0\), \(r_x\), \(r_y\), \(r_z\) in the collision center-of-mass frame

Implements thermalfist::RandomGenerators::ParticleMomentumGenerator.

Definition at line 88 of file HypersurfaceSampler.cpp.

◆ Mass()

double thermalfist::RandomGenerators::HypersurfaceMomentumGenerator::Mass ( ) const
inline

Definition at line 130 of file HypersurfaceSampler.h.

◆ SamplePhaseSpaceCoordinateFromElement()

std::vector< double > thermalfist::RandomGenerators::HypersurfaceMomentumGenerator::SamplePhaseSpaceCoordinateFromElement ( const ParticlizationHypersurfaceElement * elem,
const ThermalParticle * particle,
const double & mass = -1.,
const double & etasmear = 0.,
const bool shear_correction = false,
const bool bulk_correction = false,
const double speed_of_sound_squared = 0.15 )
static

Samples the Cartesian phase-space coordinates of a particle emmited from a hypersurface element.

Parameters
hypersurfacePointer to a ParticlizationHypersurface object.
particlePointer to a ThermalParticle object representing the particle to sample.
massParticle mass in GeV. If negative, the pole/vacuum mass is used.
etasmearThe smear in longitudinal rapidity
shear_correctionUse shear viscous corrections for the momenta of the particles
bulk_correctionUse bulk viscous corrections for the momenta of the particles
speed_of_sound_squaredThe speed of sound squared in the medium
Returns
A vector of 7 elements, the first 3 elements are the three-momentum (px,py,pz) in GeV, the remaining four elements is the space-time coordinate (r0,rx,ry,rz) in fm/c

Definition at line 565 of file HypersurfaceSampler.cpp.

◆ ShearCorrection()

bool thermalfist::RandomGenerators::HypersurfaceMomentumGenerator::ShearCorrection ( ) const
inline

Definition at line 131 of file HypersurfaceSampler.h.

◆ SpeedOfSoundSquared()

double thermalfist::RandomGenerators::HypersurfaceMomentumGenerator::SpeedOfSoundSquared ( ) const
inline

Definition at line 133 of file HypersurfaceSampler.h.


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