herwig is hosted by Hepforge, IPPP Durham
Herwig  7.1.5
Herwig::ShowerParticle Class Reference

This class represents a particle in the showering process. More...

#include <ShowerParticle.h>

Inheritance diagram for Herwig::ShowerParticle:

Classes

struct  EvolutionPartner
 Struct for all the info on an evolution partner. More...
 
struct  EvolutionScales
 Struct to store the evolution scales. More...
 

Public Member Functions

void setShowerMomentum (bool timelike)
 Set a preliminary momentum for the particle.
 
void constructSpinInfo (bool timelike)
 Construct the spin info object for a shower particle.
 
void initializeDecay ()
 Perform any initial calculations needed after the branching has been selected.
 
void initializeInitialState (PPtr parent)
 Perform any initial calculations needed after the branching has been selected. More...
 
void initializeFinalState ()
 Perform any initial calculations needed after the branching has been selected.
 
Construction and descruction functions.
 ShowerParticle (tcEventPDPtr x, bool fs, bool tls=false)
 Standard Constructor. More...
 
 ShowerParticle (const Particle &x, unsigned int pert, bool fs, bool tls=false)
 Copy constructor from a ThePEG Particle. More...
 
bool isFinalState () const
 Access/Set various flags about the state of the particle. More...
 
bool initiatesTLS () const
 Access the flag that tells if the particle is initiating a time like shower when it has been emitted in an initial state shower.
 
unsigned int perturbative () const
 Access the flag which tells us where the particle came from This is 0 for a particle produced in the shower, 1 if the particle came from the hard sub-process and 2 is it came from a decay.
 
void x (double x)
 Set/Get the momentum fraction for initial-state particles. More...
 
double x () const
 For an initial state particle set the fraction of the beam momentum.
 
const ShoKinPtr & showerKinematics () const
 Set/Get methods for the ShowerKinematics objects. More...
 
void showerKinematics (const ShoKinPtr in)
 Set the ShowerKinematics object.
 
const ShowerBasisPtr & showerBasis () const
 Set/Get methods for the ShowerBasis objects. More...
 
void showerBasis (const ShowerBasisPtr in, bool copy)
 Set the ShowerBasis object.
 
void vetoEmission (ShowerPartnerType type, Energy scale)
 Members relating to the initial evolution scale and partner for the particle. More...
 
const EvolutionScalesscales () const
 Access to the evolution scales.
 
EvolutionScalesscales ()
 Access to the evolution scales.
 
- Public Member Functions inherited from ThePEG::Particle
 Particle (tcEventPDPtr newData)
 
 Particle (const Particle &)
 
ostream & print (ostream &os, tcStepPtr step=tcStepPtr()) const
 
virtual void debugme () const
 
bool decayed () const
 
const ParticleVectorchildren () const
 
void addChild (tPPtr c)
 
void abandonChild (tPPtr child)
 
const tParticleVectorparents () const
 
tParticleSet siblings () const
 
void undecay ()
 
void decayMode (tDMPtr dm)
 
tDMPtr decayMode () const
 
tPPtr next () const
 
tPPtr previous () const
 
tcPPtr original () const
 
tPPtr original ()
 
tcPPtr final () const
 
tPPtr final ()
 
tStepPtr birthStep () const
 
int number () const
 
const ParticleDataClassdata () const
 
tcEventPDPtr dataPtr () const
 
const string & PDGName () const
 
long id () const
 
const Lorentz5Momentum & momentum () const
 
void set3Momentum (const Momentum3 &p)
 
void setMomentum (const LorentzMomentum &p)
 
void set5Momentum (const Lorentz5Momentum &p)
 
Energy mass () const
 
Energy nominalMass () const
 
Energy2 scale () const
 
void scale (Energy2 q2)
 
Energy2 vetoScale () const
 
void vetoScale (Energy2 q2)
 
Energy2 mt2 () const
 
Energy mt () const
 
Energy2 perpmass2 () const
 
Energy perpmass () const
 
double rapidity () const
 
double eta () const
 
