herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
Herwig::HwRemDecayer Class Reference

The HwRemDecayer class is responsible for the decay of the remnants. More...

#include <HwRemDecayer.h>

Inheritance diagram for Herwig::HwRemDecayer:

Classes

struct  ExtraSoftScatterVeto
 struct that is used to catch exceptions which are thrown due to energy conservation issues of additional soft scatters More...
 
struct  HadronContent
 Simple struct to store info about baryon quark and di-quark constituents. More...
 

Public Types

typedef vector< pair< tPPtr, tPPtr > > PartnerMap
 Typedef to store information about colour partners.
 
- Public Types inherited from ThePEG::RemnantDecayer
enum  RecoilOption
 
typedef Ptr< PtGenerator >::pointer PtGPtr
 
- Public Types inherited from ThePEG::InterfacedBase
enum  InitState
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 

Public Member Functions

 HwRemDecayer ()
 The default constructor.
 
void initialize (pair< tRemPPtr, tRemPPtr > rems, tPPair beam, Step &step, Energy forcedSplitScale)
 Do several checks and initialization, for remnantdecay inside ShowerHandler.
 
void initSoftInteractions (Energy ptmin, InvEnergy2 beta)
 Initialize the soft scattering machinery. More...
 
void doSplit (pair< tPPtr, tPPtr > partons, pair< tcPDFPtr, tcPDFPtr > pdfs, bool first)
 Perform the acual forced splitting. More...
 
void finalize (double colourDisrupt=0.0, unsigned int softInt=0)
 Perform the final creation of the diquarks. More...
 
void findChildren (tPPtr, vector< PPtr > &) const
 Find the children.
 
const pair< HadronContent, HadronContent > & content () const
 Return the hadron content objects for the incoming particles.
 
HadronContent getHadronContent (tcPPtr hadron) const
 Return a HadronContent struct from a PPtr to a hadron.
 
void setHadronContent (tPPair beam)
 Set the hadron contents.
 
Virtual functions required by the Decayer class.
virtual bool accept (const DecayMode &) const
 Check if this decayer can perfom the decay specified by the given decay mode. More...
 
virtual bool canHandle (tcPDPtr particle, tcPDPtr parton) const
 Return true if this decayer can handle the extraction of the extracted parton from the given particle.
 
virtual bool multiCapable () const
 Return true if this decayed can extract more than one parton from a particle.
 
virtual ParticleVector decay (const DecayMode &dm, const Particle &p, Step &step) const
 Perform a decay for a given DecayMode and a given Particle instance. More...
 
Functions used by the persistent I/O system.
void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently. More...
 
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently. More...
 
- Public Member Functions inherited from ThePEG::RemnantDecayer
virtual bool checkExtract (tcPPtr parent, tcPPtr extracted, const LorentzMomentum &pnew) const
 
RecoilOption recoilOption () const
 
int respectDISKinematics () const
 
PtGPtr pTGenerator () const
 
virtual bool needsFullStep () const
 
virtual ParticleVector decay (const DecayMode &dm, const Particle &p) const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
virtual bool needsFullStep () const
 
virtual ParticleVector decay (const DecayMode &dm, const Particle &p) const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
- Public Member Functions inherited from ThePEG::Decayer
Ptr< Amplitude >::pointer amplitude () const
 
virtual double brat (const DecayMode &dm, const ParticleData &pd, double oldbrat) const
 
virtual double brat (const DecayMode &dm, const Particle &p, double oldbrat) const
 
virtual ParticleVector getChildren (const DecayMode &dm, const Particle &parent) const
 
virtual void finalBoost (const Particle &parent, const ParticleVector &children) const
 
virtual void setScales (const Particle &parent, const ParticleVector &children) const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
virtual double brat (const DecayMode &dm, const ParticleData &pd, double oldbrat) const
 
virtual double brat (const DecayMode &dm, const Particle &p, double oldbrat) const
 
virtual ParticleVector getChildren (const DecayMode &dm, const Particle &parent) const
 
virtual void finalBoost (const Particle &parent, const ParticleVector &children) const
 
