Thermal-FIST 1.5
Package for hadron resonance gas model applications
Loading...
Searching...
No Matches
thermalfist::ThermalModelCanonicalCharm Class Reference

Class implementing the ideal HRG model with exact conservation of charm (charm-canonical ensemble). More...

#include <ThermalModelCanonicalCharm.h>

Inheritance diagram for thermalfist::ThermalModelCanonicalCharm:
thermalfist::ThermalModelBase

Public Member Functions

 ThermalModelCanonicalCharm (ThermalParticleSystem *TPS, const ThermalModelParameters &params=ThermalModelParameters())
 Construct a new ThermalModelCanonicalCharm object.
 
virtual ~ThermalModelCanonicalCharm (void)
 Destroy the ThermalModelCanonicalCharm object.
 
void CalculateEnergyDensitiesGCE ()
 Calculates the grand-canonical energy densities.
 
virtual void SetParameters (const ThermalModelParameters &params)
 The thermal parameters.
 
virtual void SetCharmChemicalPotential (double muC)
 Override the base class method to always set \( \mu_C \) to zero.
 
virtual void ChangeTPS (ThermalParticleSystem *TPS)
 Change the particle list.
 
virtual void SetStatistics (bool stats)
 
void CalculateDensitiesGCE ()
 Calculates the particle densities in a grand-canonical ensemble.
 
virtual void FixParameters ()
 Method which actually implements ConstrainChemicalPotentials() (for backward compatibility).
 
virtual void CalculatePrimordialDensities ()
 Calculates the primordial densities of all species.
 
void CalculateFluctuations ()
 Dummy function. Fluctuations not yet supported.
 
virtual double CalculatePressure ()
 
virtual double CalculateEnergyDensity ()
 
virtual double CalculateEntropyDensity ()
 
virtual double CalculateBaryonMatterEntropyDensity ()
 
virtual double CalculateMesonMatterEntropyDensity ()
 
virtual double ParticleScaledVariance (int)
 
virtual double ParticleScalarDensity (int)
 
virtual double CalculateEnergyDensityDerivativeT ()
 
virtual bool IsConservedChargeCanonical (ConservedCharge::Name charge) const
 
- Public Member Functions inherited from thermalfist::ThermalModelBase
 ThermalModelBase (ThermalParticleSystem *TPS, const ThermalModelParameters &params=ThermalModelParameters())
 Construct a new ThermalModelBase object.
 
virtual ~ThermalModelBase (void)
 
int ComponentsNumber () const
 Number of different particle species in the list.
 
virtual void FillVirial (const std::vector< double > &ri=std::vector< double >(0))
 Fills the excluded volume coefficients \( \tilde{b}_{ij} \) based on the provided radii parameters for all species.
 
bool UseWidth () const
 Whether finite resonance widths are considered.
 
void SetUseWidth (bool useWidth)
 Sets whether finite resonance widths are used. Deprecated.
 
void SetUseWidth (ThermalParticle::ResonanceWidthIntegration type)
 Sets the finite resonance widths scheme to use.
 
void SetNormBratio (bool normBratio)
 Whether branching ratios are renormalized to 100%.
 
bool NormBratio () const
 
void SetOMP (bool openMP)
 OpenMP support. Currently not used.
 
const ThermalModelParametersParameters () const
 
void UpdateParameters ()
 Calls SetParameters() with current m_Parameters.
 
virtual void SetTemperature (double T)
 Set the temperature.
 
virtual void SetBaryonChemicalPotential (double muB)
 Set the baryon chemical potential.
 
virtual void SetElectricChemicalPotential (double muQ)
 Set the electric chemical potential.
 
virtual void SetStrangenessChemicalPotential (double muS)
 Set the strangeness chemical potential.
 
virtual void SetGammaq (double gammaq)
 Set the light quark fugacity factor.
 
virtual void SetGammaS (double gammaS)
 Set the strange quark fugacity factor.
 
virtual void SetGammaC (double gammaC)
 Set the charm quark fugacity factor.
 
virtual void SetBaryonCharge (int B)
 Set the total baryon number (for canonical ensemble only)
 
virtual void SetElectricCharge (int Q)
 Set the total electric charge (for canonical ensemble only)
 
virtual void SetStrangeness (int S)
 Set the total strangeness (for canonical ensemble only)
 
virtual void SetCharm (int C)
 Set the total charm (for canonical ensemble only)
 
virtual void SetRadius (double)
 Set the same excluded volume radius parameter for all species.
 
