herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
Herwig::DipoleEventRecord Class Reference

The DipoleEventRecord class is used internally by the dipole shower. More...

#include <DipoleEventRecord.h>

Inheritance diagram for Herwig::DipoleEventRecord:

Classes

struct  getMomentum
 

Public Member Functions

 DipoleEventRecord ()
 The default constructor.
 
 ~DipoleEventRecord ()
 The default destructor just cleans up.
 
PListhard ()
 Return any non-coloured outgoing particles in the current subprocess.
 
const PListhard () const
 Return any non-coloured outgoing particles in the current subprocess.
 
const Lorentz5Momentum & pX () const
 Return the momentum of the hard system.
 
cPDVectorparticlesAfter ()
 Return the particles after emission.
 
const cPDVectorparticlesAfter () const
 Return the particles after emission.
 
cPDVectorparticlesBefore ()
 Return the particles before emission.
 
const cPDVectorparticlesBefore () const
 Return the particles before emission.
 
vector< Lorentz5Momentum > & momentaAfter ()
 Return the momenta after emission.
 
const vector< Lorentz5Momentum > & momentaAfter () const
 Return the momenta after emission.
 
map< PPtr, size_t > & particleIndices ()
 Return the dictionary for the particles.
 
const map< PPtr, size_t > & particleIndices () const
 Return the dictionary for the particles.
 
DensityOperatordensityOperator ()
 Return the density operator.
 
const DensityOperatordensityOperator () const
 Return the density operator.
 
void setSubleadingNc (bool doSub, size_t emissionsLimit)
 Set the subleading Nc flag and the number of emissions to calculate subleading Nc corrections for.
 
bool getContinueSubleadingNc () const
 Get the continue subleading Nc flag.
 
void setDensityOperatorEvolution (int scheme, Energy2 cutoff)
 Set the scheme and cutoff for the density operator evolution.
 
double dipoleKernelForEvolution (size_t em, size_t spec, Energy2 pEmitpSpec, Energy2 pEmitpEmis, Energy2 pEmispSpec)
 Calculates the dipole kernel to use for the density operator evolution.
 
void transform (const LorentzRotation &rot)
 Transform all intermediate, hard and outgoing particles using the given transformation.
 
const list< DipoleChain > & chains () const
 Return the dipole chains to be showered.
 
list< DipoleChain > & chains ()
 Access the dipole chains to be showered.
 
const list< DipoleChain > & doneChains () const
 Return the dipole chains which ceased evolving.
 
list< DipoleChain > & doneChains ()
 Access the dipole chains which ceased evolving.
 
bool haveChain () const
 Return true, if there are chains to be showered.
 
DipoleChaincurrentChain ()
 Return the current dipole chain.
 
void popChain ()
 Pop the current dipole chain.
 
void popChain (list< DipoleChain >::iterator)
 Remove the given chain.
 
void popChains (const list< list< DipoleChain >::iterator > &)
 Remove the given chains.
 
DipoleIndex mergeIndex (list< Dipole >::iterator firstDipole, const pair< bool, bool > &whichFirst, list< Dipole >::iterator secondDipole, const pair< bool, bool > &whichSecond) const
 Create a merged dipole index given two independent dipoles; the first dipole is to provide the emitter.
 
SubleadingSplittingInfo mergeSplittingInfo (list< DipoleChain >::iterator firstChain, list< Dipole >::iterator firstDipole, const pair< bool, bool > &whichFirst, list< DipoleChain >::iterator secondChain, list< Dipole >::iterator secondDipole, const pair< bool, bool > &whichSecond) const
 Create a SubleadingSplitingInfo given two independent dipoles; the first dipole is to provide the emitter.
 
void getSubleadingSplittings (list< SubleadingSplittingInfo > &)
 Return a list of all possible subleading-N emitting pairs.
 
void split (list< Dipole >::iterator dip, DipoleSplittingInfo &dsplit, pair< list< Dipole >::iterator, list< Dipole >::iterator > &childIterators, DipoleChain *&firstChain, DipoleChain *&secondChain)
 Split the dipole pointed to by the given iterator.
 