virtual void setScales (const Particle &parent, const ParticleVector &children) const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
- Public Member Functions inherited from HandlerBaseT< UseRandom >
double rnd () const
 
double rnd (double xu) const
 
double rnd (double xl, double xu) const
 
bool rndbool () const
 
bool rndbool (double p) const
 
bool rndbool (double p1, double p2) const
 
int rndsign (double p1, double p2, double p3) const
 
int rnd2 (double p0, double p1) const
 
int rnd3 (double p0, double p1, double p2) const
 
int rnd4 (double p0, double p1, double p2, double p3) const
 
long irnd (long xu=2) const
 
long irnd (long xl, long xu) const
 
const StandardModelBase & SM () const
 
tSMPtr standardModel () const
 
- Public Member Functions inherited from ThePEG::Interfaced
virtual bool defaultInit ()
 
PPtr getParticle (PID) const
 
PDPtr getParticleData (PID) const
 
bool used () const
 
void useMe () const
 
tEGPtr generator () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
PPtr getParticle (PID) const
 
PDPtr getParticleData (PID) const
 
bool used () const
 
void useMe () const
 
tEGPtr generator () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
- Public Member Functions inherited from ThePEG::InterfacedBase
string fullName () const
 
string name () const
 
string path () const
 
string comment () const
 
void setup (istream &is)
 
virtual void debugme () const
 
void update ()
 
void init ()
 
void initrun ()
 
void finish ()
 
void touch ()
 
void reset ()
 
void clear ()
 
InitState state () const
 
bool locked () const
 
bool touched () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
void update ()
 
void init ()
 
void initrun ()
 
void finish ()
 
void touch ()
 
void reset ()
 
void clear ()
 
InitState state () const
 
bool locked () const
 
bool touched () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
- Public Member Functions inherited from ThePEG::Base
void debug () const
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 
- Public Member Functions inherited from ThePEG::Named
 Named (const string &newName=string())
 
 Named (const Named &)=default
 
const string & name () const
 
bool operator== (const Named &other) const
 
bool operator< (const Named &other) const
 

Static Public Member Functions

static void Init ()
 The standard Init function used to initialize the interfaces. More...
 
- Static Public Member Functions inherited from ThePEG::RemnantDecayer
static tPVector decayRemnants (const tPVector &particles, Step &step)
 
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::Decayer
static ParticleVector DecayParticle (tPPtr parent, Step &step, long maxtry=1000)
 
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::HandlerBase
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::Interfaced
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::InterfacedBase
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::Base
static void Init ()
 

Protected Member Functions

Clone Methods.
virtual IBPtr clone () const
 Make a simple clone of this object. More...
 
virtual IBPtr fullclone () const
 Make a clone of this object, possibly modifying the cloned object to make it sane. More...
 
Standard Interfaced functions.
virtual void doinit ()
 Initialize this object after the setup phase before saving an EventGenerator to disk. More...
 
- Protected Member Functions inherited from ThePEG::RemnantDecayer
tRemPDPtr data (tcRemPPtr remnant) const
 
tcPPtr parent (tcRemPPtr remnant) const
 
const PVectorextracted (tcRemPPtr remnant) const
 
virtual void fillSubSystem (tPPtr p, set< tPPtr > &sub) const
 
virtual tPVector getSubSystem (tcPPtr parent, tPPtr parton) const
 
virtual bool preInitialize () const
 
virtual bool preInitialize () const
 
- Protected Member Functions inherited from ThePEG::Interfaced
void reporeg (IBPtr object, string name) const
 
bool setDefaultReference (PtrT &ptr, string classname, string objectname)
 
 Interfaced (const string &newName)
 
 Interfaced (const Interfaced &i)
 
void setGenerator (tEGPtr generator)
 
- Protected Member Functions inherited from ThePEG::InterfacedBase
 InterfacedBase (string newName)
 
 InterfacedBase (const InterfacedBase &i)
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void doinitrun ()
 
virtual void dofinish ()
 
virtual IVector getReferences ()
 
virtual void rebind (const TranslationMap &)
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void doinitrun ()
 
virtual void dofinish ()
 
virtual IVector getReferences ()
 
