PYTHIA  8.312
Public Member Functions | List of all members
Ropewalk Class Reference

#include <Ropewalk.h>

Inheritance diagram for Ropewalk:
StringInteractions PhysicsBase

Public Member Functions

 Ropewalk ()
 Constructor.
 
virtual bool init ()
 The Ropewalk init function sets parameters and pointers. More...
 
bool extractDipoles (Event &event, ColConfig &colConfig)
 Extract all dipoles from an event. More...
 
bool calculateOverlaps ()
 Calculate all overlaps of all dipoles and store as OverlappingRopeDipoles. More...
 
double getKappaHere (int e1, int e2, double yfrac)
 
double multiplicity (double p, double q)
 The multiplicity of a colour state given its quantum numbers.
 
double averageKappa ()
 
pair< int, int > select (int m, int n, Rndm *rndm)
 Invoke the random walk and select a state. More...
 
void shoveTheDipoles (Event &event)
 Shove all dipoles in the event. More...
 
- Public Member Functions inherited from StringInteractions
 StringInteractions ()=default
 Empty constructor.
 
virtual ~StringInteractions ()
 Empty virtual destructor.
 
ColRecPtr getColourReconnections () const
 Access the pointers to the different models.
 
DipSwingPtr getDipoleSwing () const
 
StringRepPtr getStringRepulsion () const
 
FragModPtr getFragmentationModifier () const
 
- 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
 

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 StringInteractions
ColRecPtr colrecPtr {}
 
DipSwingPtr dipswingPtr {}
 
StringRepPtr stringrepPtr {}
 
FragModPtr fragmodPtr {}
 
- 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

The Ropewalk class keeps track of all the strings making up ropes for shoving as well as flavour enhancement.

Member Function Documentation

double averageKappa ( )

Calculate the average string tension of the event, in units of the default string tension (ie. 1 GeV/fm), using random walk in colour space.

Getting the overlaps: m, n.

Overlaps define the number of steps taken in the random walk. We define the present dipole to always point in the p-direction.

bool calculateOverlaps ( )

Calculate all overlaps of all dipoles and store as OverlappingRopeDipoles.

Go through all dipoles.

RopeDipoles rapidities in dipole rest frame.

Go through all possible overlapping dipoles.

Skip self and overlaps with miniscule dipoles.

Ignore if not overlapping in rapidity.

bool extractDipoles ( Event event,
ColConfig colConfig 
)

Extract all dipoles from an event.

Go through all strings in the event.

We can exclude loops, junctions and ministrings from the Ropewalk.

Ordinary particle.

If we are at the first parton, no dipole.

Get the parton placement in Event Record.

We have created all dipoles.

double getKappaHere ( int  e1,
int  e2,
double  yfrac 
)

Calculate the effective string tension a fraction yfrac in on the dipole given by indices e1 and e2.

Calculate the effective string tension a fraction yfrac in on the dipole, given by indices e1 and e2.

Get quantum numbers m and n.

If we are always in the highest multiplet, we need not do a random walk

Invoke default random walk procedure.

Calculate enhancement factor.

bool init ( )
virtual

The Ropewalk init function sets parameters and pointers.

Ropewalk class. This class keeps track of all the strings making up ropes for shoving as well as flavour enhancement.

Parameters of the ropewalk.

Creat the interface objects.

Check consistency.

Sanity check of flavour rope and vertex information. Flavour ropes requires vertex information, unless an effective string tension is supplied by hand or Buffon treatment.

Reimplemented from StringInteractions.

pair< int, int > select ( int  m,
int  n,
Rndm rndm 
)

Invoke the random walk and select a state.

Invoke the random walk of colour states.

Initial valuesM mm and nn are step counters.

We must take all steps before terminating.

Take randomly a step in one direction.

Calculate the step probabilities.

Select a state.

As above, but for nn.

Done.

void shoveTheDipoles ( Event event)

Shove all dipoles in the event.

Possibility of some initial propagation.

The rapidity slices.

Order the dipoles in max rapidity.

Order the dipoles in max rapidity.

Find maximal and minimal rapidity to sample.

Do the sampling from flat distribution.

For each value of ySample, we have a vector of excitation pairs.

Construct an empty vector of excitation particles.

Find dipoles sampled in this slice, and store them temporarily.

Construct excitation particles, one for each sampled dipole in this slice.

Test if the dipole can bear the excitation.

Erase dipoles which could not bear an excitation.

Add the actual excitations, but only if we can create pairs.

We boost the excitation back from dipole rest frame.

Construct all pairs of possible excitations in this slice.

Don't allow a string to shove itself.

Give the excitations pointers to the excitation particles.

Shoving loop.

For all slices.

For all excitation pairs.

The direction vector is a space-time four-vector.

The string radius is time dependent, growing with the speed of light. Minimal string size is 1 / shower cut-off converted to fm.

Calculate the push, its direction and do the shoving.

Gain function.

Propagate the dipoles.

Add the excitations to the dipoles.


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