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

#include <Ropewalk.h>

Public Member Functions

 RopeDipole (RopeDipoleEnd d1In, RopeDipoleEnd d2In, int iSubIn, Logger *loggerPtrIn)
 
void addExcitation (double ylab, Particle *ex)
 Insert an excitation on dipole, if not already there.
 
RopeDipoleEndd1Ptr ()
 Deep access to the RopeDipoleEnds (needed by OverlappingRopeDipole).
 
RopeDipoleEndd2Ptr ()
 
RotBstMatrix getDipoleRestFrame ()
 Get the rotation matrix to go to dipole rest frame. More...
 
RotBstMatrix getDipoleLabFrame ()
 Get the Lorentz matrix to go from the dipole rest frame to lab frame.
 
Vec4 dipoleMomentum ()
 Get the dipole momentum four-vector. More...
 
Vec4 bInterpolateDip (double y, double m0)
 
Vec4 bInterpolateLab (double y, double m0)
 In the lab frame. More...
 
Vec4 bInterpolate (double y, RotBstMatrix rb, double m0)
 Given a Lorentz matrix. More...
 
pair< int, int > getOverlaps (double yfrac, double m0, double r0)
 
void addOverlappingDipole (OverlappingRopeDipole &d)
 Add an overlapping dipole.
 
double maxRapidity (double m0)
 Get the maximal and minimal rapidity of the dipole.
 
double minRapidity (double m0)
 
double maxRapidity (double m0, RotBstMatrix &r)
 Get the maximal and minimal boosted rapidity of the dipole.
 
double minRapidity (double m0, RotBstMatrix &r)
 
void propagateInit (double deltat)
 Propagate the dipole itself. More...
 
void propagate (double deltat, double m0)
 Propagate both dipole ends as well as all excitations. More...
 
void splitMomentum (Vec4 mom, Particle *p1, Particle *p2, double frac=0.5)
 Redistribute momentum to two particles.
 
void excitationsToString (double m0, Event &event)
 Put gluon excitations on the dipole. More...
 
bool hadronized ()
 Test if the dipole is hadronized.
 
int index ()
 Get the (event colconfig) index.
 
bool recoil (Vec4 &pg, bool dummy=false)
 
void hadronized (bool h)
 Set dipole hadronized flag.
 
int nExcitations ()
 The number of excitations on the dipole.
 

Detailed Description

The RopeDipole class holds information about a colour dipole, as well as functionality to do shoving and to calculate effective string tension.

Constructor & Destructor Documentation

RopeDipole ( RopeDipoleEnd  d1In,
RopeDipoleEnd  d2In,
int  iSubIn,
Logger loggerPtrIn 
)

The RopeDipole constructor makes sure that d1 is always the colored end and d2 the anti-colored.

RopeDipole class. This class describes a dipoles in impact parameter space. The RopeDipole constructor makes sure that d1 is always the colored end and d2 the anti-colored.

Test if d1 is colored end and d2 anti-colored.

Member Function Documentation

Vec4 bInterpolate ( double  y,
RotBstMatrix  rb,
double  m0 
)

Given a Lorentz matrix.

Interpolate (linear) between dipole ends to get b position in a given frame at given y.

Vec4 bInterpolateDip ( double  y,
double  m0 
)

Get the spatial point interpolated to given rapidity. In the dipole rest frame.

Interpolate (linear) between dipole ends to get b position at given y. Here y must be given in dipole rest frame, and the resulting b-position will also be in the dipole rest frame.

Vec4 bInterpolateLab ( double  y,
double  m0 
)

In the lab frame.

Interpolate (linear) between dipole ends to get b position at given y.

Vec4 dipoleMomentum ( )

Get the dipole momentum four-vector.

The dipole four-momentum.

void excitationsToString ( double  m0,
Event event 
)

Put gluon excitations on the dipole.

Erase excitations below cut-off.

We now colour connect the excitations to the dipole. The dipole is connected like this sketch: acol (d1) col —— acol (d2) col.

Two cases depending on which end we should start at. We always start at min rapidity and connect from there.

Update status codes and mother/daughter indexing.

RotBstMatrix getDipoleRestFrame ( )

Get the rotation matrix to go to dipole rest frame.

Get the Lorentz matrix to go to the dipole rest frame.

pair< int, int > getOverlaps ( double  yfrac,
double  m0,
double  r0 
)

Get the quantum numbers m,n characterizing all dipole overlaps at a given rapidity value.

Calculate the amount of overlapping dipoles at a given rapidity. Return the number of overlapping dipoles to the "left" and "right".

Transform yfrac to y in dipole rest frame

void propagate ( double  deltat,
double  m0 
)

Propagate both dipole ends as well as all excitations.

First propagate the dipole ends.

Propagate excitations.

void propagateInit ( double  deltat)

Propagate the dipole itself.

Dipole end momenta.

New vertices in the lab frame.

Set the new vertices deep.

bool recoil ( Vec4 pg,
bool  dummy = false 
)

Recoil the dipole from adding a gluon. If the "dummy" option is set, the recoil will not be added, but only checked. Note: the gluon will not actually be added, only the recoil (if possible).

Keep track of direction.

Lightcone momenta after inserting the gluon.

The new lightcone momenta of the dipole ends.

Calculate the new momenta.

Check rapidity after recoil.

Check rapidity after recoil.

Set up and store the new momenta.


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