virtual void rebind (const TranslationMap &)
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
- Protected Member Functions inherited from ThePEG::Named
const Namedoperator= (const Named &other)
 
const string & name (const string &newName)
 

Private Member Functions

HwRemDecayeroperator= (const HwRemDecayer &)
 The assignment operator is private and must never be called. More...
 
void split (tPPtr parton, HadronContent &content, tRemPPtr rem, Lorentz5Momentum &used, PartnerMap &partners, tcPDFPtr pdf, bool first)
 Do the forced Splitting of the Remnant with respect to the extracted parton parton. More...
 
void mergeColour (tPPtr p1, tPPtr p2, bool anti) const
 Merge the colour lines of two particles. More...
 
void fixColours (PartnerMap partners, bool anti, double disrupt) const
 Set the colour connections. More...
 
void setRemMasses () const
 Set the momenta of the Remnants properly and boost the decay particles.
 
PPtr finalSplit (const tRemPPtr rem, long remID, Lorentz5Momentum usedMomentum) const
 This creates a parton from the remaining flavours of the hadron. More...
 
PPtr forceSplit (const tRemPPtr rem, long child, Energy &oldQ, double &oldx, Lorentz5Momentum &pf, Lorentz5Momentum &p, HadronContent &content) const
 This takes the particle and find a splitting for np -> p + child and creates the correct kinematics and connects for such a split. More...
 
bool isPartonic (tPPtr parton) const
 Check if a particle is a parton from a hadron or not. More...
 
Soft interaction methods.
Energy softPt () const
 Produce pt values according to dN/dp_T = N p_T exp(-beta_*p_T^2)
 
void softKinematics (Lorentz5Momentum &r1, Lorentz5Momentum &r2, Lorentz5Momentum &g1, Lorentz5Momentum &g2) const
 Get the 2 pairs of 5Momenta for the scattering. More...
 
void doSoftInteractions (unsigned int N)
 Create N soft gluon interactions.
 
void doSoftInteractions_old (unsigned int N)
 Create N soft gluon interactions (old version)
 
void doSoftInteractions_multiPeriph (unsigned int N)
 Create N soft gluon interactions with multiperhpheral kinematics.
 
bool doPhaseSpaceGenerationGluons (vector< Lorentz5Momentum > &softGluons, Energy energy, unsigned int &its) const
 Phase space generation for the ladder partons.
 
LorentzRotation rotate (const LorentzMomentum &p) const
 This returns the rotation matrix needed to rotate p into the z axis.
 
template<typename T >
gaussDistribution (T mean, T stdev) const
 Methods to generate random distributions also all stolen form UA5Handler.
 
double randUng (double A, double B) const
 This returns a random number with a flat distribution [-A,A] plus gaussian tail with stdev B TODO: Should move this to Utilities. More...
 
template<typename T >
void randAzm (T pt, T &px, T &py) const
 
Energy randExt (Energy AM0, InvEnergy B) const
 
tPPtr addParticle (tcPPtr parent, long id, Lorentz5Momentum p) const
 Method to add a particle to the step. More...
 

Private Attributes

pair< bool, bool > theanti
 A flag which indicates, whether the extracted valence quark was a anti particle.
 
pair< double, double > theX
 variable to sum up the x values of the extracted particles
 
pair< HadronContent, HadronContenttheContent
 Pair of HadronContent structs to know about the quark content of the beams.
 
pair< Lorentz5Momentum, Lorentz5Momentum > theUsed
 Pair of Lorentz5Momentum to keep track of the forced splitting product momenta.
 
pair< PartnerMap, PartnerMaptheMaps
 Pair of PartnerMap's to store the particles, which will be colour connected in the end.
 
StepPtr thestep
 Variable to hold a pointer to the current step. More...
 
pair< RemPPtr, RemPPtr > theRems
 Pair of Remnant pointers. More...
 
tcPPtr theBeam
 The beam particle data for the current incoming hadron.
 
Ptr< BeamParticleData >::const_pointer theBeamData
 the beam data
 
tcPDFPtr _pdf
 The PDF for the current initial-state shower.
 
bool allowTop_
 Switch to control handling of top quarks in proton.
 
bool multiPeriph_
 Switch to control using multiperipheral kinemaics.
 
