PYTHIA
8.312
|
A Harmonic-Oscillator Shell model for light nuclei. More...
#include <HINucleusModel.h>
Public Member Functions | |
HOShellModel () | |
Default constructor. | |
virtual | ~HOShellModel () |
Destructor. | |
virtual bool | init () override |
Initialize, set up parameters. More... | |
virtual vector< Nucleon > | generate () const override |
Generate all the nucleons. More... | |
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 | |
virtual Vec4 | generateNucleon () const |
Generate the position of a single nucleon. More... | |
double | rho (double r) const |
The density function. | |
Protected Attributes | |
double | nucleusChR |
Nucleus charge radius. | |
double | protonChR |
Nucleon charge radius. | |
double | C2 |
C2 parameter. | |
double | rhoMax |
Maximum rho for these parameters. | |
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 Harmonic-Oscillator Shell model for light nuclei.
|
overridevirtual |
Generate all the nucleons.
Generate a vector of nucleons according to the implemented model for a nucleus given by the PDG number.
Implements NucleusModel.
|
protectedvirtual |
Generate the position of a single nucleon.
Generate the position of a single nucleon. (The time component is always zero).
|
overridevirtual |
Initialize, set up parameters.
Initialize parameters.
HOShellModel is derived from of NucleusModel and implements a harmonic oscillator shell model with option for hard cores. Suitable for nuclei with 4 <= A <= 16.
Initialize hard core parameters in base class.
Proton charge radius
Possible custom nuclear charge radius
If not changed, use defaults for a set of nuclei.
Helium-4
Lithium-6
Berylium-7
Lithium-8
Berylium-9
Boron-10
Boron-11
Carbon-12
Carbon-13
Nitrogen-14
Nitrogen-15
Oxygen-16
Calculate C2 prefactor.
Reimplemented from NucleusModel.