Herwig
7.2.1
|
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. | |
typedef set< tPDPtr > | tPDSet |
Set of ParticleData pointers. | |
typedef vector< vector< double > > | CFMatrix |
Nested vector of doubles. More... | |
Public Types inherited from Herwig::HardProcessConstructor | |
typedef vector< HPDiagram > | HPDVector |
Vector of HPDiagrams. More... | |
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. | |
void | constructDiagrams () |
The main function to create the resonant diagrams. | |
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::HardProcessConstructor | |
HardProcessConstructor () | |
The default constructor. | |
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::HardProcessConstructor | |
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... | |
Standard HardProcessConstructor functions. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. More... | |
Protected Member Functions inherited from Herwig::HardProcessConstructor | |
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. More... | |
GeneralHardME::ColourStructure | colourFlow (const tcPDVector &extpart) const |
Get the correct colour factor matrix. More... | |
bool | duplicate (const HPDiagram &diagram, const HPDVector &group) const |
Search for a diagram that has already been created. More... | |
bool | checkOrder (const HPDiagram &diag) const |
check the order of a diagram | |
void | fixFSOrder (HPDiagram &diag) |
Functions to set up colour flows and matrix elements. More... | |
void | assignToCF (HPDiagram &diag) |
Assign a diagram to the appropriate colour flow(s). More... | |
void | sChannelCF (HPDiagram &diag) |
Assign a $s$-channel diagram to the appropriate colour flow(s). More... | |
void | tChannelCF (HPDiagram &diag) |
Assign a $t$-channel diagram to the appropriate colour flow(s). More... | |
void | uChannelCF (HPDiagram &diag) |
Assign a $u$-channel diagram to the appropriate colour flow(s). More... | |
void | fourPointCF (HPDiagram &diag) |
Assign a $u$-channel diagram to the appropriate colour flow(s). 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 &) | |
ReferenceCounted & | operator= (const 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) |
Private Member Functions | |
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. More... | |
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. More... | |
Private Attributes | |
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. | |
Additional Inherited Members | |
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.
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
|
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) |