bool quarkPair_
 True if kinematics is to be calculated for quarks.
 
Energy mg_
 The gluon constituent mass.
 
Soft interaction variables.
tPPair softRems_
 Pair of soft Remnant pointers, i.e. More...
 
Energy ptmin_
 ptcut of the UE model
 
InvEnergy2 beta_
 slope of the soft pt-spectrum: dN/dp_T = N p_T exp(-beta*p_T^2)
 
unsigned int maxtrySoft_
 Maximum number of attempts for the regeneration of an additional soft scattering, before the number of scatters is reduced.
 
double colourDisrupt_
 Variable to store the relative number of colour disrupted connections to additional soft subprocesses.
 
double ladderbFactor_
 Variable to store the additive factor of the multiperipheral ladder multiplicity.
 
double ladderPower_
 Variable of the parameterization of the ladder multiplicity.
 
double ladderNorm_
 Variable of the parameterization of the ladder multiplicity.
 
double ladderMult_
 
double gaussWidth_
 Variable to store the gaussian width of the fluctuation of the longitudinal momentum fraction.
 
double valOfN_
 Variable to store the current total multiplicity of a ladder.
 
double initTotRap_
 Variable to store the initial total rapidity between of the remnants.
 
Forced splitting variables.
Energy _kinCutoff
 The kinematic cut-off.
 
Energy _forcedSplitScale
 The PDF freezing scale as set in ShowerHandler.
 
double _range
 Range for emission.
 
double _zbin
 Size of the bins in z for the interpolation.
 
double _ybin
 Size of the bins in y for the interpolation.
 
int _nbinmax
 Maximum number of bins for the z interpolation.
 
ShowerAlphaPtr _alphaS
 Pointer to the object calculating the QCD coupling.
 
ShowerAlphaPtr _alphaEM
 Pointer to the object calculating the QED coupling.
 
unsigned int DISRemnantOpt_
 Option for the DIS remnant.
 
unsigned int PtDistribution_
 Option for the pT generation.
 
unsigned int pomeronStructure_
 Option for the treatment of the pomeron structure.
 

Additional Inherited Members

- Public Attributes inherited from ThePEG::RemnantDecayer
 boostAll
 
 boostFinal
 
 copyFinal
 
- Public Attributes inherited from ThePEG::InterfacedBase
 initializing
 
 uninitialized
 
 initialized
 
 runready
 
- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 
- Static Protected Member Functions inherited from ThePEG::RemnantDecayer
static LorentzRotation getZBoost (const LorentzMomentum &p0, const LorentzMomentum &p)
 
- Static Protected Member Functions inherited from ThePEG::Interfaced
static void registerRepository (IBPtr)
 
static void registerRepository (IBPtr, string newName)
 
- Protected Attributes inherited from ThePEG::RemnantDecayer
int respectDIS
 

Detailed Description

The HwRemDecayer class is responsible for the decay of the remnants.

Additional secondary scatters have to be evolved backwards to a gluon, the first/hard interaction has to be evolved back to a valence quark. This is all generated inside this class, which main methods are then called by the ShowerHandler.

A simple forced splitting algorithm is used. This takes the Remnant object produced from the PDF and backward evolution (hadron - parton) and produce partons with the remaining flavours and with the correct colour connections.

The algorithim operates by starting with the parton which enters the hard process. If this is from the sea there is a forced branching to produce the antiparticle from a gluon branching. If the parton entering the hard process was a gluon, or a gluon was produced from the first step of the algorithm, there is then a further branching back to a valence parton. After these partons have been produced a quark or diquark is produced to give the remaining valence content of the incoming hadron.

The forced branching are generated using a scale between QSpac and EmissionRange times the minimum scale. The energy fractions are then distributed using

\[\frac{\alpha_S}{2\pi}\frac{P(z)}{z}f(x/z,\tilde{q})\]

with the massless splitting functions.

Author
Manuel B"ahr
See also
The interfaces defined for HwRemDecayer.

Definition at line 56 of file HwRemDecayer.h.

Member Function Documentation

◆ accept()

virtual bool Herwig::HwRemDecayer::accept ( const DecayMode ) const
inlinevirtual

