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

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

+ Inheritance diagram for trento::DeformedWoodsSaxonNucleus:
+ Collaboration diagram for trento::DeformedWoodsSaxonNucleus:

Public Member Functions

 DeformedWoodsSaxonNucleus (std::size_t A, double R, double a, double beta2, double beta4, double dmin=0)
 
virtual double radius () const override
 

Private Member Functions

virtual void sample_nucleons_impl () override
 Sample deformed Woods-Saxon nucleon positions.
 
double deformed_woods_saxon_dist (double r, double cos_theta) const
 Evaluate the deformed Woods-Saxon distribution.
 

Private Attributes

const double R_
 Woods-Saxon parameters.
 
const double a_
 
const double beta2_
 
const double beta4_
 
const double rmax_
 Maximum radius.
 

Additional Inherited Members

- Public Types inherited from trento::Nucleus
using size_type = std::vector< Nucleon >::size_type
 
using iterator = std::vector< Nucleon >::iterator
 
using const_iterator = std::vector< Nucleon >::const_iterator
 
- Static Public Member Functions inherited from trento::Nucleus
static NucleusPtr create (const std::string &species, double nucleon_width, double nucleon_dmin=0)
 
- Protected Member Functions inherited from trento::MinDistNucleus
 MinDistNucleus (std::size_t A, double dmin=0)
 
bool is_too_close (const_iterator nucleon) const
 

Detailed Description

Samples nucleons from a deformed spheroidal Woods-Saxon distribution

.. math::

f(r, ) {1}{1 + ({r-R(1+{20}+{40})}{a})}.

For deformed heavy nuclei such as uranium.

Definition at line 244 of file nucleus.h.

View newest version in sPHENIX GitHub at line 244 of file nucleus.h

Constructor & Destructor Documentation

trento::DeformedWoodsSaxonNucleus::DeformedWoodsSaxonNucleus ( std::size_t  A,
double  R,
double  a,
double  beta2,
double  beta4,
double  dmin = 0 
)

Nucleus::create() sets these parameters for a given species.

Parameters
Anumber of nucleons
RWoods-Saxon radius
aWoods-Saxon surface thickness
beta2Woods-Saxon deformation parameter
beta4Woods-Saxon deformation parameter
dminminimum nucleon-nucleon distance (optional, default zero)

Member Function Documentation

double trento::DeformedWoodsSaxonNucleus::deformed_woods_saxon_dist ( double  r,
double  cos_theta 
) const
private

Evaluate the deformed Woods-Saxon distribution.

Definition at line 272 of file nucleus.cxx.

View newest version in sPHENIX GitHub at line 272 of file nucleus.cxx

References a_, beta2_, beta4_, trento::random::cos_theta(), and R_.

Referenced by sample_nucleons_impl().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double trento::DeformedWoodsSaxonNucleus::radius ( ) const
overridevirtual

The radius of a deformed Woods-Saxon Nucleus is computed from the parameters (R, a, beta2, beta4).

Return something a bit smaller than the true maximum radius. The Woods-Saxon distribution falls off very rapidly (exponentially), and since this radius determines the impact parameter range, the true maximum radius would cause far too many events with zero participants.

Implements trento::Nucleus.

Definition at line 268 of file nucleus.cxx.

View newest version in sPHENIX GitHub at line 268 of file nucleus.cxx

References a_, and rmax_.

void trento::DeformedWoodsSaxonNucleus::sample_nucleons_impl ( )
overrideprivatevirtual

Sample deformed Woods-Saxon nucleon positions.

Implements trento::Nucleus.

Definition at line 289 of file nucleus.cxx.

View newest version in sPHENIX GitHub at line 289 of file nucleus.cxx

References KFPMath::a, KFPMath::b, trento::Nucleus::begin(), trento::random::cos_theta(), deformed_woods_saxon_dist(), trento::Nucleus::end(), trento::MinDistNucleus::is_too_close(), ActsTests::PropagationDatasets::phi, physmon_track_finding_ttbar::r, rmax_, trento::Nucleus::set_nucleon_position(), trento::Nucleus::size(), Acts::Experimental::detail::BlueprintHelper::sort(), ambiguity_solver_full_chain::x, y, and physmon_track_finding_ttbar::z.

+ Here is the call graph for this function:

Member Data Documentation

const double trento::DeformedWoodsSaxonNucleus::a_
private

Definition at line 268 of file nucleus.h.

View newest version in sPHENIX GitHub at line 268 of file nucleus.h

Referenced by deformed_woods_saxon_dist(), and radius().

const double trento::DeformedWoodsSaxonNucleus::beta2_
private

Definition at line 268 of file nucleus.h.

View newest version in sPHENIX GitHub at line 268 of file nucleus.h

Referenced by deformed_woods_saxon_dist().

const double trento::DeformedWoodsSaxonNucleus::beta4_
private

Definition at line 268 of file nucleus.h.

View newest version in sPHENIX GitHub at line 268 of file nucleus.h

Referenced by deformed_woods_saxon_dist().

const double trento::DeformedWoodsSaxonNucleus::R_
private

Woods-Saxon parameters.

Definition at line 268 of file nucleus.h.

View newest version in sPHENIX GitHub at line 268 of file nucleus.h

Referenced by deformed_woods_saxon_dist().

const double trento::DeformedWoodsSaxonNucleus::rmax_
private

Maximum radius.

Definition at line 271 of file nucleus.h.

View newest version in sPHENIX GitHub at line 271 of file nucleus.h

Referenced by radius(), and sample_nucleons_impl().


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