PYTHIA
8.312
|
#include <HISubCollisionModel.h>
Public Member Functions | |
FluctuatingSubCollisionModel (int nParmIn, int modein) | |
The default constructor simply lists the nucleon-nucleon cross sections. | |
virtual | ~FluctuatingSubCollisionModel () override |
Virtual destructor. | |
virtual SubCollisionSet | getCollisions (Nucleus &proj, Nucleus &targ) override |
Main function returning the possible sub-collisions. 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) | |
The default constructor is empty. | |
virtual | ~SubCollisionModel () |
Virtual destructor. | |
virtual bool | init (int idAIn, int idBIn, double eCMIn) |
Virtual init method. More... | |
void | initPtr (NucleusModel &projIn, NucleusModel &targIn, SigmaTotal &sigTotIn, Settings &settingsIn, Info &infoIn, Rndm &rndmIn) |
Initialize the pointers. | |
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 | bSlope () const |
The target elastic b-slope parameter. | |
double | avNDB () const |
Return the average non-diffractive impact parameter. | |
void | updateSig () |
Update internally stored cross sections. More... | |
double | Chi2 (const SigEst &sigs, int npar) const |
Calculate the Chi2 for the given cross section estimates. More... | |
void | setKinematics (double eCMIn) |
Set beam kinematics. More... | |
void | setIDA (int idA) |
Set projectile particle. | |
bool | evolve (int nGenerations, double eCM) |
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. | |
virtual vector< double > | minParm () const =0 |
Get the minimum allowed parameter values for this model. | |
virtual vector< double > | defParm () const =0 |
Get the default parameter values for this model. | |
virtual vector< double > | maxParm () const =0 |
Get the maximum allowed parameter values for this model. | |
Protected Member Functions | |
virtual double | pickRadiusProj () const =0 |
Pick a radius for the nucleon, depending on the specific model. | |
virtual double | pickRadiusTarg () const =0 |
Additional Inherited Members | |
Static Public Member Functions inherited from SubCollisionModel | |
static shared_ptr< SubCollisionModel > | create (int model) |
Create a new SubCollisionModel of the given model. More... | |
Protected Attributes inherited from SubCollisionModel | |
vector< double > | parmSave |
Saved parameters. | |
int | NInt |
int | NPop |
double | sigFuzz |
double | impactFudge |
bool | fitPrint |
double | avNDb |
NucleusModel * | projPtr |
Info from the controlling HeavyIons object. | |
NucleusModel * | targPtr |
SigmaTotal * | sigTotPtr |
Settings * | settingsPtr |
Info * | infoPtr |
Rndm * | rndmPtr |
Logger * | loggerPtr |
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 > * | subCollParms |
map< int, vector< LogInterpolator > > | subCollParmsMap |
Mapping id -> interpolator, one entry for each particle. | |
A base class for sub-collision models where each nucleon has a fluctuating "radius". The base model has two parameters, sigd and alpha, which are used for opacity calculations. Subclasses may have additional parameters to describe the radius distributions of that specific model.
|
overridevirtual |
Main function returning the possible sub-collisions.
Take two nuclei and pick specific states for each nucleon, then get the corresponding sub-collisions.
Assign two states to each nucleon.
The factorising S-matrix.
Go through all pairs of nucleons
First and most important, check if this is an absorptive scattering.
Now set up calculation for probability of diffractively wounded nucleons.
Finally set up calculation for elastic scattering. This can never be exact, but let's do as well as we can.
Implements SubCollisionModel.
|
overridevirtual |
Calculate the cross sections for the given set of parameters.
Numerically estimate the cross sections corresponding to the current parameter setting.
Implements SubCollisionModel.