Analysis Software
Documentation for sPHENIX simulation software
|
#include <JETSCAPE/blob/main/external_packages/trento/src/nucleon.h>
Public Member Functions | |
NucleonProfile (const VarMap &var_map) | |
Instantiate from the configuration. | |
double | radius () const |
The radius at which the nucleon profile is truncated. | |
double | max_impact () const |
The maximum impact parameter for participation. | |
void | fluctuate () |
double | thickness (double distance_sqr) const |
double | deterministic_thickness (double distance_sqr) const |
double | norm_Tpp (double bpp_sqr) const |
WK: return Tpp given bpp^2. | |
bool | participate (Nucleon &A, Nucleon &B) const |
Randomly determine if a pair of nucleons participates. | |
Private Attributes | |
const double | width_sqr_ |
Width of Gaussian thickness function. | |
const double | trunc_radius_sqr_ |
Truncate the Gaussian at this radius. | |
const double | max_impact_sqr_ |
Maximum impact parameter for participants. | |
const double | neg_one_div_two_width_sqr_ |
const double | neg_one_div_four_width_sqr_ |
WK 1/4w^2. | |
const double | one_div_four_pi_ |
WK 1/4pi. | |
const double | cross_sec_param_ |
const FastExp< double > | fast_exp_ |
Fast exponential for calculating the thickness profile. | |
std::gamma_distribution< double > | fluct_dist_ |
Fluctuation distribution. | |
double | prefactor_ |
Thickness function prefactor = fluct/(2*pi*w^2) | |
bool | with_ncoll_ |
bool variable to calcualte Ncoll | |
Encapsulates properties shared by all nucleons: transverse thickness profile, cross section, fluctuations. Responsible for sampling nucleon-nucleon participation with given \sigma_{NN}
.
Definition at line 24 of file nucleon.h.
View newest version in sPHENIX GitHub at line 24 of file nucleon.h
|
explicit |
Instantiate from the configuration.
Definition at line 116 of file nucleon.cxx.
View newest version in sPHENIX GitHub at line 116 of file nucleon.cxx
WK: same as above, but without the Gamma fluctuation, used in the calculation of binary collision density
Definition at line 188 of file nucleon.h.
View newest version in sPHENIX GitHub at line 188 of file nucleon.h
References fast_exp_, neg_one_div_two_width_sqr_, trunc_radius_sqr_, and width_sqr_.
Referenced by trento::Event::accumulate_TAB().
|
inline |
Randomly fluctuate the profile. Should be called prior to evaluating the thickness function for a new nucleon.
Definition at line 176 of file nucleon.h.
View newest version in sPHENIX GitHub at line 176 of file nucleon.h
References trento::random::engine, fluct_dist_, prefactor_, and width_sqr_.
Referenced by trento::Event::compute_nuclear_thickness(), and TEST_CASE().
|
inline |
The maximum impact parameter for participation.
Definition at line 172 of file nucleon.h.
View newest version in sPHENIX GitHub at line 172 of file nucleon.h
References max_impact_sqr_.
WK: return Tpp given bpp^2.
Definition at line 196 of file nucleon.h.
View newest version in sPHENIX GitHub at line 196 of file nucleon.h
References fast_exp_, neg_one_div_four_width_sqr_, one_div_four_pi_, and width_sqr_.
Referenced by trento::Event::accumulate_TAB().
Randomly determine if a pair of nucleons participates.
Definition at line 201 of file nucleon.h.
View newest version in sPHENIX GitHub at line 201 of file nucleon.h
References cross_sec_param_, dy, trento::Nucleon::is_participant(), max_impact_sqr_, trento::Nucleon::set_participant(), width_sqr_, with_ncoll_, trento::Nucleon::x(), and trento::Nucleon::y().
Referenced by trento::Collider::sample_impact_param().
|
inline |
The radius at which the nucleon profile is truncated.
Definition at line 168 of file nucleon.h.
View newest version in sPHENIX GitHub at line 168 of file nucleon.h
References trunc_radius_sqr_.
Referenced by trento::Event::accumulate_TAB(), and trento::Event::compute_nuclear_thickness().
Compute the thickness function at a (squared) distance from the profile center.
Definition at line 181 of file nucleon.h.
View newest version in sPHENIX GitHub at line 181 of file nucleon.h
References fast_exp_, neg_one_div_two_width_sqr_, prefactor_, and trunc_radius_sqr_.
Referenced by trento::Event::compute_nuclear_thickness().
|
private |
Dimensionless parameter set to reproduce the inelastic nucleon-nucleon cross section {NN}. Calculated in constructor.
Definition at line 75 of file nucleon.h.
View newest version in sPHENIX GitHub at line 75 of file nucleon.h
Referenced by participate().
Fast exponential for calculating the thickness profile.
Definition at line 78 of file nucleon.h.
View newest version in sPHENIX GitHub at line 78 of file nucleon.h
Referenced by deterministic_thickness(), norm_Tpp(), and thickness().
|
private |
Fluctuation distribution.
Definition at line 81 of file nucleon.h.
View newest version in sPHENIX GitHub at line 81 of file nucleon.h
Referenced by fluctuate().
|
private |
Maximum impact parameter for participants.
Definition at line 61 of file nucleon.h.
View newest version in sPHENIX GitHub at line 61 of file nucleon.h
Referenced by max_impact(), and participate().
|
private |
WK 1/4w^2.
Definition at line 68 of file nucleon.h.
View newest version in sPHENIX GitHub at line 68 of file nucleon.h
Referenced by norm_Tpp().
|
private |
Cache (-1/2w^2) for use in the thickness function exponential. Yes, this actually makes a speed difference...
Definition at line 65 of file nucleon.h.
View newest version in sPHENIX GitHub at line 65 of file nucleon.h
Referenced by deterministic_thickness(), and thickness().
|
private |
WK 1/4pi.
Definition at line 71 of file nucleon.h.
View newest version in sPHENIX GitHub at line 71 of file nucleon.h
Referenced by norm_Tpp().
|
private |
Thickness function prefactor = fluct/(2*pi*w^2)
Definition at line 84 of file nucleon.h.
View newest version in sPHENIX GitHub at line 84 of file nucleon.h
Referenced by fluctuate(), and thickness().
|
private |
Truncate the Gaussian at this radius.
Definition at line 58 of file nucleon.h.
View newest version in sPHENIX GitHub at line 58 of file nucleon.h
Referenced by deterministic_thickness(), radius(), and thickness().
|
private |
Width of Gaussian thickness function.
Definition at line 55 of file nucleon.h.
View newest version in sPHENIX GitHub at line 55 of file nucleon.h
Referenced by deterministic_thickness(), fluctuate(), norm_Tpp(), and participate().
|
private |
bool variable to calcualte Ncoll
Definition at line 87 of file nucleon.h.
View newest version in sPHENIX GitHub at line 87 of file nucleon.h
Referenced by participate().