PYTHIA  8.317
Public Member Functions | Protected Member Functions | List of all members
LogNormalSubCollisionModel Class Reference

#include <HISubCollisionModel.h>

Inheritance diagram for LogNormalSubCollisionModel:
FluctuatingSubCollisionModel SubCollisionModel

Public Member Functions

 LogNormalSubCollisionModel (int modeIn=0)
 The default constructor simply lists the nucleon-nucleon cross sections.
 
virtual ~LogNormalSubCollisionModel ()
 Virtual destructor.
 
vector< double > minParm () const override
 virtual SigEst getSig() const override; More...
 
vector< double > defParm () const override
 Get the default parameter values for this model.
 
vector< double > maxParm () const override
 Get the maximum allowed parameter values for this model.
 
- Public Member Functions inherited from FluctuatingSubCollisionModel
 FluctuatingSubCollisionModel (int nParmIn, int modein)
 The default constructor simply lists the nucleon-nucleon cross sections.
 
virtual ~FluctuatingSubCollisionModel () override
 Virtual destructor.
 
virtual bool init (int idAIn, int idBIn, double eCMIn) override
 Virtual init method. More...
 
virtual void generateNucleonStates (Nucleus &proj, Nucleus &targ) override
 Generate radii for all nucleons. More...
 
virtual SubCollisionSet getCollisions (Nucleus &proj, Nucleus &targ) override
 Main function returning the possible sub-collisions. More...
 
SubCollisionSet getCollisionsNew (Nucleus &proj, Nucleus &targ)
 
vector< double > getCollTypeProbs (const vector< double > &T) const
 Helper function. More...
 
virtual SigEst getSig () const override
 Calculate the cross sections for the given set of parameters. More...
 
- Public Member Functions inherited from SubCollisionModel
 SubCollisionModel (int nParm)
 
virtual ~SubCollisionModel ()
 Virtual destructor.
 
void initPtr (NucleusModel &projIn, NucleusModel &targIn, SigmaTotal &sigTotIn, Settings &settingsIn, Info &infoIn, Rndm &rndmIn)
 Initialize the pointers.
 
void initLowEnergy (SigmaCombined *sigmaCombPtrIn)
 Initialize low energy treatment.
 
bool hasXSec () const
 
double sigTot () const
 The target total nucleon-nucleon cross section. More...
 
double sigEl () const
 The target elastic cross section.
 
double sigCDE () const
 The target central diffractive excitation cross section.
 
double sigSDE () const
 The target single diffractive excitation cross section (both sides).
 
double sigSDEP () const
 The target single diffractive excitation cross section (projectile).
 
double sigSDET () const
 The target single diffractive excitation cross section (target).
 
double sigDDE () const
 The target double diffractive excitation cross section.
 
double sigND () const
 The target non-diffractive (absorptive) cross section.
 
double sigLow () const
 The Low-energy cross sections.
 
double sigLExc () const
 The Low-energy excitation cross section (code 157).
 
double sigLAnn () const
 The Low-energy annihilation cross section (code 158).
 
double sigLRes () const
 The Low-energy resonant cross section (code 159).
 
double bSlope () const
 The target elastic b-slope parameter.
 
double avNDB () const
 Return the average non-diffractive impact parameter.
 
void updateSig (int idAIn, int idBIn, double eCMIn)
 Update internally stored cross sections. More...
 
double Chi2 (const SigEst &sigs, int npar) const
 Calculate the Chi2 for the given cross section estimates. More...
 
bool setKinematics (double eCMIn)
 Set beam kinematics. More...
 
bool setIDA (int idA)
 Set projectile particle.
 
bool evolve (int nGenerations, double eCM, int idANow)
 Use a genetic algorithm to fit the parameters. More...
 
int nParms () const
 Get the number of free parameters for the model.
 
void setParm (const vector< double > &parmIn)
 Set the parameters of this model.
 
vector< double > getParm () const
 Get the current parameters of this model.
 

Protected Member Functions

double pickRadiusProj () const override
 Pick a radius for the nucleon, depending on the specific model.
 
double pickRadiusTarg () const override
 

Additional Inherited Members

- Static Public Member Functions inherited from SubCollisionModel
static shared_ptr< SubCollisionModelcreate (int model)
 Create a new SubCollisionModel of the given model. More...
 
- Protected Attributes inherited from FluctuatingSubCollisionModel
int opacityMode
 Optional mode for opacity.
 
- Protected Attributes inherited from SubCollisionModel
vector< double > sigTarg
 
vector< double > sigErr
 
vector< vector< double > > sigTargNN
 
vector< double > parmSave
 Saved parameters.
 
int NInt
 
int NPop
 
double sigFuzz
 
double impactFudge
 
bool fitPrint
 
double eCMlow
 
double avNDb
 
double avNDolap
 
NucleusModelprojPtr = {}
 Info from the controlling HeavyIons object.
 
NucleusModeltargPtr = {}
 
SigmaTotalsigTotPtr = {}
 
SigmaCombinedsigCmbPtr = {}
 
SettingssettingsPtr = {}
 
InfoinfoPtr = {}
 
RndmrndmPtr = {}
 
LoggerloggerPtr = {}
 
ParticleDataparticleDataPtr = {}
 
int idASave
 For variable energies.
 
int idBSave
 
bool doVarECM
 
bool doVarBeams
 
double eMin
 
double eMax
 
double eSave
 
int eCMPts
 
vector< int > idAList
 The list of particles that have been fitted.
 
vector< LogInterpolator > * subCollParmsPtr
 
map< int, vector< LogInterpolator > > subCollParmsMap
 Mapping id -> interpolator, one entry for each particle.
 
int elasticMode
 
double elasticFudge
 
SigmaCache lowEnergyCache
 

Detailed Description

A sub-collision model where each nucleon fluctuates independently according to a log-normal distribution. Nucleons in the projectile and target may fluctuate according to different parameters, which is relevant e.g. for hadron-ion collisions with generic hadron species.

Member Function Documentation

vector<double> minParm ( ) const
inlineoverridevirtual

virtual SigEst getSig() const override;

Get the minimum and maximum allowed parameter values for this model.

Implements SubCollisionModel.


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