PYTHIA  8.311
Public Member Functions | Public Attributes | List of all members
LowEnergyProcess Class Reference

#include <LowEnergyProcess.h>

Inheritance diagram for LowEnergyProcess:
PhysicsBase

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
InfoinfoPtr = {}
 
SettingssettingsPtr = {}
 Pointer to the settings database.
 
ParticleDataparticleDataPtr = {}
 Pointer to the particle data table.
 
LoggerloggerPtr = {}
 Pointer to logger.
 
HadronWidthshadronWidthsPtr = {}
 Pointer to the hadron widths data table.
 
RndmrndmPtr = {}
 Pointer to the random number generator.
 
CoupSMcoupSMPtr = {}
 Pointers to SM and SUSY couplings.
 
CoupSUSYcoupSUSYPtr = {}
 
BeamSetupbeamSetupPtr = {}
 
BeamParticlebeamAPtr = {}
 
BeamParticlebeamBPtr = {}
 
BeamParticlebeamPomAPtr = {}
 
BeamParticlebeamPomBPtr = {}
 
BeamParticlebeamGamAPtr = {}
 
BeamParticlebeamGamBPtr = {}
 
BeamParticlebeamVMDAPtr = {}
 
BeamParticlebeamVMDBPtr = {}
 
PartonSystemspartonSystemsPtr = {}
 Pointer to information on subcollision parton locations.
 
SigmaTotalsigmaTotPtr = {}
 Pointers to the total/elastic/diffractive cross sections.
 
SigmaCombinedsigmaCmbPtr = {}
 
set< PhysicsBase * > subObjects
 
UserHooksPtr userHooksPtr
 

Detailed Description

LowEnergyProcess class. Is used to describe the low-energy collision between two hadrons.

Member Function Documentation

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.


The documentation for this class was generated from the following files: