Analysis Software
Documentation for sPHENIX simulation software
|
#include <JETSCAPE/blob/main/external_packages/trento/src/collider.h>
Public Member Functions | |
Collider (const VarMap &var_map) | |
Instantiate from the configuration. | |
~Collider () | |
void | run_events () |
Run events and output. | |
const std::vector< records > & | all_records () const |
const Event & | expose_event () const |
Private Member Functions | |
double | sample_impact_param () |
Sample a min-bias impact parameter within the set range. | |
Private Attributes | |
std::unique_ptr< Nucleus > | nucleusA_ |
Pair of nucleus projectiles. | |
std::unique_ptr< Nucleus > | nucleusB_ |
NucleonProfile | nucleon_profile_ |
The nucleon profile instance. | |
const int | nevents_ |
Number of events to run. | |
int | ntrys_ |
Number of trys. | |
const double | bmin_ |
Minimum and maximum impact parameter. | |
const double | bmax_ |
const int | npartmin_ |
WK: Minimum and maximum Npart. | |
const int | npartmax_ |
const double | stotmin_ |
WK: Minimum and maximum total entropy (at midrapitiy). | |
const double | stotmax_ |
const double | asymmetry_ |
Event | event_ |
The event instance. | |
Output | output_ |
The output instance. | |
bool | with_ncoll_ |
Whether calculate Ncoll and nulear binary collision density. | |
std::vector< records > | all_records_ |
Definition at line 38 of file collider.h.
View newest version in sPHENIX GitHub at line 38 of file collider.h
|
explicit |
Instantiate from the configuration.
Definition at line 61 of file collider.cxx.
View newest version in sPHENIX GitHub at line 61 of file collider.cxx
References trento::random::engine, and seed.
|
default |
Declare a destructor to properly handle the std::unique_ptr<Nucleus> members. At this point in the code, Nucleus is an incomplete type so the compiler does not know how to delete it. Therefore the destructor is defined (as default) in the implementation file, at which point Nucleus is fully defined. See e.g. Item 22 of Effective Modern C++ by Scott Meyers and this stackoverflow answer: http://stackoverflow.com/a/6089065.
|
inline |
Definition at line 53 of file collider.h.
View newest version in sPHENIX GitHub at line 53 of file collider.h
References all_records_.
Referenced by Jetscape::TrentoInitial::GenCenTab().
|
inline |
Definition at line 56 of file collider.h.
View newest version in sPHENIX GitHub at line 56 of file collider.h
References event_.
void trento::Collider::run_events | ( | ) |
Run events and output.
Definition at line 88 of file collider.cxx.
View newest version in sPHENIX GitHub at line 88 of file collider.cxx
References all_records_, trento::records::b, KFPMath::b, bmax_, bmin_, trento::Event::compute(), event_, trento::records::i, trento::records::mult, trento::Event::multiplicity(), n, nevents_, trento::records::npart, trento::Event::npart(), npartmax_, npartmin_, ntrys_, nucleon_profile_, nucleusA_, nucleusB_, output_, sample_impact_param(), stotmax_, and stotmin_.
Referenced by Jetscape::TrentoInitial::GenCenTab(), main(), and TEST_CASE().
|
private |
Sample a min-bias impact parameter within the set range.
Definition at line 124 of file collider.cxx.
View newest version in sPHENIX GitHub at line 124 of file collider.cxx
References A, trento::Event::accumulate_TAB(), asymmetry_, KFPMath::b, bmax_, bmin_, trento::Event::clear_TAB(), event_, ntrys_, nucleon_profile_, nucleusA_, nucleusB_, trento::NucleonProfile::participate(), and with_ncoll_.
Referenced by run_events().
|
private |
Definition at line 114 of file collider.h.
View newest version in sPHENIX GitHub at line 114 of file collider.h
Referenced by all_records(), and run_events().
|
private |
Parameterizes the degree of asymmetry between the two projectiles. Used to apportion the total impact parameter to each projectile so that the resulting overlap is approximately centered. Given the two nuclear radii rA and rB (see Nucleus::radius()), the parameter is
asymmetry = rA / (rA + rB)
and the impact parameter b is apportioned
offset_A = asymmetry * b offset_B = (asymmetry-1) * b
So for example, two identical projectiles would have asymmetry = 0.5, and each would be offset by half the impact parameter. A proton-lead system would have asymmetry = 1, meaning the lead nucleus would be offset by the entire impact parameter and the proton would not be offset at all.
Definition at line 102 of file collider.h.
View newest version in sPHENIX GitHub at line 102 of file collider.h
Referenced by sample_impact_param().
|
private |
Definition at line 78 of file collider.h.
View newest version in sPHENIX GitHub at line 78 of file collider.h
Referenced by run_events(), and sample_impact_param().
|
private |
Minimum and maximum impact parameter.
Definition at line 78 of file collider.h.
View newest version in sPHENIX GitHub at line 78 of file collider.h
Referenced by run_events(), and sample_impact_param().
|
private |
The event instance.
Definition at line 105 of file collider.h.
View newest version in sPHENIX GitHub at line 105 of file collider.h
Referenced by expose_event(), run_events(), and sample_impact_param().
|
private |
Number of events to run.
Definition at line 72 of file collider.h.
View newest version in sPHENIX GitHub at line 72 of file collider.h
Referenced by run_events().
|
private |
Definition at line 81 of file collider.h.
View newest version in sPHENIX GitHub at line 81 of file collider.h
Referenced by run_events().
|
private |
WK: Minimum and maximum Npart.
Definition at line 81 of file collider.h.
View newest version in sPHENIX GitHub at line 81 of file collider.h
Referenced by run_events().
|
private |
Number of trys.
Definition at line 75 of file collider.h.
View newest version in sPHENIX GitHub at line 75 of file collider.h
Referenced by run_events(), and sample_impact_param().
|
private |
The nucleon profile instance.
Definition at line 69 of file collider.h.
View newest version in sPHENIX GitHub at line 69 of file collider.h
Referenced by run_events(), and sample_impact_param().
|
private |
Pair of nucleus projectiles.
Definition at line 66 of file collider.h.
View newest version in sPHENIX GitHub at line 66 of file collider.h
Referenced by run_events(), and sample_impact_param().
|
private |
Definition at line 66 of file collider.h.
View newest version in sPHENIX GitHub at line 66 of file collider.h
Referenced by run_events(), and sample_impact_param().
|
private |
The output instance.
Definition at line 108 of file collider.h.
View newest version in sPHENIX GitHub at line 108 of file collider.h
Referenced by run_events().
|
private |
Definition at line 84 of file collider.h.
View newest version in sPHENIX GitHub at line 84 of file collider.h
Referenced by run_events().
|
private |
WK: Minimum and maximum total entropy (at midrapitiy).
Definition at line 84 of file collider.h.
View newest version in sPHENIX GitHub at line 84 of file collider.h
Referenced by run_events().
|
private |
Whether calculate Ncoll and nulear binary collision density.
Definition at line 111 of file collider.h.
View newest version in sPHENIX GitHub at line 111 of file collider.h
Referenced by sample_impact_param().