PYTHIA  8.311
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
NucleusModel Class Referenceabstract

#include <HINucleusModel.h>

Inheritance diagram for NucleusModel:
ExternalNucleusModel HardCoreModel HulthenModel ClusterModel GaussianModel HOShellModel WoodsSaxonModel GLISSANDOModel

Public Member Functions

 NucleusModel ()
 
virtual ~NucleusModel ()
 Virtual destructor.
 
void initPtr (int idIn, bool isProjIn, Info &infoIn)
 Init method. More...
 
virtual bool init ()
 
virtual void setPN (const Vec4 &pNIn)
 Set (new) nucleon momentum.
 
virtual Particle produceIon ()
 Produce an instance of the incoming nucleon. More...
 
virtual vector< Nucleongenerate () const =0
 
int id () const
 Accessor functions.
 
int I () const
 
int A () const
 
int Z () const
 
int L () const
 
double R () const
 

Static Public Member Functions

static shared_ptr< NucleusModelcreate (int model)
 NucleusModel base class.
 

Protected Attributes

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
 

Detailed Description

This class generates the impact parameter distribution of nucleons in a nucleus.

Constructor & Destructor Documentation

NucleusModel ( )
inline

Default constructor giving the nucleus id and an optional radius (in femtometer).

Member Function Documentation

virtual vector<Nucleon> generate ( ) const
pure virtual

Generate a vector of nucleons according to the implemented model for a nucleus given by the PDG number.

Implemented in ClusterModel, GaussianModel, HulthenModel, HOShellModel, WoodsSaxonModel, and ExternalNucleusModel.

void initPtr ( int  idIn,
bool  isProjIn,
Info infoIn 
)

Init method.

Initialise base class, passing pointers to important objects.

Particle produceIon ( )
virtual

Produce an instance of the incoming nucleon.

Produce a proper particle corresponding to the nucleus handled by this NucleusModel.


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