herwig is hosted by Hepforge, IPPP Durham
 Herwig  7.1.5
Herwig::ProductionMatrixElement Class Reference

The storage of the helicity amplitude expression for the matrix element of a hard process. More...

`#include <ProductionMatrixElement.h>`

Public Member Functions

RhoDMatrix calculateDMatrix (int, const RhoDMatrix &, const vector< RhoDMatrix > &) const
Calculate the decay matrix for an incoming particle.

RhoDMatrix calculateRhoMatrix (int, const RhoDMatrix &, const RhoDMatrix &, const vector< RhoDMatrix > &) const
Calculate the rho matrix for a given outgoing particle.

double average () const
Compute the spin averaged matrix element.

double average (const RhoDMatrix &in1, const RhoDMatrix &in2) const
Compute the spin average matrix element.

Complex average (const ProductionMatrixElement &me2, const RhoDMatrix &in1, const RhoDMatrix &in2) const
Compute the spin average matrix element.

void reset (const ProductionMatrixElement &x) const
Reset the matrix element.

Standard constructors and destructors.
ProductionMatrixElement (PDT::Spin in1, PDT::Spin in2, PDT::Spin out)
Constructor for 2-1 scattering. More...

ProductionMatrixElement (PDT::Spin in1, PDT::Spin in2, PDT::Spin out1, PDT::Spin out2)
Constructor for 2-2 scattering. More...

ProductionMatrixElement (PDT::Spin in1, PDT::Spin in2, PDT::Spin out1, PDT::Spin out2, PDT::Spin out3)
Constructor for 2-3 scattering. More...

ProductionMatrixElement (PDT::Spin in1, PDT::Spin in2, PDT::Spin out1, PDT::Spin out2, PDT::Spin out3, PDT::Spin out4)
Constructor for 2-4 scattering. More...

ProductionMatrixElement (PDT::Spin in1, PDT::Spin in2, PDT::Spin out1, PDT::Spin out2, PDT::Spin out3, PDT::Spin out4, PDT::Spin out5)
Constructor for 2-5 scattering. More...

ProductionMatrixElement (PDT::Spin in1, PDT::Spin in2, PDT::Spin out1, PDT::Spin out2, PDT::Spin out3, PDT::Spin out4, PDT::Spin out5, PDT::Spin out6)
Constructor for 2-6 scattering. More...

ProductionMatrixElement (PDT::Spin in1, PDT::Spin in2, vector< PDT::Spin > out)
Constructor for 2-n scattering. More...

ProductionMatrixElement ()
Default constructor.

vector< PDT::Spininspin ()
Get the spins of the incoming particles particle. More...

vector< PDT::Spinoutspin ()
Get the spins of the outgoing particles. More...

Complex operator() (unsigned int in1, unsigned int in2, unsigned int out) const
Access the helicity components for a 2-1 scattering. More...

Complexoperator() (unsigned int in1, unsigned int in2, unsigned int out)
Access the helicity components for a 2-1 scattering. More...

Complex operator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2) const
Access the helicity components for a 2-2 scattering. More...

Complexoperator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2)
Access the helicity components for a 2-2 scattering. More...

Complex operator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3) const
Access the helicity components for a 2-3 scattering. More...

Complexoperator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3)
Access the helicity components for a 2-3 scattering. More...

Complex operator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4) const
Access the helicity components for a 2-4 scattering. More...

Complexoperator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4)
Access the helicity components for a 2-4 scattering. More...

Complex operator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4, unsigned int out5) const
Access the helicity components for a 2-5 scattering. More...

Complexoperator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4, unsigned int out5)
Access the helicity components for a 2-5 scattering. More...

Complex operator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4, unsigned int out5, unsigned int out6) const
Access the helicity components for a 2-6 scattering. More...

Complexoperator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4, unsigned int out5, unsigned int out6)
Access the helicity components for a 2-6 scattering. More...

