StRoot
1
|
The default HeavyIon model in Pythia. More...
#include <HeavyIons.h>
Classes | |
class | Redirect |
internal class to redirect stdout More... | |
Public Types | |
enum | PythiaObject { HADRON = 0, MBIAS = 1, SASD = 2, SIGPP = 3, SIGPN = 4, SIGNP = 5, SIGNN = 6, ALL = 7, HADRON = 0, MBIAS = 1, SASD = 2, SIGPP = 3, SIGPN = 4, SIGNP = 5, SIGNN = 6, ALL = 7 } |
Enumerate the different internal Pythia objects. More... | |
enum | PythiaObject { HADRON = 0, MBIAS = 1, SASD = 2, SIGPP = 3, SIGPN = 4, SIGNP = 5, SIGNN = 6, ALL = 7, HADRON = 0, MBIAS = 1, SASD = 2, SIGPP = 3, SIGPN = 4, SIGNP = 5, SIGNN = 6, ALL = 7 } |
Enumerate the different internal Pythia objects. More... | |
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 } |
Public Member Functions | |
Angantyr (Pythia &mainPythiaIn) | |
virtual bool | init () |
Initialize Angantyr. | |
virtual bool | next () |
Produce a collision involving heavy ions. | |
bool | setUserHooksPtr (PythiaObject sel, UserHooks *userHooksPtrIn) |
Set UserHooks for specific (or ALL) internal Pythia objects. | |
Angantyr (Pythia &mainPythiaIn) | |
virtual bool | init () override |
Initialize Angantyr. | |
virtual bool | next () override |
Produce a collision involving heavy ions. | |
bool | setUserHooksPtr (PythiaObject sel, UserHooksPtr userHooksPtrIn) |
Set UserHooks for specific (or ALL) internal Pythia objects. | |
vector< Nucleon >::iterator | projBegin () |
Iterate over nucleons. | |
vector< Nucleon >::iterator | targBegin () |
vector< Nucleon >::iterator | projEnd () |
vector< Nucleon >::iterator | targEnd () |
Public Member Functions inherited from Pythia8::HeavyIons | |
HeavyIons (Pythia &mainPythiaIn) | |
virtual | ~HeavyIons () |
Destructor. | |
bool | setHIUserHooksPtr (HIUserHooks *userHooksPtrIn) |
Possibility to pass in pointer for special heavy ion user hooks. | |
virtual void | stat () |
HeavyIons (Pythia &mainPythiaIn) | |
virtual | ~HeavyIons () |
Destructor. | |
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 bool | getTransforms (Vec4 p1, Vec4 p2, const Vec4 &p1p, pair< RotBstMatrix, RotBstMatrix > &R12, int, int) |
static double | mT2 (const Vec4 &p) |
static double | mT (const Vec4 &p) |
static bool | getTransforms (Vec4 p1, Vec4 p2, const Vec4 &p1p, pair< RotBstMatrix, RotBstMatrix > &R12, int, int) |
static double | mT2 (const Vec4 &p) |
static double | mT (const Vec4 &p) |
Static Public Member Functions inherited from Pythia8::HeavyIons | |
static void | addSpecialSettings (Settings &settings) |
static bool | isHeavyIon (Settings &settings) |
static void | addSpecialSettings (Settings &settings) |
static bool | isHeavyIon (Settings &settings) |
Protected Member Functions | |
EventInfo | mkEventInfo (Pythia &pyt, const SubCollision *coll=0) |
Setup an EventInfo object from a Pythia instance. | |
EventInfo | getSignal (const SubCollision &coll) |
Generate events from the internal Pythia oblects;. | |
EventInfo | getND () |
EventInfo | getND (const SubCollision &coll) |
EventInfo | getEl (const SubCollision &coll) |
EventInfo | getSDP (const SubCollision &coll) |
EventInfo | getSDT (const SubCollision &coll) |
EventInfo | getDD (const SubCollision &coll) |
EventInfo | getCD (const SubCollision &coll) |
EventInfo | getSDabsP (const SubCollision &coll) |
EventInfo | getSDabsT (const SubCollision &coll) |
EventInfo | getMBIAS (const SubCollision *coll, int procid) |
EventInfo | getSASD (const SubCollision *coll, int procid) |
bool | genAbs (const multiset< SubCollision > &coll, list< EventInfo > &subevents) |
void | addSASD (const multiset< SubCollision > &coll) |
bool | addDD (const multiset< SubCollision > &coll, list< EventInfo > &subevents) |
bool | addSD (const multiset< SubCollision > &coll, list< EventInfo > &subevents) |
void | addSDsecond (const multiset< SubCollision > &coll) |
bool | addCD (const multiset< SubCollision > &coll, list< EventInfo > &subevents) |
void | addCDsecond (const multiset< SubCollision > &coll) |
bool | addEL (const multiset< SubCollision > &coll, list< EventInfo > &subevents) |
void | addELsecond (const multiset< SubCollision > &coll) |
bool | buildEvent (list< EventInfo > &subevents, const vector< Nucleon > &proj, const vector< Nucleon > &targ) |
bool | setupFullCollision (EventInfo &ei, const SubCollision &coll, Nucleon::Status ptype, Nucleon::Status ttype) |
bool | fixIsoSpin (EventInfo &ei) |
EventInfo & | shiftEvent (EventInfo &ei) |
bool | nextSASD (int proc) |
Generate a single diffractive. | |
bool | addNucleonExcitation (EventInfo &orig, EventInfo &add, bool colConnect=false) |
vector< int > | findRecoilers (const Event &e, bool tside, int beam, int end, const Vec4 &pdiff, const Vec4 &pbeam) |
void | addSubEvent (Event &evnt, Event &sub) |
Add a sub-event to the final event record. | |
bool | addNucleusRemnants (const vector< Nucleon > &proj, const vector< Nucleon > &targ) |
virtual void | onInitInfoPtr () override |
bool | init (PythiaObject sel, string name, int n=0) |
EventInfo | mkEventInfo (Pythia &, Info &, const SubCollision *coll=0) |
Setup an EventInfo object from a Pythia instance. | |
EventInfo | getSignal (const SubCollision &coll) |
Generate events from the internal Pythia oblects;. | |
EventInfo | getND () |
EventInfo | getND (const SubCollision &coll) |
EventInfo | getEl (const SubCollision &coll) |
EventInfo | getSDP (const SubCollision &coll) |
EventInfo | getSDT (const SubCollision &coll) |
EventInfo | getDD (const SubCollision &coll) |
EventInfo | getCD (const SubCollision &coll) |
EventInfo | getSDabsP (const SubCollision &coll) |
EventInfo | getSDabsT (const SubCollision &coll) |
EventInfo | getMBIAS (const SubCollision *coll, int procid) |
EventInfo | getSASD (const SubCollision *coll, int procid) |
bool | genAbs (const multiset< SubCollision > &coll, list< EventInfo > &subevents) |
void | addSASD (const multiset< SubCollision > &coll) |
bool | addDD (const multiset< SubCollision > &coll, list< EventInfo > &subevents) |
bool | addSD (const multiset< SubCollision > &coll, list< EventInfo > &subevents) |
void | addSDsecond (const multiset< SubCollision > &coll) |
bool | addCD (const multiset< SubCollision > &coll, list< EventInfo > &subevents) |
void | addCDsecond (const multiset< SubCollision > &coll) |
bool | addEL (const multiset< SubCollision > &coll, list< EventInfo > &subevents) |
void | addELsecond (const multiset< SubCollision > &coll) |
bool | buildEvent (list< EventInfo > &subevents, const vector< Nucleon > &proj, const vector< Nucleon > &targ) |
bool | setupFullCollision (EventInfo &ei, const SubCollision &coll, Nucleon::Status ptype, Nucleon::Status ttype) |
bool | isRemnant (const EventInfo &ei, int i, int past=1) const |
bool | fixIsoSpin (EventInfo &ei) |
EventInfo & | shiftEvent (EventInfo &ei) |
bool | nextSASD (int proc) |
Generate a single diffractive. | |
bool | addNucleonExcitation (EventInfo &orig, EventInfo &add, bool colConnect=false) |
vector< int > | findRecoilers (const Event &e, bool tside, int beam, int end, const Vec4 &pdiff, const Vec4 &pbeam) |
void | addSubEvent (Event &evnt, Event &sub) |
Add a sub-event to the final event record. | |
bool | addNucleusRemnants (const vector< Nucleon > &proj, const vector< Nucleon > &targ) |
Protected Member Functions inherited from Pythia8::HeavyIons | |
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 | onBeginEvent () |
virtual void | onEndEvent (Status) |
virtual void | onStat () |
void | registerSubObject (PhysicsBase &pb) |
Static Protected Member Functions | |
static int | getBeam (Event &ev, int i) |
static void | addJunctions (Event &evnt, Event &sub, int coloff) |
static int | getBeam (Event &ev, int i) |
static void | addJunctions (Event &evnt, Event &sub, int coloff) |
Static Protected Member Functions inherited from Pythia8::HeavyIons | |
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) |
Additional Inherited Members | |
Public Attributes inherited from Pythia8::HeavyIons | |
HIInfo | hiinfo |
HIInfo | hiInfo |
Protected Attributes inherited from Pythia8::HeavyIons | |
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 |
The default HeavyIon model in Pythia.
Definition at line 133 of file HeavyIons.h.
Enumerate the different internal Pythia objects.
Definition at line 138 of file HeavyIons.h.
Enumerate the different internal Pythia objects.
Definition at line 153 of file HeavyIons.h.
Pythia8::Angantyr::Angantyr | ( | Pythia & | mainPythiaIn | ) |
The constructor needs a reference to the main Pythia object to which it will belong. A Angantyr object cannot belong to more than one main Pythia object.
Definition at line 272 of file HeavyIons.cc.
References ALL, HADRON, MBIAS, Pythia8::HeavyIons::pythia, Pythia8::HeavyIons::pythiaNames, SASD, SIGNN, SIGNP, SIGPN, and SIGPP.
Pythia8::Angantyr::Angantyr | ( | Pythia & | mainPythiaIn | ) |
|
protected |
Add a diffractive event to an exsisting one. Optionally connect the colours of the added event to the original.
Definition at line 1158 of file HeavyIons.cc.
References Pythia8::HIUserHooks::canAddNucleonExcitation(), Pythia8::HIUserHooks::canFindRecoilers(), Pythia8::EventInfo::coll, Pythia8::EventInfo::event, getTransforms(), Pythia8::HeavyIons::HIHooksPtr, Pythia8::HeavyIons::info, Pythia8::HeavyIons::mainPythiaPtr, Pythia8::EventInfo::projs, and Pythia8::SubCollision::targ.
|
protected |
Add a diffractive event to an exsisting one. Optionally connect the colours of the added event to the original.
|
protected |
Add a nucleus remnant to the given event. Possibly introducing a new particle type.
Definition at line 1497 of file HeavyIons.cc.
References HADRON, Pythia8::HeavyIons::hiinfo, and Pythia8::HeavyIons::pythia.
|
protected |
Add a nucleus remnant to the given event. Possibly introducing a new particle type.
|
static |
Helper function to construct two transformations that would give the vectors p1 and p2 the total four momentum of p1p + p2p.
Definition at line 1293 of file HeavyIons.cc.
Referenced by addNucleonExcitation().
|
static |
Helper function to construct two transformations that would give the vectors p1 and p2 the total four momentum of p1p + p2p.
|
protected |
Initiaize a specific Pythia object and optionally run a number of events to get a handle of the cross section.
Definition at line 557 of file HeavyIons.cc.
References Pythia8::HeavyIons::info, init(), next(), and Pythia8::HeavyIons::pythia.