|
PYTHIA
8.316
|
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... | |
| virtual bool | initGeometry () |
| void | setParticle (int idIn) |
| Set the particle id of the produced nucleus. More... | |
| virtual void | setPN (const Vec4 &pNIn) |
| Set (new) nucleon momentum. | |
| virtual void | setMN (double mNIn) |
| Set (new) effective nucleon mass. | |
| 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 |
| int | idN () const |
| const Vec4 & | pN () const |
| double | mN () 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. | |
| double | mNSave {} |
| The effective nucleon mass. | |
| int | idNSave = 2212 |
| 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.
1.8.11