void split (list< Dipole >::iterator dip, list< DipoleChain >::iterator ch, DipoleSplittingInfo &dsplit, pair< list< Dipole >::iterator, list< Dipole >::iterator > &childIterators, DipoleChain *&firstChain, DipoleChain *&secondChain, bool colourSpectator=true)
 Split the dipole pointed to by the given iterator in the indicated chain, indicating a splitting with a colour spectator.
 
pair< PVector, PVectortmpsplit (list< Dipole >::iterator dip, DipoleSplittingInfo &dsplit, pair< list< Dipole >::iterator, list< Dipole >::iterator > &childIterators, DipoleChain *&firstChain, DipoleChain *&secondChain)
 As split, but not touching the acctual event record.
 
pair< PVector, PVectortmpsplit (list< Dipole >::iterator dip, list< DipoleChain >::iterator ch, DipoleSplittingInfo &dsplit, pair< list< Dipole >::iterator, list< Dipole >::iterator > &childIterators, DipoleChain *&firstChain, DipoleChain *&secondChain, bool colourSpectator=true)
 As split, but not touching the acctual event record.
 
void recoil (list< Dipole >::iterator dip, list< DipoleChain >::iterator ch, DipoleSplittingInfo &dsplit)
 Let the given dipole take the recoil of the indicated splitting.
 
void splitSubleading (SubleadingSplittingInfo &dsplit, pair< list< Dipole >::iterator, list< Dipole >::iterator > &childIterators, DipoleChain *&firstChain, DipoleChain *&secondChain)
 Peform a subleading-N splitting.
 
void update (DipoleSplittingInfo &dsplit)
 Update the particles upon insertion of the given splitting.
 
pair< PVector, PVectortmpupdate (DipoleSplittingInfo &dsplit)
 As update, but not touching the acctual event record.
 
void updateInverse (DipoleSplittingInfo &dsplit)
 Inverse of update, updateInverse(update(dsplit)) would return the event record to the state if update would not have been called.
 
list< pair< list< Dipole >::iterator, list< DipoleChain >::iterator > > inDipoles ()
 Return the dipole(s) containing the incoming partons after the evolution has ended.
 
tPPair fillEventRecord (StepPtr step, bool firstInteraction, bool realigned)
 Fill the given step and return incoming partons.
 
const map< PPtr, PPtr > & prepare (tSubProPtr subpro, tStdXCombPtr xc, StepPtr step, const pair< PDF, PDF > &pdf, tPPair beam, bool firstInteraction, const set< long > &offShellPartons, bool dipoles=true)
 Prepare the event record for the given subprocess.
 
void slimprepare (tSubProPtr subpro, tStdXCombPtr xc, const pair< PDF, PDF > &pdf, tPPair beam, const set< long > &offShellPartons, bool dipoles=true)
 Prepare the event record for the given subprocess.
 
virtual void clear ()
 Clear the event record: Give up ownership on any object involved in the evolution.
 
void prepareChainsSubleading (const bool decay)
 Prepare the dipole chains for the eventRecord after the subleading shower.
 
void debugLastEvent (ostream &) const
 Print event record at current state.
 
map< PPtr, PerturbativeProcessPtr > & decays ()
 Get the decays.
 
void fillFromDecays (PerturbativeProcessPtr decayProc, vector< PPtr > &original)
 Used in DipoleEventRecord::prepare.
 
void separateDecay (PerturbativeProcessPtr decayProc)
 Used in DipoleEventRecord::prepare.
 
Energy decay (PPtr incoming, bool &powhegEmission)
 Decay the particle.
 
bool prepareDecay (PerturbativeProcessPtr decayProc, const set< long > &offShellPartons)
 Prepare the event record for the showering of a decay.
 
void updateDecayMom (PPtr decayParent, PerturbativeProcessPtr decayProc)
 Boost the momentum of the outgoing of the given perturbative process to the momentum of given particle.
 
