PYTHIA
8.312
|
#include <HeavyIons.h>
Classes | |
struct | InfoGrabber |
Public Member Functions | |
HeavyIons (Pythia &mainPythiaIn) | |
virtual | ~HeavyIons () |
Destructor. | |
virtual bool | init ()=0 |
virtual bool | next ()=0 |
bool | setHIUserHooksPtr (HIUserHooksPtr userHooksPtrIn) |
Possibility to pass in pointer for special heavy ion user hooks. | |
virtual bool | setKinematics (double) |
Set beam kinematics. | |
virtual bool | setKinematics (double, double) |
virtual bool | setKinematics (double, double, double, double, double, double) |
virtual bool | setKinematics (Vec4, Vec4) |
virtual bool | setBeamIDs (int, int=0) |
Set beam particles. | |
virtual void | stat () |
Print out statistics. More... | |
Public Member Functions inherited from PhysicsBase | |
void | initInfoPtr (Info &infoPtrIn) |
This function is called from above for physics objects used in a run. More... | |
virtual | ~PhysicsBase () |
Empty virtual destructor. | |
bool | flag (string key) const |
Shorthand to read settings values. | |
int | mode (string key) const |
double | parm (string key) const |
string | word (string key) const |
vector< bool > | fvec (string key) const |
vector< int > | mvec (string key) const |
vector< double > | pvec (string key) const |
vector< string > | wvec (string key) const |
Static Public Member Functions | |
static void | addSpecialSettings (Settings &settings) |
The abstract HeavyIons class. More... | |
static bool | isHeavyIon (Settings &settings) |
Check the settings and return false of there are no heavy ion beams. More... | |
Public Attributes | |
HIInfo | hiInfo |
Protected Member Functions | |
void | updateInfo () |
Update the Info object in the main Pythia object. More... | |
void | clearProcessLevel (Pythia &pyt) |
Protected Member Functions inherited from PhysicsBase | |
PhysicsBase () | |
Default constructor. | |
virtual void | onInitInfoPtr () |
virtual void | onBeginEvent () |
This function is called in the very beginning of each Pythia::next call. | |
virtual void | onEndEvent (Status) |
virtual void | onStat () |
This function is called from the Pythia::stat() call. | |
void | registerSubObject (PhysicsBase &pb) |
Register a sub object that should have its information in sync with this. | |
Static Protected Member Functions | |
static void | setupSpecials (Settings &settings, string match) |
Duplicate setting on the form match: to settings on the form HImatch: | |
static void | setupSpecials (Pythia &p, string match) |
Protected Attributes | |
int | idProj |
Save current beam configuration. | |
int | idTarg |
Pythia * | mainPythiaPtr |
SigmaTotal | sigTotNN |
HIUserHooksPtr | HIHooksPtr |
vector< Pythia * > | pythia |
vector< string > | pythiaNames |
The names associated with the secondary pythia objects. | |
vector< Info * > | info |
Protected Attributes inherited from PhysicsBase | |
Info * | infoPtr = {} |
Settings * | settingsPtr = {} |
Pointer to the settings database. | |
ParticleData * | particleDataPtr = {} |
Pointer to the particle data table. | |
Logger * | loggerPtr = {} |
Pointer to logger. | |
HadronWidths * | hadronWidthsPtr = {} |
Pointer to the hadron widths data table. | |
Rndm * | rndmPtr = {} |
Pointer to the random number generator. | |
CoupSM * | coupSMPtr = {} |
Pointers to SM and SUSY couplings. | |
CoupSUSY * | coupSUSYPtr = {} |
BeamSetup * | beamSetupPtr = {} |
BeamParticle * | beamAPtr = {} |
BeamParticle * | beamBPtr = {} |
BeamParticle * | beamPomAPtr = {} |
BeamParticle * | beamPomBPtr = {} |
BeamParticle * | beamGamAPtr = {} |
BeamParticle * | beamGamBPtr = {} |
BeamParticle * | beamVMDAPtr = {} |
BeamParticle * | beamVMDBPtr = {} |
PartonSystems * | partonSystemsPtr = {} |
Pointer to information on subcollision parton locations. | |
SigmaTotal * | sigmaTotPtr = {} |
Pointers to the total/elastic/diffractive cross sections. | |
SigmaCombined * | sigmaCmbPtr = {} |
set< PhysicsBase * > | subObjects |
UserHooksPtr | userHooksPtr |
Additional Inherited Members | |
Public Types inherited from PhysicsBase | |
enum | Status { INCOMPLETE = -1, COMPLETE = 0, CONSTRUCTOR_FAILED, INIT_FAILED, LHEF_END, LOWENERGY_FAILED, PROCESSLEVEL_FAILED, PROCESSLEVEL_USERVETO, MERGING_FAILED, PARTONLEVEL_FAILED, PARTONLEVEL_USERVETO, HADRONLEVEL_FAILED, CHECK_FAILED, OTHER_UNPHYSICAL, HEAVYION_FAILED, HADRONLEVEL_USERVETO } |
Enumerate the different status codes the event generation can have. | |
HeavyIons contains several standard Pythia objects to allow for the combination of different kinds of nucleon-nucleon events into a heavy ion collision event. The actual model for doing this must be implemented in a subclass overriding the the virtual'init()' and 'next()' functions.
|
static |
|
protected |
If subclasses has additional Pythia objects for generating minimum bias nucleon collisions and the main Pythia object is set up to generated a hard signal process, this function can be used to clear all selected processes in a clone of the main Pythia object.
Reset all process level settings in the given Pythia object. NOTE must be expanded if new process groups are included in Pythia.
NOTE! if new processes are added in separate xml files these have to be added here.
|
pure virtual |
Virtual function to be implemented in a subclass. This will be called in the beginning of the Pythia::init function if the mode HeavyIon:mode is set non zero. The return value should be true if this object is able to handle the requested collision type. If false Pythia::init will set HeavyIon:mode to zero but will try to cope anyway.
Implemented in Angantyr.
|
static |
Check the settings and return false of there are no heavy ion beams.
Return true if the beams in the Primary Pythia object contains heavy ions.
|
pure virtual |
Virtual function to be implemented in a subclass. This will be called in the beginning of the Pythia::next function if HeavyIon:mode is set non zero. After the call, Pythia::next will return immediately with the return value of this function.
Implemented in Angantyr.
|
staticprotected |
Copy settings on the form HImatch: to the corresponding match: in the given Pythia object.
|
virtual |
Print out statistics.
Print out statistics from a HeavyIons run.
bool showPaL = settings.flag("Stat:showPartonLevel");
Header.
Listing finished.
|
protected |
|
protected |
Optional HIUserHooks object able to modify the behavior of the HeavyIon model.
HIInfo hiInfo |
The HIInfo object contains information about the last generated heavy ion event as well as overall statistics of the generated events.
|
protected |
The Info objects associated to the secondary the secondary pythia objects.
|
protected |
This is the pointer to the main Pythia object to which this object is assigned.
|
protected |
The internal Pythia objects. Index zero will always correspond to the mainPythiaPtr.
|
protected |
Object containing information on inclusive pp cross sections to be used in Glauber calculations in subclasses.