virtual void SetRadius (int, double)
 Set the radius parameter for particle species i.
 
virtual void SetVirial (int, int, double)
 Set the excluded volume coefficient \( \tilde{b}_{ij} \).
 
virtual void SetRepulsion (int i, int j, double b)
 Same as SetVirial() but with a more clear name on what is actually does.
 
virtual void SetAttraction (int, int, double)
 Set the vdW mean field attraction coefficient \( a_{ij} \).
 
virtual void DisableMesonMesonVirial ()
 
void DisableMesonMesonRepulsion ()
 
virtual void DisableMesonMesonAttraction ()
 
virtual void DisableMesonBaryonVirial ()
 
void DisableMesonBaryonRepulsion ()
 
virtual void DisableMesonBaryonAttraction ()
 
virtual void DisableBaryonBaryonVirial ()
 
void DisableBaryonBaryonRepulsion ()
 
virtual void DisableBaryonBaryonAttraction ()
 
virtual void DisableBaryonAntiBaryonVirial ()
 
void DisableBaryonAntiBaryonRepulsion ()
 
virtual void DisableBaryonAntiBaryonAttraction ()
 
virtual void ReadInteractionParameters (const std::string &)
 Reads the QvdW interaction parameters from a file.
 
virtual void WriteInteractionParameters (const std::string &)
 Write the QvdW interaction parameters to a file.
 
virtual double VirialCoefficient (int, int) const
 Excluded volume coefficient \( \tilde{b}_{ij} = 0 \).
 
double RepulsionCoefficient (int i, int j) const
 
virtual double AttractionCoefficient (int, int) const
 QvdW mean field attraction coefficient \( a_{ij} \).
 
bool QuantumStatistics () const
 
virtual void SetCalculationType (IdealGasFunctions::QStatsCalculationType type)
 Sets the CalculationType() method to evaluate quantum statistics. Calls the corresponding method in TPS().
 
virtual void SetClusterExpansionOrder (int order)
 Set the number of terms in the cluster expansion method. Calls the corresponding method in TPS().
 
void SetResonanceWidthShape (ThermalParticle::ResonanceWidthShape shape)
 Set the ThermalParticle::ResonanceWidthShape for all particles. Calls the corresponding method in TPS().
 
void SetResonanceWidthIntegrationType (ThermalParticle::ResonanceWidthIntegration type)
 Set the ThermalParticle::ResonanceWidthIntegration scheme for all particles. Calls the corresponding method in TPS().
 
virtual void FillChemicalPotentials ()
 Sets the chemical potentials of all particles.
 
virtual void SetChemicalPotentials (const std::vector< double > &chem=std::vector< double >(0))
 Sets the chemical potentials of all particles.
 
const std::vector< double > & ChemicalPotentials () const
 A vector of chemical potentials of all particles.
 
double ChemicalPotential (int i) const
 Chemical potential of particle species i.
 
virtual void SetChemicalPotential (int i, double chem)
 Sets the chemical potential of particle species i.
 
virtual double FullIdealChemicalPotential (int i) const
 Chemical potential entering the ideal gas expressions of particle species i.
 
bool ConstrainMuB () const
 
void ConstrainMuB (bool constrain)
 
bool ConstrainMuQ () const
 
void ConstrainMuQ (bool constrain)
 
bool ConstrainMuS () const
 
void ConstrainMuS (bool constrain)
 
bool ConstrainMuC () const
 
void ConstrainMuC (bool constrain)
 
void UsePartialChemicalEquilibrium (bool usePCE)
 Sets whether partial chemical equilibrium with additional chemical potentials is used.
 
bool UsePartialChemicalEquilibrium ()
 Whether partial chemical equilibrium with additional chemical potentials is used.
 
void SetSoverB (double SB)
 The entropy per baryon ratio to be used to constrain the baryon chemical potential.
 
double SoverB () const
 
void SetQoverB (double QB)
 The electric-to-baryon charge ratio to be used to constrain the electric chemical potential.
 
double QoverB () const
 
void SetVolume (double Volume)
 Sets the system volume.
 
double Volume () const
 System volume (fm \(^3\))
 
void SetVolumeRadius (double R)
 Sets the system radius.
 
double CanonicalVolume () const
 The canonical correlation volume V \(_c\) (fm \(^3\))
 
void SetCanonicalVolume (double Volume)
 Set the canonical correlation volume V \(_c\).
 
void SetCanonicalVolumeRadius (double Rc)
 Set the canonical correlation system radius.
 