Check if this decayer can perfom the decay specified by the given decay mode.

Returns
true if this decayer can handle the given mode, otherwise false.

Reimplemented from ThePEG::RemnantDecayer.

Definition at line 93 of file HwRemDecayer.h.

◆ addParticle()

tPPtr Herwig::HwRemDecayer::addParticle ( tcPPtr  parent,
long  id,
Lorentz5Momentum  p 
) const
private

Method to add a particle to the step.

Parameters
parent= pointer to the parent particle
id= Particle ID of the newly created particle
p= Lorentz5Momentum of the new particle

◆ clone()

virtual IBPtr Herwig::HwRemDecayer::clone ( ) const
inlineprotectedvirtual

Make a simple clone of this object.

Returns
a pointer to the new object.

Implements ThePEG::InterfacedBase.

Definition at line 197 of file HwRemDecayer.h.

◆ decay()

virtual ParticleVector Herwig::HwRemDecayer::decay ( const DecayMode dm,
const Particle p,
Step step 
) const
virtual

Perform a decay for a given DecayMode and a given Particle instance.

Parameters
dmthe DecayMode describing the decay.
pthe Particle instance to be decayed.
stepthe step we are working on.
Returns
a ParticleVector containing the decay products.

Implements ThePEG::RemnantDecayer.

◆ doinit()

virtual void Herwig::HwRemDecayer::doinit ( )
inlineprotectedvirtual

Initialize this object after the setup phase before saving an EventGenerator to disk.

Exceptions
InitExceptionif object could not be initialized properly.

Reimplemented from ThePEG::RemnantDecayer.

Definition at line 215 of file HwRemDecayer.h.

References ThePEG::InterfacedBase::doinit().

◆ doSplit()

void Herwig::HwRemDecayer::doSplit ( pair< tPPtr, tPPtr partons,
pair< tcPDFPtr, tcPDFPtr pdfs,
bool  first 
)

Perform the acual forced splitting.

Parameters
partonsis a pair of ThePEG::Particle pointers which store the final partons on which the shower ends.
pdfsare pointers to the pdf objects for both beams
firstis a flage wether or not this is the first or a secondary interation

◆ finalize()

void Herwig::HwRemDecayer::finalize ( double  colourDisrupt = 0.0,
unsigned int  softInt = 0 
)

Perform the final creation of the diquarks.

Set the remnant masses and do all colour connections.

Parameters
colourDisrupt= variable to control how many "hard" scatters are colour isolated
softInt= parameter for the number of soft scatters

◆ finalSplit()

PPtr Herwig::HwRemDecayer::finalSplit ( const tRemPPtr  rem,
long  remID,
Lorentz5Momentum  usedMomentum 
) const
inlineprivate

This creates a parton from the remaining flavours of the hadron.

The last parton used was a valance parton, so only 2 (or 1, if meson) flavours remain to be used.

Definition at line 386 of file HwRemDecayer.h.

References Lorentz5Vector< Energy >::setMass().

◆ fixColours()

void Herwig::HwRemDecayer::fixColours ( PartnerMap  partners,
bool  anti,
double  disrupt 
) const
private

Set the colour connections.

Parameters
partners= Object that holds the information which particles to connect.
anti= flag to indicate, if (anti)colour was extracted as first parton.
disruptparameter for disruption of the colour structure

◆ forceSplit()

PPtr Herwig::HwRemDecayer::forceSplit ( const tRemPPtr  rem,
long  child,
Energy &  oldQ,
double &  oldx,
Lorentz5Momentum &  pf,
Lorentz5Momentum &  p,
HadronContent content 
) const
private

This takes the particle and find a splitting for np -> p + child and creates the correct kinematics and connects for such a split.

This Splitting has an upper bound on qtilde given by the energy argument

Parameters
remThe Remnant
childThe PDG code for the outgoing particle
oldQThe maximum scale for the evolution
oldxThe fraction of the hadron's momentum carried by the last parton
pfThe momentum of the last parton at input and after branching at output
pThe total emitted momentum
contentThe content of the hadron

◆ fullclone()