void updateDecayChainMom (PPtr decayParent, PerturbativeProcessPtr decayProc)
 Iteratively update the momenta of all particles in a decay chain, starting with the outgoing from the given parent.
 
void updateDecays (PerturbativeProcessPtr decayProc, bool iterate=true)
 Update theDecays following the decay and/or showering of a decay particle.
 
PerturbativeProcessPtr currentDecay ()
 Access current decay process.
 
void currentDecay (PerturbativeProcessPtr in)
 Set current decay process.
 
PPtr nextDecay ()
 Return the next particle to be decayed.
 
void findChains (const PList &ordered, const set< long > &offShellpartons, const bool decay=false)
 Find the chains to be showered.
 
PList colourOrdered (PPair &in, PList &out)
 Sort the coloured partons into a colour ordered ensemble.
 
- Public Member Functions inherited from Herwig::ShowerEventRecord
 ShowerEventRecord ()
 The default constructor.
 
virtual ~ShowerEventRecord ()
 The destructor.
 
tSubProPtr subProcess () const
 Return the subprocess currently showered.
 
tStdXCombPtr xcombPtr () const
 Return the XComb describing the hard process.
 
void xcombPtr (tStdXCombPtr in)
 Set the XComb describing the hard process.
 
const StandardXCombxcomb () const
 Return the XComb describing the hard process.
 
PPairincoming ()
 Return the incoming partons at the current stage of the evolution.
 
const PPairincoming () const
 Return the incoming partons at the current stage of the evolution.
 
PListoutgoing ()
 Return the outgoing partons at the current stage of the evolution.
 
const PListoutgoing () const
 Return the outgoing partons at the current stage of the evolution.
 
PListintermediates ()
 Return the intermediate particles at the current stage of the evolution.
 
const PListintermediates () const
 Return the intermediate particles at the current stage of the evolution.
 
const pair< double, double > & fractions () const
 Return the momentum fractions.
 
pair< double, double > & fractions ()
 Return the momentum fractions.
 
const pair< PDF, PDF > & pdfs () const
 Return the PDFs.
 
bool isMCatNLOSEvent () const
 True, if Matchbox MC@NLO S-event.
 
bool isMCatNLOHEvent () const
 True, if matchbox MC@NLO H-event.
 
bool isPowhegSEvent () const
 True, if Matchbox MC@NLO S-event.
 
bool isPowhegHEvent () const
 True, if matchbox MC@NLO H-event.
 
void isMCatNLOSEvent (bool in)
 True, if Matchbox MC@NLO S-event.
 
void isMCatNLOHEvent (bool in)
 True, if matchbox MC@NLO H-event.
 
Ptr< ShowerApproximation >::tptr showerApproximation ()
 Access to the shower approximation.
 
bool truncatedShower () const
 True if truncated shower required.
 
void truncatedShower (bool in)
 True if truncated shower required.
 
void identifyEventType ()
 Identify the type of event.
 
- Public Member Functions inherited from ThePEG::Base
void debug () const
 
virtual void debugme () const
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 

Private Attributes

Lorentz5Momentum thePX
 The momentum of the hard system.
 
PList theHard
 Any non-coloured outgoing particles in the current subprocess.
 
map< PPtr, PPtrtheOriginals
 Map originals to copies.
 
list< DipoleChaintheChains
 The dipole chains currently showered.
 
list< DipoleChaintheDoneChains
 The dipole chains which ceased evolving.
 
cPDVector theParticlesAfter
 Particles after the emission.
 
cPDVector theParticlesBefore
 Particles before the emission.
 
vector< Lorentz5Momentum > theMomentaAfter
 Momenta of the particles after emission.
 
pair< size_t, pair< size_t, size_t > > theEmitterEmissionIndices
 Pair of the emitters index before emission and both the emitters and the emissions indices after emission, <emitter_before,<emitter_after,emission> >
 
pair< size_t, size_t > theSpectatorIndices
 Pair of the spectators index before and after emission.
 
