PYTHIA
8.312
|
A general Woods-Saxon distributed nucleus. More...
#include <HINucleusModel.h>
Public Member Functions | |
virtual | ~WoodsSaxonModel () |
Virtual destructor. | |
WoodsSaxonModel () | |
bool | init () override |
Initialize parameters. More... | |
vector< Nucleon > | generate () 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. | |
Info * | infoPtr |
Pointers to useful objects. | |
Settings * | settingsPtr |
Rndm * | rndmPtr |
Logger * | loggerPtr |
Additional Inherited Members | |
Static Public Member Functions inherited from NucleusModel | |
static shared_ptr< NucleusModel > | create (int model) |
NucleusModel base class. | |
A general Woods-Saxon distributed nucleus.
|
inline |
The default constructor needs a nucleus id, a radius, R, and a "skin width", a (both length in femtometers).
|
overridevirtual |
|
protected |
Place a nucleon inside a nucleus.
Generate the position of a single nucleon. (The time component is always zero).
|
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.