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

This class is responsible of two related tasks: More...

#include <PartnerFinder.h>

Inheritance diagram for Herwig::PartnerFinder:

Public Member Functions

 PartnerFinder ()
 The default constructor.
 
virtual void setInitialEvolutionScales (const ShowerParticleVector &particles, const bool isDecayCase, ShowerInteraction, const bool setPartners=true)
 Given in input a collection of particles (ShowerParticle objects), each of these methods set the initial evolution scales of those particles, between the ones given in input, that do not have yet their evolution scale set. 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...
 
pair< Energy, Energy > calculateInitialEvolutionScales (const ShowerPPair &, const bool isDecayCase)
 Given a pair of particles, supposedly partners w.r.t. More...
 
pair< Energy, Energy > calculateFinalFinalScales (const Lorentz5Momentum &p1, const Lorentz5Momentum &p2)
 Calculate the initial evolution scales given momenta.
 
pair< Energy, Energy > calculateInitialInitialScales (const Lorentz5Momentum &p1, const Lorentz5Momentum &p2)
 Calculate the initial evolution scales given momenta.
 
pair< Energy, Energy > calculateInitialFinalScales (const Lorentz5Momentum &pb, const Lorentz5Momentum &pc, const bool isDecayCase)
 Calculate the initial evolution scales given momenta.
 
- 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 ()
 
virtual bool preInitialize () const
 
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 ()
 
virtual bool preInitialize () const
 
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::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

vector< pair< ShowerPartnerType, tShowerParticlePtr > > findQCDPartners (tShowerParticlePtr particle, const ShowerParticleVector &particles)
 Find the QCD partners. More...
 
vector< pair< double, tShowerParticlePtr > > findQEDPartners (tShowerParticlePtr particle, const ShowerParticleVector &particles, const bool isDecayCase)
 Find the QED partners. More...
 
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...
 
virtual void setInitialQCDEvolutionScales (const ShowerParticleVector &particles, const bool isDecayCase, const bool setPartners=true)
 Members to set the scales for different interactions. More...
 
virtual void setInitialQEDEvolutionScales (const ShowerParticleVector &particles, const bool isDecayCase, const bool setPartners=true)
 Set initial scales for a QED interaction.
 
- 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 doinit ()
 
virtual void doinitrun ()
 
virtual void dofinish ()
 
virtual IVector getReferences ()
 
virtual void rebind (const TranslationMap &)
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void doinit ()
 
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

PartnerFinderoperator= (const PartnerFinder &)=delete
 The assignment operator is private and must never be called. More...
 

Private Attributes

int partnerMethod_
 Method for choosing colour partner.
 
int QEDPartner_
 Choice for the QED radiation partner.
 
int scaleChoice_
 Choice of the scale.
 

Additional Inherited Members

- Public Types inherited from ThePEG::InterfacedBase
enum  InitState
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 
- 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::Interfaced
static void registerRepository (IBPtr)
 
static void registerRepository (IBPtr, string newName)
 

Detailed Description

This class is responsible of two related tasks:

  • it finds the partners
  • for each pair of partners (and interaction therefore) it sets the initial evolution scales of both of them.

In general the finding of the partners is performed by this class but the calculation of the initial evolution scales should be implemented for different shower evolution models in classes inheriting from this one. Notice that a given particle has, in general, a different partner for each different interaction; however, given a partner, its initial evolution scale, Q, is purely a kinematical relationship between the pair, without dependence on the dynamics (i.e. type of interaction).

See also
The interfaces defined for PartnerFinder.

Definition at line 45 of file PartnerFinder.h.

Member Function Documentation

◆ calculateInitialEvolutionScales()

pair<Energy,Energy> Herwig::PartnerFinder::calculateInitialEvolutionScales ( const ShowerPPair ,
const bool  isDecayCase 
)

Given a pair of particles, supposedly partners w.r.t.

an interaction, this method returns their initial evolution scales as a pair. If something wrong happens, it returns the null (ZERO,ZERO) pair. This method is used by the above setXXXInitialEvolutionScales methods. These methods must be overiden in inheriting classes General method to calculate the initial evolution scales

◆ clone()

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

Make a simple clone of this object.

Returns
a pointer to the new object.

Implements ThePEG::InterfacedBase.

Definition at line 90 of file PartnerFinder.h.

◆ findQCDPartners()

vector< pair<ShowerPartnerType, tShowerParticlePtr> > Herwig::PartnerFinder::findQCDPartners ( tShowerParticlePtr  particle,
const ShowerParticleVector particles 
)
protected

Find the QCD partners.

Parameters
particleThe particle to find the partners for
particlesThe full set of particles to search

◆ findQEDPartners()

vector< pair<double, tShowerParticlePtr> > Herwig::PartnerFinder::findQEDPartners ( tShowerParticlePtr  particle,
const ShowerParticleVector particles,
const bool  isDecayCase 
)
protected

Find the QED partners.

Parameters
particleThe particle to find the partners for
particlesThe full set of particles to search

◆ fullclone()

virtual IBPtr Herwig::PartnerFinder::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 96 of file PartnerFinder.h.

◆ Init()

static void Herwig::PartnerFinder::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.

◆ operator=()

PartnerFinder& Herwig::PartnerFinder::operator= ( const PartnerFinder )
privatedelete

The assignment operator is private and must never be called.

In fact, it should not even be implemented.

◆ persistentInput()

void Herwig::PartnerFinder::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::PartnerFinder::persistentOutput ( PersistentOStream os) const

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

◆ setInitialEvolutionScales()

virtual void Herwig::PartnerFinder::setInitialEvolutionScales ( const ShowerParticleVector particles,
const bool  isDecayCase,
ShowerInteraction  ,
const bool  setPartners = true 
)
virtual

Given in input a collection of particles (ShowerParticle objects), each of these methods set the initial evolution scales of those particles, between the ones given in input, that do not have yet their evolution scale set.

The input collection of particles can be either the full collection of showering particles (kept in the main class ShowerHandler, in the case isDecayCase is false, or simply, in the case isDecayCase is true, the decaying particle and its decay products. The methods returns true, unless something wrong (inconsistencies, or undefined values) happens.

These methods are virtual but in most cases inheriting classes should not need to overide them as they simply find the relevant partner and call one of the calculateScale members to calculate the scale. Set the initial scales

Parameters
particlesThe particles to be considered
isDecayCaseWhether or not this is a decay
setPartnersWhether to set the colour partners or just the scales

◆ setInitialQCDEvolutionScales()

virtual void Herwig::PartnerFinder::setInitialQCDEvolutionScales ( const ShowerParticleVector particles,
const bool  isDecayCase,
const bool  setPartners = true 
)
protectedvirtual

Members to set the scales for different interactions.

Set initial scales for a QCD interaction


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