DensityOperator theDensityOperator
 The density operator.
 
bool doSubleadingNc
 Switch on or off for subleading Nc corrections.
 
bool continueSubleadingNc
 Flag to keep track of when to stop calculating colour matrix element corrections.
 
size_t subleadingNcEmissionsLimit
 Number of emissions to calculate subleading Nc corrections for.
 
size_t subEmDone
 Current number of subleading emissions.
 
map< PPtr, size_t > theParticleIndices
 Dictionary for particles before emission.
 
int densityOperatorEvolution
 Integer used to set which method of evolving the density operator to use: 0 - Vijk is Eikonal but there is a cutoff.
 
Energy2 densityOperatorCutoff
 Cutoff scale for the invariants (e.g.
 
map< std::tuple< size_t, size_t, size_t >, map< size_t, size_t > > theEmissionsMap
 Dictionary for emissions, maps the three indices.
 
map< PPtr, PerturbativeProcessPtr > theDecays
 The coloured partons that can be off-shell To only be filled by DipoleShowerHandler.
 
PerturbativeProcessPtr theCurrentDecay
 
PList theNextDecays
 List of unstable particles, the decay to be performed and/or showered next is always at the back.
 

Additional Inherited Members

- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 
- Static Public Member Functions inherited from ThePEG::Base
static void Init ()
 
- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 
- Protected Member Functions inherited from Herwig::ShowerEventRecord
void subProcess (tSubProPtr in)
 Set the subprocess.
 
pair< PDF, PDF > & pdfs ()
 Return the PDFs.
 
map< ColinePtr, ColinePtr > & colourLines ()
 Map of colour lines used to reset colours when inserted into the event.
 
void colourIsolate (const vector< PPtr > &original, const vector< PPtr > &copy)
 Isolate the colour of the process from the rest of the event.
 
void updateColour (PPtr particle, bool recursive)
 Update the colour information of a particle prior to insertion into the event record.
 
void mapColour (PPtr original, PPtr copy)
 Map the colours for a given particle.
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 

Detailed Description

The DipoleEventRecord class is used internally by the dipole shower.

Author
Simon Platzer, Stephen Webster

Definition at line 132 of file DipoleEventRecord.h.

Constructor & Destructor Documentation

◆ DipoleEventRecord()

Herwig::DipoleEventRecord::DipoleEventRecord ( )
inline

The default constructor.

Definition at line 139 of file DipoleEventRecord.h.

◆ ~DipoleEventRecord()

Herwig::DipoleEventRecord::~DipoleEventRecord ( )
inline

The default destructor just cleans up.

Definition at line 144 of file DipoleEventRecord.h.

References clear().

Member Function Documentation

◆ chains() [1/2]

list< DipoleChain > & Herwig::DipoleEventRecord::chains ( )
inline

Access the dipole chains to be showered.

Definition at line 263 of file DipoleEventRecord.h.

References theChains.

◆ chains() [2/2]

const list< DipoleChain > & Herwig::DipoleEventRecord::chains ( ) const
inline

Return the dipole chains to be showered.

Definition at line 258 of file DipoleEventRecord.h.

References theChains.

◆ clear()

virtual void Herwig::DipoleEventRecord::clear ( )
virtual

Clear the event record: Give up ownership on any object involved in the evolution.

Reimplemented from Herwig::ShowerEventRecord.

Referenced by ~DipoleEventRecord().

◆ currentChain()

DipoleChain & Herwig::DipoleEventRecord::currentChain ( )
inline

Return the current dipole chain.

Definition at line 284 of file DipoleEventRecord.h.

References haveChain(), and theChains.

◆ currentDecay() [1/2]

PerturbativeProcessPtr Herwig::DipoleEventRecord::currentDecay ( )
inline

Access current decay process.

Definition at line 531 of file DipoleEventRecord.h.

◆ currentDecay() [2/2]

void Herwig::DipoleEventRecord::currentDecay ( PerturbativeProcessPtr  in)
inline

Set current decay process.

Definition at line 536 of file DipoleEventRecord.h.

◆ decays()

map< PPtr, PerturbativeProcessPtr > & Herwig::DipoleEventRecord::decays ( )
inline

Get the decays.

Definition at line 476 of file DipoleEventRecord.h.

References theDecays.

◆ densityOperator() [1/2]

DensityOperator & Herwig::DipoleEventRecord::densityOperator ( )
inline

◆ densityOperator() [2/2]

const DensityOperator & Herwig::DipoleEventRecord::densityOperator ( ) const
inline

Return the density operator.

Definition at line 213 of file DipoleEventRecord.h.

References theDensityOperator.

◆ dipoleKernelForEvolution()

double Herwig::DipoleEventRecord::dipoleKernelForEvolution ( size_t  em,
size_t  spec,
Energy2  pEmitpSpec,
Energy2  pEmitpEmis,
Energy2  pEmispSpec 
)

Calculates the dipole kernel to use for the density operator evolution.

Takes the index of the emitter and spectator, and momentum invariants.

◆ doneChains() [1/2]

list< DipoleChain > & Herwig::DipoleEventRecord::doneChains ( )
inline

Access the dipole chains which ceased evolving.

Definition at line 273 of file DipoleEventRecord.h.

References theDoneChains.

◆ doneChains() [2/2]

const list< DipoleChain > & Herwig::DipoleEventRecord::doneChains ( ) const
inline

Return the dipole chains which ceased evolving.

Definition at line 268 of file DipoleEventRecord.h.

References theDoneChains.

◆ fillFromDecays()

void Herwig::DipoleEventRecord::fillFromDecays ( PerturbativeProcessPtr  decayProc,
vector< PPtr > &  original 
)

Used in DipoleEventRecord::prepare.

Add the outgoing particles from a perturbative process to the vector of original particles. Iterates through decay chains.

◆ findChains()

void Herwig::DipoleEventRecord::findChains ( const PList ordered,
const set< long > &  offShellpartons,
const bool  decay = false 
)

Find the chains to be showered.

The decay bool avoids mixing up decaying particles in hard and decay processes

Referenced by prepareChainsSubleading().

◆ getContinueSubleadingNc()

bool Herwig::DipoleEventRecord::getContinueSubleadingNc ( ) const
inline

Get the continue subleading Nc flag.

Definition at line 228 of file DipoleEventRecord.h.

References continueSubleadingNc.

Referenced by Herwig::DipoleShowerHandler::continueSubleadingNc().

◆ hard() [1/2]

PList & Herwig::DipoleEventRecord::hard ( )
inline

Return any non-coloured outgoing particles in the current subprocess.

Definition at line 152 of file DipoleEventRecord.h.

References theHard.

◆ hard() [2/2]

const PList & Herwig::DipoleEventRecord::hard ( ) const
inline

Return any non-coloured outgoing particles in the current subprocess.

Definition at line 158 of file DipoleEventRecord.h.

References theHard.

◆ haveChain()

bool Herwig::DipoleEventRecord::haveChain ( ) const
inline

Return true, if there are chains to be showered.

Definition at line 279 of file DipoleEventRecord.h.

References theChains.

Referenced by currentChain().

◆ inDipoles()

list< pair< list< Dipole >::iterator, list< DipoleChain >::iterator > > Herwig::DipoleEventRecord::inDipoles ( )

Return the dipole(s) containing the incoming partons after the evolution has ended.

Put back the chains containing these to the chains to be showered.

◆ momentaAfter() [1/2]

vector< Lorentz5Momentum > & Herwig::DipoleEventRecord::momentaAfter ( )
inline

Return the momenta after emission.

Definition at line 188 of file DipoleEventRecord.h.

References theMomentaAfter.

◆ momentaAfter() [2/2]

const vector< Lorentz5Momentum > & Herwig::DipoleEventRecord::momentaAfter ( ) const
inline

Return the momenta after emission.

Definition at line 193 of file DipoleEventRecord.h.

References theMomentaAfter.

◆ nextDecay()

PPtr Herwig::DipoleEventRecord::nextDecay ( )
inline

Return the next particle to be decayed.

Definition at line 541 of file DipoleEventRecord.h.

References theNextDecays.

◆ particleIndices() [1/2]

map< PPtr, size_t > & Herwig::DipoleEventRecord::particleIndices ( )
inline

Return the dictionary for the particles.

Definition at line 198 of file DipoleEventRecord.h.

References theParticleIndices.

Referenced by Herwig::DipoleShowerHandler::particleIndices().

◆ particleIndices() [2/2]

const map< PPtr, size_t > & Herwig::DipoleEventRecord::particleIndices ( ) const
inline

Return the dictionary for the particles.

Definition at line 203 of file DipoleEventRecord.h.

References theParticleIndices.

◆ particlesAfter() [1/2]

cPDVector & Herwig::DipoleEventRecord::particlesAfter ( )
inline

Return the particles after emission.

Definition at line 168 of file DipoleEventRecord.h.

References theParticlesAfter.

Referenced by Herwig::DipoleShowerHandler::particlesAfter().

◆ particlesAfter() [2/2]

const cPDVector & Herwig::DipoleEventRecord::particlesAfter ( ) const
inline

Return the particles after emission.

Definition at line 173 of file DipoleEventRecord.h.

References theParticlesAfter.

◆ particlesBefore() [1/2]

cPDVector & Herwig::DipoleEventRecord::particlesBefore ( )
inline

Return the particles before emission.

Definition at line 178 of file DipoleEventRecord.h.

References theParticlesBefore.

◆ particlesBefore() [2/2]

const cPDVector & Herwig::DipoleEventRecord::particlesBefore ( ) const
inline

Return the particles before emission.

Definition at line 183 of file DipoleEventRecord.h.

References theParticlesBefore.

◆ prepareChainsSubleading()

void Herwig::DipoleEventRecord::prepareChainsSubleading ( const bool  decay)
inline

Prepare the dipole chains for the eventRecord after the subleading shower.

Definition at line 457 of file DipoleEventRecord.h.

References colourOrdered(), continueSubleadingNc, decay(), findChains(), Herwig::ShowerEventRecord::incoming(), and Herwig::ShowerEventRecord::outgoing().

◆ prepareDecay()

bool Herwig::DipoleEventRecord::prepareDecay ( PerturbativeProcessPtr  decayProc,
const set< long > &  offShellPartons 
)

Prepare the event record for the showering of a decay.

Return false if the decay does not need to be showered.

◆ pX()

const Lorentz5Momentum & Herwig::DipoleEventRecord::pX ( ) const
inline

Return the momentum of the hard system.

Definition at line 163 of file DipoleEventRecord.h.

References thePX.

◆ separateDecay()

void Herwig::DipoleEventRecord::separateDecay ( PerturbativeProcessPtr  decayProc)

Used in DipoleEventRecord::prepare.

Replace the particles in the given perturbative process with their copies from the map, theOriginals. Iterates through decays chains.

◆ setDensityOperatorEvolution()

void Herwig::DipoleEventRecord::setDensityOperatorEvolution ( int  scheme,
Energy2  cutoff 
)
inline

Set the scheme and cutoff for the density operator evolution.

Definition at line 233 of file DipoleEventRecord.h.

References densityOperatorCutoff, and densityOperatorEvolution.

◆ setSubleadingNc()

void Herwig::DipoleEventRecord::setSubleadingNc ( bool  doSub,
size_t  emissionsLimit 
)
inline

Set the subleading Nc flag and the number of emissions to calculate subleading Nc corrections for.

Definition at line 219 of file DipoleEventRecord.h.

References continueSubleadingNc, doSubleadingNc, and subleadingNcEmissionsLimit.

◆ split() [1/2]

void Herwig::DipoleEventRecord::split ( list< Dipole >::iterator  dip,
DipoleSplittingInfo dsplit,
pair< list< Dipole >::iterator, list< Dipole >::iterator > &  childIterators,
DipoleChain *&  firstChain,
DipoleChain *&  secondChain 
)
inline

Split the dipole pointed to by the given iterator.

Return references to the affected chains, and update iterators pointing to the children in the returned chains.

Definition at line 333 of file DipoleEventRecord.h.

References split(), and theChains.

Referenced by split().

◆ split() [2/2]

void Herwig::DipoleEventRecord::split ( list< Dipole >::iterator  dip,
list< DipoleChain >::iterator  ch,
DipoleSplittingInfo dsplit,
pair< list< Dipole >::iterator, list< Dipole >::iterator > &  childIterators,
DipoleChain *&  firstChain,
DipoleChain *&  secondChain,
bool  colourSpectator = true 
)

Split the dipole pointed to by the given iterator in the indicated chain, indicating a splitting with a colour spectator.

Return references to the affected chains, and update iterators pointing to the children in the returned chains.

◆ tmpsplit()

pair< PVector, PVector > Herwig::DipoleEventRecord::tmpsplit ( list< Dipole >::iterator  dip,
DipoleSplittingInfo dsplit,
pair< list< Dipole >::iterator, list< Dipole >::iterator > &  childIterators,
DipoleChain *&  firstChain,
DipoleChain *&  secondChain 
)
inline

As split, but not touching the acctual event record.

Definition at line 359 of file DipoleEventRecord.h.

References theChains, and tmpsplit().

Referenced by tmpsplit().

◆ transform()

void Herwig::DipoleEventRecord::transform ( const LorentzRotation rot)

Transform all intermediate, hard and outgoing particles using the given transformation.

Also update their spinInfo if applicable.

◆ updateDecays()

void Herwig::DipoleEventRecord::updateDecays ( PerturbativeProcessPtr  decayProc,
bool  iterate = true 
)

Update theDecays following the decay and/or showering of a decay particle.

With iteration switched on (true) this will update theDecays with the entire decay chain. `

Member Data Documentation

◆ continueSubleadingNc

bool Herwig::DipoleEventRecord::continueSubleadingNc
private

Flag to keep track of when to stop calculating colour matrix element corrections.

Definition at line 641 of file DipoleEventRecord.h.

Referenced by getContinueSubleadingNc(), prepareChainsSubleading(), and setSubleadingNc().

◆ densityOperatorCutoff

Energy2 Herwig::DipoleEventRecord::densityOperatorCutoff
private

Cutoff scale for the invariants (e.g.

pEmitter*pEmission) in the Eikonal dipole kernel, Vijk.

Definition at line 673 of file DipoleEventRecord.h.

Referenced by setDensityOperatorEvolution().

◆ densityOperatorEvolution

int Herwig::DipoleEventRecord::densityOperatorEvolution
private

Integer used to set which method of evolving the density operator to use: 0 - Vijk is Eikonal but there is a cutoff.

1 - Vijk is Eikonal. 2 - Vijk=1 for all i,j,k. 3 - Semi-leading Nc, Vijk=0 for all

Definition at line 667 of file DipoleEventRecord.h.

Referenced by setDensityOperatorEvolution().

◆ doSubleadingNc

bool Herwig::DipoleEventRecord::doSubleadingNc
private

Switch on or off for subleading Nc corrections.

Definition at line 635 of file DipoleEventRecord.h.

Referenced by setSubleadingNc().

◆ subEmDone

size_t Herwig::DipoleEventRecord::subEmDone
private

Current number of subleading emissions.

Definition at line 651 of file DipoleEventRecord.h.

◆ subleadingNcEmissionsLimit

size_t Herwig::DipoleEventRecord::subleadingNcEmissionsLimit
private

Number of emissions to calculate subleading Nc corrections for.

Definition at line 646 of file DipoleEventRecord.h.

Referenced by setSubleadingNc().

◆ theChains

list<DipoleChain> Herwig::DipoleEventRecord::theChains
private

The dipole chains currently showered.

Definition at line 593 of file DipoleEventRecord.h.

Referenced by chains(), currentChain(), haveChain(), split(), and tmpsplit().

◆ theCurrentDecay

PerturbativeProcessPtr Herwig::DipoleEventRecord::theCurrentDecay
private

Definition at line 702 of file DipoleEventRecord.h.

◆ theDecays

map<PPtr,PerturbativeProcessPtr> Herwig::DipoleEventRecord::theDecays
private

The coloured partons that can be off-shell To only be filled by DipoleShowerHandler.

Storage of the particles which need to be decayed

Definition at line 697 of file DipoleEventRecord.h.

Referenced by decays().

◆ theDensityOperator

DensityOperator Herwig::DipoleEventRecord::theDensityOperator
private

The density operator.

Definition at line 630 of file DipoleEventRecord.h.

Referenced by densityOperator().

◆ theDoneChains

list<DipoleChain> Herwig::DipoleEventRecord::theDoneChains
private

The dipole chains which ceased evolving.

Definition at line 598 of file DipoleEventRecord.h.

Referenced by doneChains().

◆ theEmissionsMap

map<std::tuple<size_t,size_t,size_t>,map<size_t,size_t> > Herwig::DipoleEventRecord::theEmissionsMap
private

Dictionary for emissions, maps the three indices.

  • emitter before emission
  • emitter after emission
  • emission to another map of the indices before emission mapped to the indices after emission (except the emitters index)

Definition at line 683 of file DipoleEventRecord.h.

◆ theEmitterEmissionIndices

pair<size_t,pair<size_t,size_t> > Herwig::DipoleEventRecord::theEmitterEmissionIndices
private

Pair of the emitters index before emission and both the emitters and the emissions indices after emission, <emitter_before,<emitter_after,emission> >

Definition at line 620 of file DipoleEventRecord.h.

◆ theHard

PList Herwig::DipoleEventRecord::theHard
private

Any non-coloured outgoing particles in the current subprocess.

Definition at line 583 of file DipoleEventRecord.h.

Referenced by hard().

◆ theMomentaAfter

vector<Lorentz5Momentum> Herwig::DipoleEventRecord::theMomentaAfter
private

Momenta of the particles after emission.

Definition at line 613 of file DipoleEventRecord.h.

Referenced by momentaAfter().

◆ theNextDecays

PList Herwig::DipoleEventRecord::theNextDecays
private

List of unstable particles, the decay to be performed and/or showered next is always at the back.

This list is required to force the dipole shower to shower one decay chain at a time, without jumping between decay chains. Note this is not required but this is the most obvious/intuitive way to treat the decays.

Definition at line 712 of file DipoleEventRecord.h.

Referenced by nextDecay().

◆ theOriginals

map<PPtr,PPtr> Herwig::DipoleEventRecord::theOriginals
private

Map originals to copies.

Definition at line 588 of file DipoleEventRecord.h.

◆ theParticleIndices

map<PPtr,size_t> Herwig::DipoleEventRecord::theParticleIndices
private

Dictionary for particles before emission.

Definition at line 657 of file DipoleEventRecord.h.

Referenced by particleIndices().

◆ theParticlesAfter

cPDVector Herwig::DipoleEventRecord::theParticlesAfter
private

Particles after the emission.

Definition at line 603 of file DipoleEventRecord.h.

Referenced by particlesAfter().

◆ theParticlesBefore

cPDVector Herwig::DipoleEventRecord::theParticlesBefore
private

Particles before the emission.

Definition at line 608 of file DipoleEventRecord.h.

Referenced by particlesBefore().

◆ thePX

Lorentz5Momentum Herwig::DipoleEventRecord::thePX
private

The momentum of the hard system.

Definition at line 577 of file DipoleEventRecord.h.

Referenced by pX().

◆ theSpectatorIndices

pair<size_t,size_t> Herwig::DipoleEventRecord::theSpectatorIndices
private

Pair of the spectators index before and after emission.

Definition at line 625 of file DipoleEventRecord.h.


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