void ConstrainChemicalPotentials (bool resetInitialValues=true)
 Constrains the chemical potentials \( \mu_B,\,\mu_Q,\,\mu_S,\,\mu_C \) by the conservation laws imposed.
 
virtual void FixParametersNoReset ()
 Method which actually implements ConstrainChemicalPotentialsNoReset() (for backward compatibility).
 
virtual bool SolveChemicalPotentials (double totB=0., double totQ=0., double totS=0., double totC=0., double muBinit=0., double muQinit=0., double muSinit=0., double muCinit=0., bool ConstrMuB=true, bool ConstrMuQ=true, bool ConstrMuS=true, bool ConstrMuC=true)
 The procedure which calculates the chemical potentials \( \mu_B,\,\mu_Q,\,\mu_S,\,\mu_C \) which reproduce the specified total baryon, electric, strangeness, and charm charges of the system.
 
virtual bool FixChemicalPotentialsThroughDensities (double rhoB=0., double rhoQ=0., double rhoS=0., double rhoC=0., double muBinit=0., double muQinit=0., double muSinit=0., double muCinit=0., bool ConstrMuB=true, bool ConstrMuQ=true, bool ConstrMuS=true, bool ConstrMuC=true)
 The procedure which calculates the chemical potentials \( \mu_B,\,\mu_Q,\,\mu_S,\,\mu_C \) which reproduce the specified baryon, electric, strangeness, and charm densities.
 
virtual void CalculateDensities ()
 Calculates the primordial and total (after decays) densities of all species.
 
virtual void ValidateCalculation ()
 Checks whether issues have occured during the calculation of particle densities in the CalculateDensities() method.
 
std::string ValidityCheckLog () const
 All messaged which occured during the validation procedure in the ValidateCalculation() method.
 
virtual void CalculateFeeddown ()
 Calculates the total densities which include feeddown contributions.
 
virtual void CalculateTemperatureDerivatives ()
 Computes the temperature derivatives of densities, shifted chemical potentials, and primordial hadron number susceptibilities.
 
virtual void CalculateTwoParticleCorrelations ()
 Computes the fluctuations and correlations of the primordial particle numbers.
 
virtual void CalculateTwoParticleFluctuationsDecays ()
 Computes particle number correlations and fluctuations for all final-state particles which are marked stable.
 
