Herwig 7.3.0
|
This class is designed to construct the diagrams for resonant processes using a provdided set of particles as interemdiates. More...
#include <ResonantProcessConstructor.h>
Public Types | |
enum | direction { incoming , outgoing } |
Enumeration for the direction. More... | |
typedef set< tPDPtr > | tPDSet |
Set of ParticleData pointers. | |
typedef vector< vector< double > > | CFMatrix |
Nested vector of doubles. | |
Public Types inherited from Herwig::HardProcessConstructor | |
typedef vector< HPDiagram > | HPDVector |
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 &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (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< PDPtr > | incoming_ |
Storage for the required intermediate particles. | |
vector< PDPtr > | intermediates_ |
Storage for the required intermediate particles. | |
vector< PDPtr > | outgoing_ |
Storage for the required intermediate particles. | |
vector< HPDiagram > | diagrams_ |
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. | |
ResonantProcessConstructor & | operator= (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) |
This class is designed to construct the diagrams for resonant processes using a provdided set of particles as interemdiates.
Definition at line 30 of file ResonantProcessConstructor.h.
typedef vector<vector<double> > Herwig::ResonantProcessConstructor::CFMatrix |
Nested vector of doubles.
Definition at line 38 of file ResonantProcessConstructor.h.
typedef set<tPDPtr> Herwig::ResonantProcessConstructor::tPDSet |
Set of ParticleData pointers.
Definition at line 35 of file ResonantProcessConstructor.h.
Enumeration for the direction.
Definition at line 41 of file ResonantProcessConstructor.h.
|
inline |
The default constructor.
Definition at line 48 of file ResonantProcessConstructor.h.
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
|
virtual |
The main function to create the resonant diagrams.
Implements Herwig::HardProcessConstructor.
|
protectedvirtual |
Initialize this object after the setup phase before saving an EventGenerator to disk.
InitException | if object could not be initialized properly. |
Reimplemented from Herwig::HardProcessConstructor.
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
|
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.
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::ResonantProcessConstructor::persistentInput | ( | PersistentIStream & | is, |
int | version | ||
) |
Function used to read in object persistently.
is | the persistent input stream read from. |
version | the version number of the object when written. |
void Herwig::ResonantProcessConstructor::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
private |
Given a vertex and 2 particle id's find the possible states that can be the 3rd external particle.
vertex | Pointer to the vertex |
part1 | id of first particle |
d1 | direction of particle one |
part2 | id of other particle |
d2 | direction of particle two |
d3 | required direction of 3rd state (default = outgoing) |
|
private |
Storage for the diagrams.
Definition at line 201 of file ResonantProcessConstructor.h.
|
private |
Storage for the required intermediate particles.
Definition at line 186 of file ResonantProcessConstructor.h.
|
private |
Storage for the required intermediate particles.
Definition at line 191 of file ResonantProcessConstructor.h.
|
private |
Storage for the required intermediate particles.
Definition at line 196 of file ResonantProcessConstructor.h.
|
private |
Which types of processes to generate.
Definition at line 171 of file ResonantProcessConstructor.h.
|
private |
Scale choice.
Definition at line 176 of file ResonantProcessConstructor.h.
|
private |
Prefactor for the scale calculation.
Definition at line 181 of file ResonantProcessConstructor.h.