Energy Pplus () const
 
Energy Pminus () const
 
const LorentzPoint & vertex () const
 
LorentzPoint labVertex () const
 
LorentzPoint decayVertex () const
 
LorentzPoint labDecayVertex () const
 
const Lorentz5Distance & lifeLength () const
 
void setVertex (const LorentzPoint &p)
 
void setLabVertex (const LorentzPoint &)
 
void setLifeLength (const Distance &d)
 
void setLifeLength (const LorentzDistance &d)
 
void setLifeLength (const Lorentz5Distance &d)
 
Time lifeTime () const
 
void transform (const LorentzRotation &r)
 
void boost (double bx, double by, double bz)
 
void boost (const Boost &b)
 
void rotateX (double a)
 
void rotateY (double a)
 
void rotateZ (double a)
 
void rotate (double a, const Axis &axis)
 
void mirror ()
 
void deepTransform (const LorentzRotation &r)
 
void deepBoost (double bx, double by, double bz)
 
void deepBoost (const Boost &b)
 
void deepRotateX (double a)
 
void deepRotateY (double a)
 
void deepRotateZ (double a)
 
void deepRotate (double a, const Axis &axis)
 
double massError () const
 
double energyError () const
 
double rhoError () const
 
void rescaleEnergy ()
 
void rescaleRho ()
 
void rescaleMass ()
 
bool hasColourInfo () const
 
tColinePtr antiColourLine () const
 
tColinePtr colourLine (bool anti=false) const
 
bool hasColourLine (tcColinePtr line, bool anti=false) const
 
bool hasAntiColourLine (tcColinePtr line) const
 
bool coloured () const
 
bool hasColour (bool anti=false) const
 
bool hasAntiColour () const
 
tcCBPtr colourInfo () const
 
tCBPtr colourInfo ()
 
void colourInfo (tCBPtr c)
 
std::iterator_traits< Iterator >::value_type colourNeighbour (Iterator first, Iterator last, bool anti=false) const
 
std::iterator_traits< Iterator >::value_type antiColourNeighbour (Iterator first, Iterator last) const
 
void colourNeighbour (tPPtr, bool anti=false)
 
void antiColourNeighbour (tPPtr p)
 
void antiColourConnect (tPPtr neighbour)
 
void colourConnect (tPPtr neighbour, bool anti=false)
 
tPPtr incomingColour (bool anti=false) const
 
tPPtr incomingAntiColour () const
 
void incomingColour (tPPtr p, bool anti=false)
 
void incomingAntiColour (tPPtr p)
 
tPPtr outgoingColour (bool anti=false) const
 
tPPtr outgoingAntiColour () const
 
void outgoingColour (tPPtr, bool anti=false)
 
void outgoingAntiColour (tPPtr p)
 
void colourFlow (tPPtr child, bool anti=false)
 
void antiColourFlow (tPPtr child)
 
void resetColour ()
 
tcSpinPtr spinInfo () const
 
tSpinPtr spinInfo ()
 
void spinInfo (tSpinPtr s)
 
const EIVectorgetInfo () const
 
EIVectorgetInfo ()
 
bool hasRep () const
 
void initFull ()
 
void persistentOutput (PersistentOStream &) const
 
void persistentInput (PersistentIStream &, int)
 
bool decayed () const
 
const ParticleVectorchildren () const
 
void addChild (tPPtr c)
 
void abandonChild (tPPtr child)
 
const tParticleVectorparents () const
 
tParticleSet siblings () const
 
void undecay ()
 
void decayMode (tDMPtr dm)
 
tDMPtr decayMode () const
 
tPPtr next () const
 
tPPtr previous () const
 
tcPPtr original () const
 
tPPtr original ()
 
tcPPtr final () const
 
tPPtr final ()
 
tStepPtr birthStep () const
 
int number () const
 
const ParticleDataClassdata () const
 
tcEventPDPtr dataPtr () const
 
const string & PDGName () const
 
long id () const
 
const Lorentz5Momentum & momentum () const
 
void set3Momentum (const Momentum3 &p)
 
