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

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

+ Inheritance diagram for trento::WoodsSaxonNucleus:
+ Collaboration diagram for trento::WoodsSaxonNucleus:

Public Member Functions

 WoodsSaxonNucleus (std::size_t A, double R, double a, double dmin=0)
 
virtual double radius () const override
 The radius of a Woods-Saxon Nucleus is computed from the parameters (R, a).
 

Private Member Functions

virtual void sample_nucleons_impl () override
 Sample Woods-Saxon nucleon positions.
 

Private Attributes

const double R_
 Woods-Saxon parameters.
 
const double a_
 
std::piecewise_linear_distribution
< double
woods_saxon_dist_
 

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 spherically symmetric Woods-Saxon distribution

.. math::

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

For non-deformed heavy nuclei such as lead.

Definition at line 208 of file nucleus.h.

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

Constructor & Destructor Documentation

trento::WoodsSaxonNucleus::WoodsSaxonNucleus ( std::size_t  A,
double  R,
double  a,
double  dmin = 0 
)

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

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

Definition at line 185 of file nucleus.cxx.

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

References physmon_track_finding_ttbar::r.

Member Function Documentation

virtual double trento::WoodsSaxonNucleus::radius ( ) const
overridevirtual

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

Implements trento::Nucleus.

virtual void trento::WoodsSaxonNucleus::sample_nucleons_impl ( )
overrideprivatevirtual

Sample Woods-Saxon nucleon positions.

Implements trento::Nucleus.

Member Data Documentation

const double trento::WoodsSaxonNucleus::a_
private

Definition at line 225 of file nucleus.h.

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

const double trento::WoodsSaxonNucleus::R_
private

Woods-Saxon parameters.

Definition at line 225 of file nucleus.h.

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

std::piecewise_linear_distribution<double> trento::WoodsSaxonNucleus::woods_saxon_dist_
mutableprivate

Woods-Saxon distribution object. Since the dist does not have an analytic inverse CDF, approximate it as a piecewise linear dist. For a large number of steps this is very accurate.

Definition at line 230 of file nucleus.h.

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


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