Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
trento::Collider Class Reference

#include <JETSCAPE/blob/main/external_packages/trento/src/collider.h>

+ Collaboration diagram for trento::Collider:

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 Eventexpose_event () const
 

Private Member Functions

double sample_impact_param ()
 Sample a min-bias impact parameter within the set range.
 

Private Attributes

std::unique_ptr< NucleusnucleusA_
 Pair of nucleus projectiles.
 
std::unique_ptr< NucleusnucleusB_
 
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< recordsall_records_
 

Detailed Description

Definition at line 38 of file collider.h.

View newest version in sPHENIX GitHub at line 38 of file collider.h

Constructor & Destructor Documentation

trento::Collider::Collider ( const VarMap var_map)
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.

trento::Collider::~Collider ( )
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.

Member Function Documentation

const std::vector<records>& trento::Collider::all_records ( ) const
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().

+ Here is the caller graph for this function:

const Event& trento::Collider::expose_event ( ) const
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double trento::Collider::sample_impact_param ( )
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

std::vector<records> trento::Collider::all_records_
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().

const double trento::Collider::asymmetry_
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().

const double trento::Collider::bmax_
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().

const double trento::Collider::bmin_
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().

Event trento::Collider::event_
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().

const int trento::Collider::nevents_
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().

const int trento::Collider::npartmax_
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().

const int trento::Collider::npartmin_
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().

int trento::Collider::ntrys_
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().

NucleonProfile trento::Collider::nucleon_profile_
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().

std::unique_ptr<Nucleus> trento::Collider::nucleusA_
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().

std::unique_ptr<Nucleus> trento::Collider::nucleusB_
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().

Output trento::Collider::output_
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().

const double trento::Collider::stotmax_
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().

const double trento::Collider::stotmin_
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().

bool trento::Collider::with_ncoll_
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().


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