PYTHIA
8.312
|
#include <HISubCollisionModel.h>
Public Member Functions | |
NaiveSubCollisionModel () | |
The default constructor simply lists the nucleon-nucleon cross sections. | |
virtual | ~NaiveSubCollisionModel () override |
Virtual destructor. | |
vector< double > | minParm () const override |
Get the minimum and maximum allowed parameter values for this model. | |
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. | |
virtual SigEst | getSig () const override |
Get cross sections used by this model. | |
virtual SubCollisionSet | getCollisions (Nucleus &proj, Nucleus &targ) override |
Take two nuclei and return the corresponding sub-collisions. 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. | |
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 very simple sub-collision model, assuming static nucleons and just assuring that the individual nucleon-nucleon cross sections are preserved.
|
overridevirtual |
Take two nuclei and return the corresponding sub-collisions.
The NaiveSubCollisionModel uses a fixed size, black-disk-like nucleon-nucleon cross section where. Central collisions will always be absorptive, less central will be doubly diffractive, more peripheral will be single diffractive and the most peripheral will be elastic.
Go through all pairs of nucleons
Implements SubCollisionModel.