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

The TwoBodyDecayConstructor class inherits from the dummy base class NBodyDecayConstructorBase and implements the necessary functions in order to create the 2 body decay modes for a given set of vertices stored in a Model class. More...

#include <TwoBodyDecayConstructor.h>

Inheritance diagram for Herwig::TwoBodyDecayConstructor:

Public Member Functions

 TwoBodyDecayConstructor ()
 The default constructor.
 
virtual void DecayList (const set< PDPtr > &part)
 Function used to determine allowed decaymodes. More...
 
virtual unsigned int numBodies () const
 Number of outgoing lines. 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 Herwig::NBodyDecayConstructorBase
 NBodyDecayConstructorBase ()
 The default constructor.
 
void decayConstructor (tDecayConstructorPtr d)
 Set the pointer to the DecayConstrcutor.
 
bool removeFlavourChangingVertices () const
 Remove flavour changing vertices ?
 
bool removeSmallVertices () const
 Remove small vertices ?
 
double minVertexNorm () const
 Minimum norm for vertex removal.
 
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::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 Herwig::NBodyDecayConstructorBase
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

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...
 
- Protected Member Functions inherited from Herwig::NBodyDecayConstructorBase
virtual void createDecayMode (vector< NBDiagram > &mode, bool possibleOnShell, double symfac)
 Method to set up the decay mode, should be overidden in inheriting class.
 
void setBranchingRatio (tDMPtr dm, Energy pwidth)
 Set the branching ratio of this mode. More...
 
void setDecayerInterfaces (string name) const
 Set the interfaces of the decayers depending on the flags stored. More...
 
bool initialize () const
 Whether to initialize decayers or not.
 
int iteration () const
 Number of iterations if initializing (default 1)
 
int points () const
 Number of points to do in initialization.
 
bool info () const
 Whether to output information on the decayers.
 
bool createDecayModes () const
 Whether to create the DecayModes as well as the Decayer objects.
 
unsigned int maximumGaugeBosons () const
 Maximum number of electroweak gauge bosons.
 
unsigned int maximumList () const
 Maximum number of particles from the list whose decays we are calculating.
 
double minimumReleaseFraction () const
 Minimum energy release fraction.
 
tDecayConstructorPtr decayConstructor () const
 Get the pointer to the DecayConstructor object.
 
unsigned int removeOnShell () const
 Option for on-shell particles.
 
bool excluded (VertexBasePtr vertex) const
 Check if a vertex is excluded.
 
virtual void doinit ()
 Initialize this object after the setup phase before saving an EventGenerator to disk. More...
 
- 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

TwoBodyDecayConstructoroperator= (const TwoBodyDecayConstructor &)=delete
 The assignment operator is private and must never be called. More...
 
VertexBasePtr radiationVertex (tPDPtr particle, ShowerInteraction inter, tPDPair children=tPDPair())
 Get the vertex for QED/QCD radiation.
 
Functions to create decayers and decaymodes.
void createModes (tPDPtr inpart, VertexBasePtr vert, unsigned int ilist, multiset< TwoBodyDecay > &modes)
 Function to create decays. More...
 
GeneralTwoBodyDecayerPtr createDecayer (TwoBodyDecay decay, vector< VertexBasePtr >)
 Function to create decayer for specific vertex. More...
 
void createDecayMode (multiset< TwoBodyDecay > &decays)
 Create decay mode(s) from given part and decay modes. More...
 

Private Attributes

map< ShowerInteraction, map< tPDPtr, VertexBasePtr > > radiationVertices_
 Map of particles and the vertices which generate their QCD radiation.
 
ShowerAlphaPtr alphaQCD_
 Default choice for the strong coupling object for hard QCD radiation.
 
ShowerAlphaPtr alphaQED_
 Default choice for the strong coupling object for hard QED radiation.
 
ShowerInteraction inter_
 Which type of corrections to the decays to include.
 

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

The TwoBodyDecayConstructor class inherits from the dummy base class NBodyDecayConstructorBase and implements the necessary functions in order to create the 2 body decay modes for a given set of vertices stored in a Model class.

See also
The interfaces defined for TwoBodyDecayConstructor.
NBodyDecayConstructor

Definition at line 37 of file TwoBodyDecayConstructor.h.

Member Function Documentation

◆ clone()

virtual IBPtr Herwig::TwoBodyDecayConstructor::clone ( ) const
protectedvirtual

Make a simple clone of this object.

Returns
a pointer to the new object.

Implements ThePEG::InterfacedBase.

◆ createDecayer()

GeneralTwoBodyDecayerPtr Herwig::TwoBodyDecayConstructor::createDecayer ( TwoBodyDecay  decay,
vector< VertexBasePtr >   
)
private

Function to create decayer for specific vertex.

Parameters
decaydecay mode for this decay member variable

◆ createDecayMode()

void Herwig::TwoBodyDecayConstructor::createDecayMode ( multiset< TwoBodyDecay > &  decays)
private

Create decay mode(s) from given part and decay modes.

Parameters
decaysThe vector of decay modes
decayerThe decayer responsible for this decay

◆ createModes()

void Herwig::TwoBodyDecayConstructor::createModes ( tPDPtr  inpart,
VertexBasePtr  vert,
unsigned int  ilist,
multiset< TwoBodyDecay > &  modes 
)
private

Function to create decays.

Parameters
inpartIncoming particle
vertThe vertex to create decays for
ilistWhich list to search
ivRow number in _theExistingDecayers member
Returns
A vector a decay modes

◆ DecayList()

virtual void Herwig::TwoBodyDecayConstructor::DecayList ( const set< PDPtr > &  part)
virtual

Function used to determine allowed decaymodes.

Parameters
partvector of ParticleData pointers containing particles in model

Reimplemented from Herwig::NBodyDecayConstructorBase.

◆ fullclone()

virtual IBPtr Herwig::TwoBodyDecayConstructor::fullclone ( ) const
protectedvirtual

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.

◆ Init()

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

◆ numBodies()

virtual unsigned int Herwig::TwoBodyDecayConstructor::numBodies ( ) const
inlinevirtual

Number of outgoing lines.

Required for correct ordering.

Implements Herwig::NBodyDecayConstructorBase.

Definition at line 58 of file TwoBodyDecayConstructor.h.

◆ operator=()

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

The assignment operator is private and must never be called.

In fact, it should not even be implemented.

◆ persistentInput()

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

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

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