Complex operator() (vector< unsigned int > hel) const
Access the helicity components for a 2-n scattering. More...

Complexoperator() (vector< unsigned int > hel)
Access the helicity components for a 2-n scattering. More...

Static Public Member Functions

static void Init ()
Standard Init function used to initialize the interfaces.

Private Member Functions

void setMESize ()
Set the size of the vector containing the matrix element.

Private Attributes

unsigned int _nout
Number of outgoing particles.

vector< PDT::Spin_inspin
Spin of the incoming particles as 2s+1.

vector< PDT::Spin_outspin
Spins of the outgoing particles.

vector< Complex_matrixelement
Storage of the matrix element, a vector is better for memory usage.

vector< int > _constants
Constants needed to map the index of the vector to a helicity structure.

Detailed Description

The storage of the helicity amplitude expression for the matrix element of a hard process.

Two incoming particles and an arbitary number of external particles are supported.

DecayMatrixElement
RhoDMatrix
HardVertex

Definition at line 34 of file ProductionMatrixElement.h.

◆ ProductionMatrixElement() [1/7]

 Herwig::ProductionMatrixElement::ProductionMatrixElement ( PDT::Spin in1, PDT::Spin in2, PDT::Spin out )

Constructor for 2-1 scattering.

Parameters
 in1 for the first incoming particle. in2 for the second incoming particle. out for the outgoing particle.

◆ ProductionMatrixElement() [2/7]

 Herwig::ProductionMatrixElement::ProductionMatrixElement ( PDT::Spin in1, PDT::Spin in2, PDT::Spin out1, PDT::Spin out2 )

Constructor for 2-2 scattering.

Parameters
 in1 for the first incoming particle. in2 for the second incoming particle. out1 for the first outgoing particle. out2 for the second outgoing particle.

◆ ProductionMatrixElement() [3/7]

 Herwig::ProductionMatrixElement::ProductionMatrixElement ( PDT::Spin in1, PDT::Spin in2, PDT::Spin out1, PDT::Spin out2, PDT::Spin out3 )

Constructor for 2-3 scattering.

Parameters
 in1 for the first incoming particle. in2 for the second incoming particle. out1 for the first outgoing particle. out2 for the second outgoing particle. out3 for the third outgoing particle.

◆ ProductionMatrixElement() [4/7]

 Herwig::ProductionMatrixElement::ProductionMatrixElement ( PDT::Spin in1, PDT::Spin in2, PDT::Spin out1, PDT::Spin out2, PDT::Spin out3, PDT::Spin out4 )

Constructor for 2-4 scattering.

Parameters
 in1 for the first incoming particle. in2 for the second incoming particle. out1 for the first outgoing particle. out2 for the second outgoing particle. out3 for the third outgoing particle. out4 for the fourth outgoing particle.

◆ ProductionMatrixElement() [5/7]

 Herwig::ProductionMatrixElement::ProductionMatrixElement ( PDT::Spin in1, PDT::Spin in2, PDT::Spin out1, PDT::Spin out2, PDT::Spin out3, PDT::Spin out4, PDT::Spin out5 )

Constructor for 2-5 scattering.

Parameters
 in1 for the first incoming particle. in2 for the second incoming particle. out1 for the first outgoing particle. out2 for the second outgoing particle. out3 for the third outgoing particle. out4 for the fourth outgoing particle. out5 for the fifth outgoing particle.

◆ ProductionMatrixElement() [6/7]

 Herwig::ProductionMatrixElement::ProductionMatrixElement ( PDT::Spin in1, PDT::Spin in2, PDT::Spin out1, PDT::Spin out2, PDT::Spin out3, PDT::Spin out4, PDT::Spin out5, PDT::Spin out6 )

Constructor for 2-6 scattering.

Parameters
 in1 for the first incoming particle. in2 for the second incoming particle. out1 for the first outgoing particle. out2 for the second outgoing particle. out3 for the third outgoing particle. out4 for the fourth outgoing particle. out5 for the fifth outgoing particle. out6 for the sixth outgoing particle.