void setMomentum (const LorentzMomentum &p)
 
void set5Momentum (const Lorentz5Momentum &p)
 
Energy mass () const
 
Energy nominalMass () const
 
Energy2 scale () const
 
void scale (Energy2 q2)
 
Energy2 vetoScale () const
 
void vetoScale (Energy2 q2)
 
Energy2 mt2 () const
 
Energy mt () const
 
Energy2 perpmass2 () const
 
Energy perpmass () const
 
double rapidity () const
 
double eta () const
 
Energy Pplus () const
 
Energy Pminus () const
 
const LorentzPoint & vertex () const
 
LorentzPoint labVertex () const
 
LorentzPoint decayVertex () const
 
LorentzPoint labDecayVertex () const
 
const Lorentz5Distance & lifeLength () const
 
void setVertex (const LorentzPoint &p)
 
void setLabVertex (const LorentzPoint &)
 
void setLifeLength (const Distance &d)
 
void setLifeLength (const LorentzDistance &d)
 
void setLifeLength (const Lorentz5Distance &d)
 
Time lifeTime () const
 
void transform (const LorentzRotation &r)
 
void boost (double bx, double by, double bz)
 
void boost (const Boost &b)
 
void rotateX (double a)
 
void rotateY (double a)
 
void rotateZ (double a)
 
void rotate (double a, const Axis &axis)
 
void mirror ()
 
void deepTransform (const LorentzRotation &r)
 
void deepBoost (double bx, double by, double bz)
 
void deepBoost (const Boost &b)
 
void deepRotateX (double a)
 
void deepRotateY (double a)
 
void deepRotateZ (double a)
 
void deepRotate (double a, const Axis &axis)
 
double massError () const
 
double energyError () const
 
double rhoError () const
 
void rescaleEnergy ()
 
void rescaleRho ()
 
void rescaleMass ()
 
bool hasColourInfo () const
 
tColinePtr antiColourLine () const
 
tColinePtr colourLine (bool anti=false) const
 
bool hasColourLine (tcColinePtr line, bool anti=false) const
 
bool hasAntiColourLine (tcColinePtr line) const
 
bool coloured () const
 
bool hasColour (bool anti=false) const
 
bool hasAntiColour () const
 
tcCBPtr colourInfo () const
 
tCBPtr colourInfo ()
 
void colourInfo (tCBPtr c)
 
std::iterator_traits< Iterator >::value_type colourNeighbour (Iterator first, Iterator last, bool anti=false) const
 
std::iterator_traits< Iterator >::value_type antiColourNeighbour (Iterator first, Iterator last) const
 
void colourNeighbour (tPPtr, bool anti=false)
 
void antiColourNeighbour (tPPtr p)
 
void antiColourConnect (tPPtr neighbour)
 
void colourConnect (tPPtr neighbour, bool anti=false)
 
tPPtr incomingColour (bool anti=false) const
 
tPPtr incomingAntiColour () const
 
void incomingColour (tPPtr p, bool anti=false)
 
void incomingAntiColour (tPPtr p)
 
tPPtr outgoingColour (bool anti=false) const
 
tPPtr outgoingAntiColour () const
 
void outgoingColour (tPPtr, bool anti=false)
 
void outgoingAntiColour (tPPtr p)
 
void colourFlow (tPPtr child, bool anti=false)
 
void antiColourFlow (tPPtr child)
 
void resetColour ()
 
tcSpinPtr spinInfo () const
 
tSpinPtr spinInfo ()
 
void spinInfo (tSpinPtr s)
 
const EIVectorgetInfo () const
 
EIVectorgetInfo ()
 
bool hasRep () const
 
void initFull ()
 
void persistentOutput (PersistentOStream &) const
 
void persistentInput (PersistentIStream &, int)
 
- Public Member Functions inherited from ThePEG::Base
void debug () const
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 

Additional Inherited Members

- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 
- Static Public Member Functions inherited from ThePEG::Particle
static void PrintParticles (ostream &os, Iterator first, Iterator last, tcStepPtr step=tcStepPtr())
 
