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

This class is designed to construct the diagrams for resonant processes using a provdided set of particles as interemdiates. More...

#include <ResonantProcessConstructor.h>

Inheritance diagram for Herwig::ResonantProcessConstructor:

Public Types

enum  direction { incoming , outgoing }
 Enumeration for the direction. More...
 
typedef set< tPDPtrtPDSet
 Set of ParticleData pointers.
 
typedef vector< vector< double > > CFMatrix
 Nested vector of doubles.
 
- Public Types inherited from Herwig::HardProcessConstructor
typedef vector< HPDiagramHPDVector
 Vector of HPDiagrams.
 
- Public Types inherited from ThePEG::InterfacedBase
enum  InitState
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 

Public Member Functions

 ResonantProcessConstructor ()
 The default constructor.
 
- Public Member Functions inherited from Herwig::HardProcessConstructor
 HardProcessConstructor ()
 The default constructor.
 
void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently.
 
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently.
 
- 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
 
- Public Member Functions inherited from ThePEG::InterfacedBase
string fullName () const
 
string name () const
 
string path () const
 
string comment () const
 
void setup (istream &is)
 
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
 
virtual IBPtr fullclone () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
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
 
virtual IBPtr fullclone () const
 
- 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
 
- 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
 

Protected Member Functions

Clone Methods.
virtual IBPtr clone () const
 Make a simple clone of this object.
 
virtual IBPtr fullclone () const
 Make a clone of this object, possibly modifying the cloned object to make it sane.
 
- Protected Member Functions inherited from Herwig::HardProcessConstructor
void fixFSOrder (HPDiagram &diag)
 Functions to set up colour flows and matrix elements.
 
void assignToCF (HPDiagram &diag)
 Assign a diagram to the appropriate colour flow(s).
 
void sChannelCF (HPDiagram &diag)
 Assign a $s$-channel diagram to the appropriate colour flow(s).
 
void tChannelCF (HPDiagram &diag)
 Assign a $t$-channel diagram to the appropriate colour flow(s).
 
void uChannelCF (HPDiagram &diag)
 Assign a $u$-channel diagram to the appropriate colour flow(s).
 
void fourPointCF (HPDiagram &diag)
 Assign a $u$-channel diagram to the appropriate colour flow(s).
 
tHwSMPtr model () const
 Pointer to the model being used.
 
tSubHdlPtr subProcess () const
 Pointer to the sub process handler.
 
bool debug () const
 Whether to print the debug information with the matrix element.
 
GeneralHardME::ColourStructure colourFlow (const tcPDVector &extpart) const
 Get the correct colour factor matrix.
 
bool duplicate (const HPDiagram &diagram, const HPDVector &group) const
 Search for a diagram that has already been created.
 
bool checkOrder (const HPDiagram &diag) const
 check the order of a diagram
 
- 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
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 IBPtr clone () const=0
 
 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 &)
 
- Protected Member Functions inherited from ThePEG::Pointer::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)
 

Standard HardProcessConstructor functions.

unsigned int processOption_
 Which types of processes to generate.
 
unsigned int scaleChoice_
 Scale choice.
 
double scaleFactor_
 Prefactor for the scale calculation.
 
vector< PDPtrincoming_
 Storage for the required intermediate particles.
 
vector< PDPtrintermediates_
 Storage for the required intermediate particles.
 
vector< PDPtroutgoing_
 Storage for the required intermediate particles.
 
vector< HPDiagramdiagrams_
 Storage for the diagrams.
 
virtual void doinit ()
 Initialize this object after the setup phase before saving an EventGenerator to disk.
 
void constructVertex2 (IDPair in, VertexBasePtr vertex, PDPtr partc)
 Utility function to help second vertex.
 
void makeResonantDiagram (IDPair in, PDPtr offshell, long outa, long outb, VBPair vertices)
 Function to create the appropriate diagrams.
 
tPDSet search (VertexBasePtr vertex, long part1, direction d1, long part2, direction d2, direction d3=outgoing)
 Given a vertex and 2 particle id's find the possible states that can be the 3rd external particle.
 
IDPair find (long part, const PDVector &out) const
 Return the pair of outgoing particles from the list.
 
void createMatrixElement (const HPDiagram &diag) const
 Create a matrix element from the given resonant process diagram.
 
