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

A Harmonic-Oscillator Shell model for light nuclei. More...

#include <HINucleusModel.h>

Inheritance diagram for HOShellModel:
HardCoreModel NucleusModel

Public Member Functions

 HOShellModel ()
 Default constructor.
 
virtual ~HOShellModel ()
 Destructor.
 
virtual bool init () override
 Initialize, set up parameters. More...
 
virtual vector< Nucleongenerate () 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.
 
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 Harmonic-Oscillator Shell model for light nuclei.

Member Function Documentation

vector< Nucleon > generate ( ) const
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.

Vec4 generateNucleon ( ) const
protectedvirtual

Generate the position of a single nucleon.

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

bool init ( )
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.


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