virtual double TwoParticleSusceptibilityPrimordial (int i, int j) const
 Returns the computed primordial particle number (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with ids i and j. CalculateFluctuations() must be called beforehand.
 
virtual double TwoParticleSusceptibilityPrimordialByPdg (long long id1, long long id2)
 Returns the computed primordial particle number (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with pdg codes id1 and id2. CalculateFluctuations() must be called beforehand.
 
virtual double TwoParticleSusceptibilityTemperatureDerivativePrimordial (int i, int j) const
 Returns the computed temperature derivative of the primordial particle number (cross-)susceptibility \( \frac{\partial}{\partial T} \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with ids i and j. CalculateFluctuations() must be called beforehand.
 
virtual double TwoParticleSusceptibilityTemperatureDerivativePrimordialByPdg (long long id1, long long id2)
 Returns the computed temperature derivative of the primordial particle number (cross-)susceptibility \( \frac{\partial}{\partial T} \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with pdg codes id1 and id2. CalculateFluctuations() must be called beforehand.
 
virtual double NetParticleSusceptibilityPrimordialByPdg (long long id1, long long id2)
 Returns the computed (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) between primordial net-particle numbers for pdg codes id1 and id2. CalculateFluctuations() must be called beforehand.
 
virtual double TwoParticleSusceptibilityFinal (int i, int j) const
 Returns the computed final particle number (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with ids i and j. CalculateFluctuations() must be called beforehand. Both particle species must be those marked stable.
 
virtual double TwoParticleSusceptibilityFinalByPdg (long long id1, long long id2)
 Returns the computed final particle number (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with pdg codes id1 and id2. CalculateFluctuations() must be called beforehand. Both particle species must be those marked stable.
 
virtual double NetParticleSusceptibilityFinalByPdg (long long id1, long long id2)
 Returns the computed (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) between final net-particle numbers for pdg codes id1 and id2. CalculateFluctuations() must be called beforehand.
 
virtual double PrimordialParticleChargeSusceptibility (int i, ConservedCharge::Name chg) const
 Returns the computed primordial particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with id i and conserved charge chg. CalculateFluctuations() must be called beforehand.
 
virtual double PrimordialParticleChargeSusceptibilityByPdg (long long id1, ConservedCharge::Name chg)
 Returns the computed primordial particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with pdg code id1 and conserved charge chg. CalculateFluctuations() must be called beforehand.
 
virtual double PrimordialNetParticleChargeSusceptibilityByPdg (long long id1, ConservedCharge::Name chg)
 Returns the computed primordial net particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with pdg code id1 and conserved charge chg. CalculateFluctuations() must be called beforehand.
 
virtual double FinalParticleChargeSusceptibility (int i, ConservedCharge::Name chg) const
 Returns the computed final (after decays) particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with id i and conserved charge chg. CalculateFluctuations() must be called beforehand.
 
virtual double FinalParticleChargeSusceptibilityByPdg (long long id1, ConservedCharge::Name chg)
 Returns the computed final (after decays) particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with pdg code id1 and conserved charge chg. CalculateFluctuations() must be called beforehand.
 
virtual double FinalNetParticleChargeSusceptibilityByPdg (long long id1, ConservedCharge::Name chg)
 Returns the computed final (after decays) net particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with pdg code id1 and conserved charge chg. CalculateFluctuations() must be called beforehand.
 
virtual double SusceptibilityDimensionfull (ConservedCharge::Name i, ConservedCharge::Name j) const
 A 2nd order susceptibility of conserved charges.
 
virtual void CalculateSusceptibilityMatrix ()
 Calculates the conserved charges susceptibility matrix.
 
virtual void CalculateProxySusceptibilityMatrix ()
 Calculates the susceptibility matrix of conserved charges proxies.
 
virtual void CalculateParticleChargeCorrelationMatrix ()
 Calculates the matrix of correlators between primordial (and also final) particle numbers and conserved charges.
 
virtual std::vector< double > CalculateChargeFluctuations (const std::vector< double > &chgs, int order=4)
 Calculates fluctuations (diagonal susceptibilities) of an arbitrary "conserved" charge.
 

Additional Inherited Members

- Public Types inherited from thermalfist::ThermalModelBase
enum  ThermalModelEnsemble { GCE = 0 , CE = 1 , SCE = 2 , CCE = 3 }
 The list of statistical ensembles. More...
 
enum  ThermalModelInteraction {
  Ideal = 0 , DiagonalEV = 1 , CrosstermsEV = 2 , QvdW = 3 ,
  RealGas = 4 , MeanField = 5
}
 Type of interactions included in the HRG model. More...
 

Detailed Description

Class implementing the ideal HRG model with exact conservation of charm (charm-canonical ensemble).

Assumes that the net charm should be equal to zero.

Assumes there are no multi-charmed particles.

Applies Maxwell-Boltzmann statistics to all charmed particles.

Fluctuation observables are not supported.

Definition at line 34 of file ThermalModelCanonicalCharm.h.

Constructor & Destructor Documentation

◆ ThermalModelCanonicalCharm()

thermalfist::ThermalModelCanonicalCharm::ThermalModelCanonicalCharm ( ThermalParticleSystem * TPS,
const ThermalModelParameters & params = ThermalModelParameters() )

Construct a new ThermalModelCanonicalCharm object.

Parameters
TPSA pointer to the ThermalParticleSystem object containing the particle list
paramsThermalModelParameters object with current thermal parameters

Definition at line 20 of file ThermalModelCanonicalCharm.cpp.

◆ ~ThermalModelCanonicalCharm()

thermalfist::ThermalModelCanonicalCharm::~ThermalModelCanonicalCharm ( void )
virtual

Destroy the ThermalModelCanonicalCharm object.

Definition at line 42 of file ThermalModelCanonicalCharm.cpp.

Member Function Documentation

◆ CalculateBaryonMatterEntropyDensity()

virtual double thermalfist::ThermalModelCanonicalCharm::CalculateBaryonMatterEntropyDensity ( )
inlinevirtual

Definition at line 108 of file ThermalModelCanonicalCharm.h.

◆ CalculateDensitiesGCE()

void thermalfist::ThermalModelCanonicalCharm::CalculateDensitiesGCE ( )
virtual

Calculates the particle densities in a grand-canonical ensemble.

A non-GCE based derived class will override this method.

Reimplemented from thermalfist::ThermalModelBase.

Definition at line 69 of file ThermalModelCanonicalCharm.cpp.

◆ CalculateEnergyDensitiesGCE()

void thermalfist::ThermalModelCanonicalCharm::CalculateEnergyDensitiesGCE ( )

Calculates the grand-canonical energy densities.

Definition at line 76 of file ThermalModelCanonicalCharm.cpp.

◆ CalculateEnergyDensity()

double thermalfist::ThermalModelCanonicalCharm::CalculateEnergyDensity ( )
virtual

Definition at line 145 of file ThermalModelCanonicalCharm.cpp.

◆ CalculateEnergyDensityDerivativeT()

virtual double thermalfist::ThermalModelCanonicalCharm::CalculateEnergyDensityDerivativeT ( )
inlinevirtual

Definition at line 116 of file ThermalModelCanonicalCharm.h.

◆ CalculateEntropyDensity()

double thermalfist::ThermalModelCanonicalCharm::CalculateEntropyDensity ( )
virtual

Definition at line 153 of file ThermalModelCanonicalCharm.cpp.

◆ CalculateFluctuations()

void thermalfist::ThermalModelCanonicalCharm::CalculateFluctuations ( )
virtual

Dummy function. Fluctuations not yet supported.

Reimplemented from thermalfist::ThermalModelBase.

Definition at line 134 of file ThermalModelCanonicalCharm.cpp.

◆ CalculateMesonMatterEntropyDensity()

virtual double thermalfist::ThermalModelCanonicalCharm::CalculateMesonMatterEntropyDensity ( )
inlinevirtual

Definition at line 110 of file ThermalModelCanonicalCharm.h.

◆ CalculatePressure()

double thermalfist::ThermalModelCanonicalCharm::CalculatePressure ( )
virtual

Definition at line 161 of file ThermalModelCanonicalCharm.cpp.

◆ CalculatePrimordialDensities()

void thermalfist::ThermalModelCanonicalCharm::CalculatePrimordialDensities ( )
virtual

Calculates the primordial densities of all species.

Calculates the primordial densities by applying the canonical corrections factors to the grand-canonical densities.

Implements thermalfist::ThermalModelBase.

Definition at line 89 of file ThermalModelCanonicalCharm.cpp.

◆ ChangeTPS()

void thermalfist::ThermalModelCanonicalCharm::ChangeTPS ( ThermalParticleSystem * TPS)
virtual

Change the particle list.

Parameters
TPSA pointer to new particle list.

Reimplemented from thermalfist::ThermalModelBase.

Definition at line 57 of file ThermalModelCanonicalCharm.cpp.

◆ FixParameters()

void thermalfist::ThermalModelCanonicalCharm::FixParameters ( )
virtual

Method which actually implements ConstrainChemicalPotentials() (for backward compatibility).

Ensures that charm chemical potential should not be computed.

Reimplemented from thermalfist::ThermalModelBase.

Definition at line 83 of file ThermalModelCanonicalCharm.cpp.

◆ IsConservedChargeCanonical()

bool thermalfist::ThermalModelCanonicalCharm::IsConservedChargeCanonical ( ConservedCharge::Name charge) const
virtual

Definition at line 167 of file ThermalModelCanonicalCharm.cpp.

◆ ParticleScalarDensity()

virtual double thermalfist::ThermalModelCanonicalCharm::ParticleScalarDensity ( int )
inlinevirtual

Definition at line 114 of file ThermalModelCanonicalCharm.h.

◆ ParticleScaledVariance()

virtual double thermalfist::ThermalModelCanonicalCharm::ParticleScaledVariance ( int )
inlinevirtual

Definition at line 112 of file ThermalModelCanonicalCharm.h.

◆ SetCharmChemicalPotential()

void thermalfist::ThermalModelCanonicalCharm::SetCharmChemicalPotential ( double muC)
virtual

Override the base class method to always set \( \mu_C \) to zero.

Parameters
muCValue irrelevant

Reimplemented from thermalfist::ThermalModelBase.

Definition at line 52 of file ThermalModelCanonicalCharm.cpp.

◆ SetParameters()

void thermalfist::ThermalModelCanonicalCharm::SetParameters ( const ThermalModelParameters & params)
virtual

The thermal parameters.

Parameters
paramsThe thermal parameters to be used Ensures that charm chemical potential is zero.

Reimplemented from thermalfist::ThermalModelBase.

Definition at line 47 of file ThermalModelCanonicalCharm.cpp.

◆ SetStatistics()

void thermalfist::ThermalModelCanonicalCharm::SetStatistics ( bool stats)
virtual

Set whether quantum statistics is used, 0 - Boltzmann, 1 - Quantum Ensures that the Maxwell-Boltzmann statistics are applied to all charmed particles.

Reimplemented from thermalfist::ThermalModelBase.

Definition at line 62 of file ThermalModelCanonicalCharm.cpp.


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