◆ ProductionMatrixElement() [7/7]

 Herwig::ProductionMatrixElement::ProductionMatrixElement ( PDT::Spin in1, PDT::Spin in2, vector< PDT::Spin > out )

Constructor for 2-n scattering.

Parameters
 in1 for the first incoming particle. in2 for the second incoming particle. out A vector containing for the outgoing particles.

◆ inspin()

 vector Herwig::ProductionMatrixElement::inspin ( )
inline

Get the spins of the incoming particles particle.

Returns
A vector containing for the two incoming particles.

Definition at line 132 of file ProductionMatrixElement.h.

◆ operator()() [1/14]

 Complex Herwig::ProductionMatrixElement::operator() ( unsigned int in1, unsigned int in2, unsigned int out ) const

Access the helicity components for a 2-1 scattering.

This method supplies the component but does not allow it to be changed.

Parameters
 in1 The helicity of the first incoming particle. in2 The helicity of the second incoming particle. out The helicity of the outgoing particle.
Returns
The matrix element for the given helicities.

◆ operator()() [2/14]

 Complex& Herwig::ProductionMatrixElement::operator() ( unsigned int in1, unsigned int in2, unsigned int out )

Access the helicity components for a 2-1 scattering.

This method supplies the component and allows it to be changed.

Parameters
 in1 The helicity of the first incoming particle. in2 The helicity of the second incoming particle. out The helicity of the outgoing particle.
Returns
The matrix element for the given helicities.

◆ operator()() [3/14]

 Complex Herwig::ProductionMatrixElement::operator() ( unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2 ) const

Access the helicity components for a 2-2 scattering.

This method supplies the component but does not allow it to be changed.

Parameters
 in1 The helicity of the first incoming particle. in2 The helicity of the second incoming particle. out1 The helicity of the first outgoing particle. out2 The helicity of the second outgoing particle.
Returns
The matrix element for the given helicities.

◆ operator()() [4/14]

 Complex& Herwig::ProductionMatrixElement::operator() ( unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2 )

Access the helicity components for a 2-2 scattering.

This method supplies the component and allows it to be changed.

Parameters
 in1 The helicity of the first incoming particle. in2 The helicity of the second incoming particle. out1 The helicity of the first outgoing particle. out2 The helicity of the second outgoing particle.
Returns
The matrix element for the given helicities.

◆ operator()() [5/14]

 Complex Herwig::ProductionMatrixElement::operator() ( unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3 ) const

Access the helicity components for a 2-3 scattering.

This method supplies the component but does not allow it to be changed.

Parameters
 in1 The helicity of the first incoming particle. in2 The helicity of the second incoming particle. out1 The helicity of the first outgoing particle. out2 The helicity of the second outgoing particle. out3 The helicity of the third outgoing particle.
Returns
The matrix element for the given helicities.

◆ operator()() [6/14]

 Complex& Herwig::ProductionMatrixElement::operator() ( unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3 )

Access the helicity components for a 2-3 scattering.

This method supplies the component and allows it to be changed.

Parameters
 in1 The helicity of the first incoming particle. in2 The helicity of the second incoming particle. out1 The helicity of the first outgoing particle. out2 The helicity of the second outgoing particle. out3 The helicity of the third outgoing particle.
Returns
The matrix element for the given helicities.

◆ operator()() [7/14]

 Complex Herwig::ProductionMatrixElement::operator() ( unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4 ) const

Access the helicity components for a 2-4 scattering.

This method supplies the component but does not allow it to be changed.

Parameters
 in1 The helicity of the first incoming particle. in2 The helicity of the second incoming particle. out1 The helicity of the first outgoing particle. out2 The helicity of the second outgoing particle. out3 The helicity of the third outgoing particle. out4 The helicity of the fourth outgoing particle.
Returns
The matrix element for the given helicities.