static void PrintParticles (ostream &os, const Cont &c, tcStepPtr step=tcStepPtr())
 
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::Base
static void Init ()
 
- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 
- Static Public Attributes inherited from ThePEG::Particle
static string outputFormat
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 

Detailed Description

This class represents a particle in the showering process.

It inherits from the Particle class of ThePEG and has some specifics information useful only during the showering process.

Notice that:

  • for forward evolution, it is clear what is meant by parent/child; for backward evolution, however, it depends whether we want to keep a physical picture or a Monte-Carlo effective one. In the former case, an incoming particle (emitting particle) splits into an emitted particle and the emitting particle after the emission: the latter two are then children of the emitting particle, the parent. In the Monte-Carlo effective picture, we have that the particle close to the hard subprocess, with higher (space-like) virtuality, splits into an emitted particle and the emitting particle at lower virtuality: the latter two are, in this case, the children of the first one, the parent. However we choose a more physical picture where the new emitting particle is the parented of the emitted final-state particle and the original emitting particle.
  • the pointer to a SplitFun object is set only in the case that the particle has undergone a shower emission. This is similar to the case of the decay of a normal Particle where the pointer to a Decayer object is set only in the case that the particle has undergone to a decay. In the case of particle connected directly to the hard subprocess, there is no pointer to the hard subprocess, but there is a method isFromHardSubprocess() which returns true only in this case.
See also
Particle
ShowerConfig
ShowerKinematics

Definition at line 60 of file ShowerParticle.h.

Constructor & Destructor Documentation

◆ ShowerParticle() [1/2]

Herwig::ShowerParticle::ShowerParticle ( tcEventPDPtr  x,
bool  fs,
bool  tls = false 
)
inline

Standard Constructor.

Note that the default constructor is private - there is no particle without a pointer to a ParticleData object.

Parameters
xthe ParticleData object
fsWhether or not the particle is an inital or final-state particle
tlsWhether or not the particle initiates a time-like shower

Definition at line 158 of file ShowerParticle.h.

References ZERO.

◆ ShowerParticle() [2/2]

Herwig::ShowerParticle::ShowerParticle ( const Particle x,
unsigned int  pert,
bool  fs,
bool  tls = false 
)
inline

Copy constructor from a ThePEG Particle.

Parameters
xThePEG particle
pertWhere the particle came from
fsWhether or not the particle is an inital or final-state particle
tlsWhether or not the particle initiates a time-like shower

Definition at line 170 of file ShowerParticle.h.

References ZERO.

Member Function Documentation

◆ initializeInitialState()

void Herwig::ShowerParticle::initializeInitialState ( PPtr  parent)

Perform any initial calculations needed after the branching has been selected.

Parameters
parentThe beam particle

◆ isFinalState()

bool Herwig::ShowerParticle::isFinalState ( ) const
inline

Access/Set various flags about the state of the particle.

Access the flag that tells if the particle is final state or initial state.

Definition at line 212 of file ShowerParticle.h.

◆ showerBasis()

const ShowerBasisPtr& Herwig::ShowerParticle::showerBasis ( ) const
inline

Set/Get methods for the ShowerBasis objects.

Access/ the ShowerBasis object.

Definition at line 266 of file ShowerParticle.h.

◆ showerKinematics()

const ShoKinPtr& Herwig::ShowerParticle::showerKinematics ( ) const
inline

Set/Get methods for the ShowerKinematics objects.

Access/ the ShowerKinematics object.

Definition at line 250 of file ShowerParticle.h.

◆ vetoEmission()

void Herwig::ShowerParticle::vetoEmission ( ShowerPartnerType  type,
Energy  scale 
)

Members relating to the initial evolution scale and partner for the particle.

Veto emission at a given scale

◆ x()

void Herwig::ShowerParticle::x ( double  x)
inline

Set/Get the momentum fraction for initial-state particles.

For an initial state particle get the fraction of the beam momentum

Definition at line 235 of file ShowerParticle.h.

References x().

Referenced by x().


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