StRoot
1
|
#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 (HIUserHooks *userHooksPtrIn) |
Possibility to pass in pointer for special heavy ion user hooks. | |
virtual void | stat () |
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 void | stat () |
Public Member Functions inherited from Pythia8::PhysicsBase | |
void | initInfoPtr (Info &infoPtrIn) |
bool | flag (string key) const |
int | mode (string key) const |
double | parm (string key) const |
string | word (string key) const |
Static Public Member Functions | |
static void | addSpecialSettings (Settings &settings) |
static bool | isHeavyIon (Settings &settings) |
static void | addSpecialSettings (Settings &settings) |
static bool | isHeavyIon (Settings &settings) |
Public Attributes | |
HIInfo | hiinfo |
HIInfo | hiInfo |
Protected Member Functions | |
void | sumUpMessages (Info &in, string tag, const Info &other) |
void | updateInfo () |
void | clearProcessLevel (Pythia &pyt) |
void | sumUpMessages (Info &in, string tag, const Info *other) |
void | updateInfo () |
void | clearProcessLevel (Pythia &pyt) |
Protected Member Functions inherited from Pythia8::PhysicsBase | |
virtual void | onInitInfoPtr () |
virtual void | onBeginEvent () |
virtual void | onEndEvent (Status) |
virtual void | onStat () |
void | registerSubObject (PhysicsBase &pb) |
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) |
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 | |
Pythia * | mainPythiaPtr |
SigmaTotal | sigtot |
HIUserHooks * | HIHooksPtr |
vector< Pythia * > | pythia |
vector< string > | pythiaNames |
The names associated with the secondary pythia objects. | |
HIUserHooksPtr | HIHooksPtr |
vector< Info * > | info |
Protected Attributes inherited from Pythia8::PhysicsBase | |
Info * | infoPtr = {} |
Settings * | settingsPtr = {} |
ParticleData * | particleDataPtr = {} |
HadronWidths * | hadronWidthsPtr = {} |
Rndm * | rndmPtr = {} |
CoupSM * | coupSMPtr = {} |
CoupSUSY * | coupSUSYPtr = {} |
BeamParticle * | beamAPtr = {} |
BeamParticle * | beamBPtr = {} |
BeamParticle * | beamPomAPtr = {} |
BeamParticle * | beamPomBPtr = {} |
BeamParticle * | beamGamAPtr = {} |
BeamParticle * | beamGamBPtr = {} |
BeamParticle * | beamVMDAPtr = {} |
BeamParticle * | beamVMDBPtr = {} |
PartonSystems * | partonSystemsPtr = {} |
SigmaTotal * | sigmaTotPtr = {} |
set< PhysicsBase * > | subObjects |
UserHooksPtr | userHooksPtr |
Additional Inherited Members | |
Public Types inherited from Pythia8::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 } |
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.
Definition at line 30 of file HeavyIons.h.
|
inline |
The constructor needs a reference to the main Pythia object to which it will belong. A HeavyIons object cannot belong to more than one main Pythia object.
Definition at line 37 of file HeavyIons.h.
References hiinfo, and mainPythiaPtr.
|
inline |
The constructor needs a reference to the main Pythia object to which it will belong. A HeavyIons object cannot belong to more than one main Pythia object.
Definition at line 38 of file HeavyIons.h.
|
static |
Static function to alow Pythia to duplicate some setting names to be used for secondary Pythia objects.
Definition at line 24 of file HeavyIons.cc.
References setupSpecials().
|
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.
Definition at line 126 of file HeavyIons.cc.
Referenced by Pythia8::Angantyr::init().
|
protected |
|
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 Pythia8::Angantyr, and Pythia8::Angantyr.
|
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 Pythia8::Angantyr, and Pythia8::Angantyr.
|
static |
Return true if the beams in the Primary Pythia object contains heavy ions.
Definition at line 258 of file HeavyIons.cc.
|
static |
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 Pythia8::Angantyr, and Pythia8::Angantyr.
|
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 Pythia8::Angantyr, and Pythia8::Angantyr.
|
staticprotected |
Copy settings on the form HImatch: to the corresponding match: in the given Pythia object.
Definition at line 75 of file HeavyIons.cc.
|
staticprotected |
Copy settings on the form HImatch: to the corresponding match: in the given Pythia object.
Subclasses will probably use several Pythia object and this helper function will sum up all warnings and errors of these and add them to the main Pythia object, prefixing them with a tag.
Definition at line 114 of file HeavyIons.cc.
Subclasses will probably use several Pythia object and this helper function will sum up all warnings and errors of these and add them to the main Pythia object, prefixing them with a tag.
Definition at line 115 of file HeavyIons.cc.
|
protected |
Update the cross section in the main Pythia Info object using information in the hiinfo object.
Definition at line 152 of file HeavyIons.cc.
References hiinfo, mainPythiaPtr, and Pythia8::HIInfo::weight().
Referenced by Pythia8::Angantyr::next().
|
protected |
|
protected |
Optional HIUserHooks object able to modify the behavior of the HeavyIon model.
Definition at line 108 of file HeavyIons.h.
Referenced by Pythia8::Angantyr::addNucleonExcitation(), Pythia8::Angantyr::init(), Pythia8::Angantyr::mkEventInfo(), Pythia8::Angantyr::next(), Pythia8::Angantyr::nextSASD(), and setHIUserHooksPtr().
|
protected |
Optional HIUserHooks object able to modify the behavior of the HeavyIon model.
Definition at line 108 of file HeavyIons.h.
HIInfo Pythia8::HeavyIons::hiinfo |
This is the HIInfo object containing information about the last generated heavy ion event and som statistics of all such events generated since the last call to init();
Definition at line 122 of file HeavyIons.h.
Referenced by Pythia8::Angantyr::addNucleusRemnants(), HeavyIons(), Pythia8::Angantyr::next(), and updateInfo().
HIInfo Pythia8::HeavyIons::hiInfo |
This is the HIInfo object containing information about the last generated heavy ion event and som statistics of all such events generated since the last call to init();
Definition at line 137 of file HeavyIons.h.
|
protected |
The Info objects associated to the secondary the secondary pythia objects.
Definition at line 119 of file HeavyIons.h.
Referenced by Pythia8::Angantyr::addNucleonExcitation(), and Pythia8::Angantyr::init().
|
protected |
This is the pointer to the main Pythia object to which this object is assigned.
Definition at line 100 of file HeavyIons.h.
Referenced by Pythia8::Angantyr::addNucleonExcitation(), Pythia8::Angantyr::getSignal(), HeavyIons(), Pythia8::Angantyr::init(), Pythia8::Angantyr::next(), and updateInfo().
|
protected |
The internal Pythia objects. Index zero will always correspond to the mainPythiaPtr.
Definition at line 112 of file HeavyIons.h.
Referenced by Pythia8::Angantyr::addNucleusRemnants(), Pythia8::Angantyr::Angantyr(), Pythia8::Angantyr::getSignal(), Pythia8::Angantyr::init(), Pythia8::Angantyr::next(), Pythia8::Angantyr::nextSASD(), and Pythia8::Angantyr::setUserHooksPtr().
|
protected |
Object containing information on inclusive pp cross sections to be used in Glauber calculations in subclasses.
Definition at line 104 of file HeavyIons.h.
Referenced by Pythia8::Angantyr::init().