PYTHIA  8.312
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
WoodsSaxonModel Class Reference

A general Woods-Saxon distributed nucleus. More...

#include <HINucleusModel.h>

Inheritance diagram for WoodsSaxonModel:
HardCoreModel NucleusModel GLISSANDOModel

Public Member Functions

virtual ~WoodsSaxonModel ()
 Virtual destructor.
 
 WoodsSaxonModel ()
 
bool init () override
 Initialize parameters. More...
 
vector< Nucleongenerate () const override
 Generate all the nucleons. More...
 
double a () const
 Accessor functions.
 
- Public Member Functions inherited from HardCoreModel
 HardCoreModel ()
 Default constructor.
 
virtual ~HardCoreModel ()
 Virtual destructor.
 
void initHardCore ()
 HardCoreModel is a base class for models implementing a hard core. More...
 
double rSample () const
 
- Public Member Functions inherited from NucleusModel
 NucleusModel ()
 
virtual ~NucleusModel ()
 Virtual destructor.
 
void initPtr (int idIn, bool isProjIn, Info &infoIn)
 Init method. More...
 
void setParticle (int idIn)
 Set the particle id of the produced nucleus. More...
 
virtual void setPN (const Vec4 &pNIn)
 Set (new) nucleon momentum.
 
virtual Particle produceIon ()
 Produce an instance of the incoming nucleon. More...
 
int id () const
 Accessor functions.
 
int I () const
 
int A () const
 
int Z () const
 
int L () const
 
double R () const
 

Protected Member Functions

Vec4 generateNucleon () const
 Place a nucleon inside a nucleus. More...
 
void overestimates ()
 Calculate overestimates for sampling.
 

Protected Attributes

double aSave
 The nucleus radius, skin depth parameter, and hard core nucleon radius.
 
- Protected Attributes inherited from HardCoreModel
bool useHardCore
 Use the hard core or not.
 
bool gaussHardCore
 Use a Gaussian hard core.
 
double hardCoreRadius
 The radius or width of the hard core.
 
- Protected Attributes inherited from NucleusModel
bool isProj
 Projectile or target.
 
int idSave
 The nucleus.
 
int ISave
 Cache information about the nucleus.
 
int ASave
 
int ZSave
 
int LSave
 
double RSave
 The estimate of the nucleus radius.
 
double mSave {}
 The mass of the nucleus and its nucleons.
 
Vec4 pNSave {}
 The nucleon beam momentum.
 
InfoinfoPtr
 Pointers to useful objects.
 
SettingssettingsPtr
 
RndmrndmPtr
 
LoggerloggerPtr
 

Additional Inherited Members

- Static Public Member Functions inherited from NucleusModel
static shared_ptr< NucleusModelcreate (int model)
 NucleusModel base class.
 

Detailed Description

A general Woods-Saxon distributed nucleus.

Constructor & Destructor Documentation

WoodsSaxonModel ( )
inline

The default constructor needs a nucleus id, a radius, R, and a "skin width", a (both length in femtometers).

Member Function Documentation

vector< Nucleon > generate ( ) const
overridevirtual

Generate all the nucleons.

Generate all nucleons in a nucleus.

Implements NucleusModel.

Vec4 generateNucleon ( ) const
protected

Place a nucleon inside a nucleus.

Generate the position of a single nucleon. (The time component is always zero).

bool init ( )
overridevirtual

Initialize parameters.

Initialize.

WoodsSaxonModel is a subclass of NucleusModel and implements a general Wood-Saxon distributed nucleus.

Initialize hard core.

In the basic Woods-Saxon model we get parameters directly from settings.

Calculate the overestimates.

Reimplemented from NucleusModel.

Reimplemented in GLISSANDOModel.


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