string MEClassname (const tcPDVector &extpart, tcPDPtr inter, string &objname) const
 Create the correct classname and objectname for a matrix element.
 
ResonantProcessConstructoroperator= (const ResonantProcessConstructor &)=delete
 The assignment operator is private and must never be called.
 

Functions used by the persistent I/O system.

void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently.
 
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently.
 
void constructDiagrams ()
 The main function to create the resonant diagrams.
 
static void Init ()
 The standard Init function used to initialize the interfaces.
 

Additional Inherited Members

- Static Public Member Functions inherited from Herwig::HardProcessConstructor
static void Init ()
 The standard Init function used to initialize the interfaces.
 
- 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 ()
 
- 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 designed to construct the diagrams for resonant processes using a provdided set of particles as interemdiates.

See also
The interfaces defined for ResonantProcessConstructor.
HardProcessConstructor

Definition at line 30 of file ResonantProcessConstructor.h.

Member Typedef Documentation

◆ CFMatrix

typedef vector<vector<double> > Herwig::ResonantProcessConstructor::CFMatrix

Nested vector of doubles.

Definition at line 38 of file ResonantProcessConstructor.h.

◆ tPDSet

Set of ParticleData pointers.

Definition at line 35 of file ResonantProcessConstructor.h.

Member Enumeration Documentation

◆ direction

Enumeration for the direction.

Definition at line 41 of file ResonantProcessConstructor.h.

Constructor & Destructor Documentation

◆ ResonantProcessConstructor()

Herwig::ResonantProcessConstructor::ResonantProcessConstructor ( )
inline

The default constructor.

Definition at line 48 of file ResonantProcessConstructor.h.

Member Function Documentation

◆ clone()

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

Make a simple clone of this object.

Returns
a pointer to the new object.

Implements ThePEG::InterfacedBase.

◆ constructDiagrams()

void Herwig::ResonantProcessConstructor::constructDiagrams ( )
virtual

The main function to create the resonant diagrams.

Implements Herwig::HardProcessConstructor.

◆ doinit()

virtual void Herwig::ResonantProcessConstructor::doinit ( )
protectedvirtual

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

Exceptions
InitExceptionif object could not be initialized properly.

Reimplemented from Herwig::HardProcessConstructor.

◆ fullclone()

virtual IBPtr Herwig::ResonantProcessConstructor::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::ResonantProcessConstructor::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=()

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

The assignment operator is private and must never be called.

In fact, it should not even be implemented.

◆ persistentInput()

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

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

◆ search()

tPDSet Herwig::ResonantProcessConstructor::search ( VertexBasePtr  vertex,
long  part1,
direction  d1,
long  part2,
direction  d2,
direction  d3 = outgoing 
)
private

Given a vertex and 2 particle id's find the possible states that can be the 3rd external particle.

Parameters
vertexPointer to the vertex
part1id of first particle
d1direction of particle one
part2id of other particle
d2direction of particle two
d3required direction of 3rd state (default = outgoing)
Returns
container of third particles

Member Data Documentation

◆ diagrams_

vector<HPDiagram> Herwig::ResonantProcessConstructor::diagrams_
private

Storage for the diagrams.

Definition at line 201 of file ResonantProcessConstructor.h.

◆ incoming_

vector<PDPtr> Herwig::ResonantProcessConstructor::incoming_
private

Storage for the required intermediate particles.

Definition at line 186 of file ResonantProcessConstructor.h.

◆ intermediates_

vector<PDPtr> Herwig::ResonantProcessConstructor::intermediates_
private

Storage for the required intermediate particles.

Definition at line 191 of file ResonantProcessConstructor.h.

◆ outgoing_

vector<PDPtr> Herwig::ResonantProcessConstructor::outgoing_
private

Storage for the required intermediate particles.

Definition at line 196 of file ResonantProcessConstructor.h.

◆ processOption_

unsigned int Herwig::ResonantProcessConstructor::processOption_
private

Which types of processes to generate.

Definition at line 171 of file ResonantProcessConstructor.h.

◆ scaleChoice_

unsigned int Herwig::ResonantProcessConstructor::scaleChoice_
private

Scale choice.

Definition at line 176 of file ResonantProcessConstructor.h.

◆ scaleFactor_

double Herwig::ResonantProcessConstructor::scaleFactor_
private

Prefactor for the scale calculation.

Definition at line 181 of file ResonantProcessConstructor.h.


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