PYTHIA
8.312
|
#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. | |
RopeDipoleEnd * | d1Ptr () |
Deep access to the RopeDipoleEnds (needed by OverlappingRopeDipole). | |
RopeDipoleEnd * | d2Ptr () |
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. | |
The RopeDipole class holds information about a colour dipole, as well as functionality to do shoving and to calculate effective string tension.
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.
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.