◆ operator()() [8/14]

 Complex& Herwig::ProductionMatrixElement::operator() ( unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4 )

Access the helicity components for a 2-4 scattering.

This method supplies the component and allows it to be changed.

Parameters
 in1 The helicity of the first incoming particle. in2 The helicity of the second incoming particle. out1 The helicity of the first outgoing particle. out2 The helicity of the second outgoing particle. out3 The helicity of the third outgoing particle. out4 The helicity of the fourth outgoing particle.
Returns
The matrix element for the given helicities.

◆ operator()() [9/14]

 Complex Herwig::ProductionMatrixElement::operator() ( unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4, unsigned int out5 ) const

Access the helicity components for a 2-5 scattering.

This method supplies the component but does not allow it to be changed.

Parameters
 in1 The helicity of the first incoming particle. in2 The helicity of the second incoming particle. out1 The helicity of the first outgoing particle. out2 The helicity of the second outgoing particle. out3 The helicity of the third outgoing particle. out4 The helicity of the fourth outgoing particle. out5 The helicity of the fifth outgoing particle.
Returns
The matrix element for the given helicities.

◆ operator()() [10/14]

 Complex& Herwig::ProductionMatrixElement::operator() ( unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4, unsigned int out5 )

Access the helicity components for a 2-5 scattering.

This method supplies the component and allows it to be changed.

Parameters
 in1 The helicity of the first incoming particle. in2 The helicity of the second incoming particle. out1 The helicity of the first outgoing particle. out2 The helicity of the second outgoing particle. out3 The helicity of the third outgoing particle. out4 The helicity of the fourth outgoing particle. out5 The helicity of the fifth outgoing particle.
Returns
The matrix element for the given helicities.

◆ operator()() [11/14]

 Complex Herwig::ProductionMatrixElement::operator() ( unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4, unsigned int out5, unsigned int out6 ) const

Access the helicity components for a 2-6 scattering.

This method supplies the component but does not allow it to be changed.

Parameters
 in1 The helicity of the first incoming particle. in2 The helicity of the second incoming particle. out1 The helicity of the first outgoing particle. out2 The helicity of the second outgoing particle. out3 The helicity of the third outgoing particle. out4 The helicity of the fourth outgoing particle. out5 The helicity of the fifth outgoing particle. out6 The helicity of the sixth outgoing particle.
Returns
The matrix element for the given helicities.

◆ operator()() [12/14]

 Complex& Herwig::ProductionMatrixElement::operator() ( unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4, unsigned int out5, unsigned int out6 )

Access the helicity components for a 2-6 scattering.

This method supplies the component and allows it to be changed.

Parameters
 in1 The helicity of the first incoming particle. in2 The helicity of the second incoming particle. out1 The helicity of the first outgoing particle. out2 The helicity of the second outgoing particle. out3 The helicity of the third outgoing particle. out4 The helicity of the fourth outgoing particle. out5 The helicity of the fifth outgoing particle. out6 The helicity of the sixth outgoing particle.
Returns
The matrix element for the given helicities.

◆ operator()() [13/14]

 Complex Herwig::ProductionMatrixElement::operator() ( vector< unsigned int > hel ) const

Access the helicity components for a 2-n scattering.

This method supplies the component but does not allow it to be changed.

Parameters
 hel The helicities of the incoming and outgoing particles
Returns
The matrix element for the given helicities.

◆ operator()() [14/14]

 Complex& Herwig::ProductionMatrixElement::operator() ( vector< unsigned int > hel )

Access the helicity components for a 2-n scattering.

This method supplies the component and allows it to be changed.

Parameters
 hel The helicities of the incoming and outgoing particles
Returns
The matrix element for the given helicities.

◆ outspin()

 vector Herwig::ProductionMatrixElement::outspin ( )
inline

Get the spins of the outgoing particles.

Returns
A vector containing for the outgoing particles.

Definition at line 138 of file ProductionMatrixElement.h.

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