PYTHIA
8.312
|
#include <LowEnergyProcess.h>
Public Member Functions | |
LowEnergyProcess ()=default | |
Constructor. | |
void | init (StringFlav *flavSelPtrIn, StringFragmentation *stringFragPtrIn, MiniStringFragmentation *ministringFragPtrIn, SigmaLowEnergy *sigmaLowEnergyPtrIn, NucleonExcitations *nucleonExcitationsPtrIn) |
Initialize the class. More... | |
bool | collide (int i1, int i2, int typeIn, Event &event, Vec4 vtx=Vec4(), Vec4 vtx1=Vec4(), Vec4 vtx2=Vec4()) |
Produce outgoing primary hadrons from collision of incoming pair. More... | |
double | bSlope (int id1In, int id2In, double eCMIn, double mAIn, double mBIn, int typeIn=2) |
Give access to b slope in elastic and diffractive interactions. | |
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 |
Public Attributes | |
Event | leEvent |
Event record to handle hadronization. | |
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. | |
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. | |
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 |
LowEnergyProcess class. Is used to describe the low-energy collision between two hadrons.
bool collide | ( | int | i1, |
int | i2, | ||
int | typeIn, | ||
Event & | event, | ||
Vec4 | vtx = Vec4() , |
||
Vec4 | vtx1 = Vec4() , |
||
Vec4 | vtx2 = Vec4() |
||
) |
Produce outgoing primary hadrons from collision of incoming pair.
Produce outgoing primary hadrons from collision of incoming pair. type | 1: nondiff; | 2 : el; | 3: SD (XB); | 4: SD (AX); | 5: DD; | 6: CD (AXB, not implemented) | 7: excitation | 8: annihilation | 9: resonant | >100: resonant through the specified resonance particle
Check that class is initialized and that incoming are hadrons.
Store information about incoming particles.
Pick K0/K0bar combination if both particles are K_S/K_L.
Pick K0 or K0bar if either particle is K_S or K_L.
Reset leEvent event record. Add incoming hadrons as beams in rest frame.
Get code from type; the same except for resonant process.
Perform collision specified by code.
Store number of direct daughters of the original colliding hadrons.
Hadronize new strings if necessary.
Mother incides for the direct daughters.
Offset between position in low energy event and position in full event.
Copy particles into regular event record.
For direct daughters, set mothers to the original particles.
For subsequent daughters, use offset indices.
Set status, lifetime if final and daughters if not.
Set daughters for original particles.
Boost particles from subcollision frame to full event frame.
Special case for t-channel processes with displaced production vertices. nHadron & nParton is number in first system, i.e. where to switch.
Mark incoming colliding hadrons as decayed.
Done.
void init | ( | StringFlav * | flavSelPtrIn, |
StringFragmentation * | stringFragPtrIn, | ||
MiniStringFragmentation * | ministringFragPtrIn, | ||
SigmaLowEnergy * | sigmaLowEnergyPtrIn, | ||
NucleonExcitations * | nucleonExcitationsPtrIn | ||
) |
Initialize the class.
Initialize the LowEnergyProcess class as required.
Save pointers.
Relative fraction of s quark production in strin breaks.
Mixing for eta and eta'.
Longitudinal momentum sharing of valence quarks in hadrons.
Transverse momentum spread.
Boundary mass between string and ministring handling.
Proton mass used as reference scale in diffraction.
Probability of double annihilation when flavours allow.
Initialize collision event record.
Done.