virtual IBPtr Herwig::HwRemDecayer::fullclone ( ) const
inlineprotectedvirtual

Make a clone of this object, possibly modifying the cloned object to make it sane.

Returns
a pointer to the new object.

Reimplemented from ThePEG::InterfacedBase.

Definition at line 203 of file HwRemDecayer.h.

◆ Init()

static void Herwig::HwRemDecayer::Init ( )
static

The standard Init function used to initialize the interfaces.

Called exactly once for each class by the class description system before the main function starts or when this class is dynamically loaded.

◆ initSoftInteractions()

void Herwig::HwRemDecayer::initSoftInteractions ( Energy  ptmin,
InvEnergy2  beta 
)

Initialize the soft scattering machinery.

Parameters
ptmin= the pt cutoff used in the UE model
beta= slope of the soft pt-spectrum

◆ isPartonic()

bool Herwig::HwRemDecayer::isPartonic ( tPPtr  parton) const
private

Check if a particle is a parton from a hadron or not.

Parameters
partonThe parton to be tested

◆ mergeColour()

void Herwig::HwRemDecayer::mergeColour ( tPPtr  p1,
tPPtr  p2,
bool  anti 
) const
private

Merge the colour lines of two particles.

Parameters
p1= Pointer to particle 1
p2= Pointer to particle 2
anti= flag to indicate, if (anti)colour was extracted as first parton.

◆ operator=()

HwRemDecayer& Herwig::HwRemDecayer::operator= ( const HwRemDecayer )
private

The assignment operator is private and must never be called.

In fact, it should not even be implemented.

◆ persistentInput()

void Herwig::HwRemDecayer::persistentInput ( PersistentIStream is,
int  version 
)

Function used to read in object persistently.

Parameters
isthe persistent input stream read from.
versionthe version number of the object when written.

◆ persistentOutput()

void Herwig::HwRemDecayer::persistentOutput ( PersistentOStream os) const

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

◆ randUng()

double Herwig::HwRemDecayer::randUng ( double  A,
double  B 
) const
inlineprivate

This returns a random number with a flat distribution [-A,A] plus gaussian tail with stdev B TODO: Should move this to Utilities.

Parameters
AThe width of the flat part
BThe standard deviation of the gaussian tail
Returns
the randomly generated value

Definition at line 492 of file HwRemDecayer.h.

◆ softKinematics()

void Herwig::HwRemDecayer::softKinematics ( Lorentz5Momentum &  r1,
Lorentz5Momentum &  r2,
Lorentz5Momentum &  g1,
Lorentz5Momentum &  g2 
) const
private

Get the 2 pairs of 5Momenta for the scattering.

Needs calling of initSoftInteractions.

◆ split()

void Herwig::HwRemDecayer::split ( tPPtr  parton,
HadronContent content,
tRemPPtr  rem,
Lorentz5Momentum &  used,
PartnerMap partners,
tcPDFPtr  pdf,
bool  first 
)
private

Do the forced Splitting of the Remnant with respect to the extracted parton parton.

Parameters
parton= PPtr to the parton going into the subprocess.
content= HadronContent struct to keep track of flavours.
rem= Pointer to the ThePEG::RemnantParticle.
used= Momentum vector to keep track of remaining momenta.
partners= Vector of pairs filled with tPPtr to the particles which should be colour connected.
pdfpointer to the PDF Object which is used for this particle
first= Flag for the first interaction.

Member Data Documentation

◆ softRems_

tPPair Herwig::HwRemDecayer::softRems_
private

Pair of soft Remnant pointers, i.e.

Diquarks.

Definition at line 616 of file HwRemDecayer.h.

◆ theRems

pair<RemPPtr, RemPPtr> Herwig::HwRemDecayer::theRems
private

Pair of Remnant pointers.

This is needed to boost in the Remnant-Remnant CMF after all have been decayed.

Definition at line 576 of file HwRemDecayer.h.

◆ thestep

StepPtr Herwig::HwRemDecayer::thestep
private

Variable to hold a pointer to the current step.

The variable is used to determine, wether decay(const DecayMode & dm, const Particle & p, Step & step) has been called in this event or not.

Definition at line 570 of file HwRemDecayer.h.


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